Workspace 7.0.2
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
CSIRO::DataExecution Namespace Reference

Base workspace functionality not requiring a user interface. More...

Namespaces

namespace  DataExecutionPrivate
 
namespace  ModifyObjectDictionaryWidgetPrivate
 
namespace  TypedDataFactoryPrivate
 
namespace  TypedObjectPrivate
 
namespace  Ui
 
namespace  UndoCommands
 

Classes

class  AbortedUpdateEvent
 Event issued when an Updater aborts processing its update set. More...
 
class  AbortedWorkspaceUpdateMessage
 Represents a message sent by a remote scheduler to a workspace client indicating that the remotely executing workspace has aborted updating. More...
 
class  AbortReason
 class to give execution abort a reason. More...
 
class  AbstractCache
 
class  AbstractRemoteScheduler
 
class  AbstractRemoteServer
 
class  AbstractScheduler
 
class  AdaptedConnection
 
class  AddConnectionEvent
 Event emitted by a Workspace whenever a connection is added to it. More...
 
class  AddOperationEvent
 Event emitted by a Workspace whenever an operation is added to it. More...
 
class  AllObservableEvents
 Special event type for observers to use when they want all events, not just a specific event type. More...
 
class  AnchorData
 
class  Assertion
 Halts execution if its input is false. More...
 
struct  AssignDataType
 Traits class defining whether a class T supports assignment. More...
 
struct  AssignDataType< CSIRO::DataAnalysis::Array3dNullTyped< QRgb > >
 
struct  AssignDataType< CSIRO::DataAnalysis::Array3dTyped< QRgb > >
 
struct  AssignDataType< CSIRO::Mesh::Array3dNullVector >
 
struct  AssignDataType< CSIRO::Mesh::Array3dVector >
 
struct  AssignDataType< CSIRO::Mesh::MeshModelInterface >
 
struct  AssignDataType< CSIRO::Provenance::ProvenanceReporter::Reporter >
 
struct  AssignDataType< DataAnalysis::ArrayNd >
 
struct  AssignDataType< DataAnalysis::DataSeriesMapper >
 
struct  AssignDataType< DataAnalysis::ImageTileSet >
 
struct  AssignDataType< DataAnalysis::SqlBoundObjectGroup >
 
struct  AssignDataType< DataAnalysis::SqlResultSet >
 
struct  AssignDataType< Mesh::ElementCriterion >
 
struct  AssignDataType< Mesh::ElementCriterionAllPass >
 
struct  AssignDataType< Mesh::ElementCriterionInRegion >
 
struct  AssignDataType< Mesh::ElementMapper >
 
struct  AssignDataType< Mesh::MeshModelSource >
 
struct  AssignDataType< Mesh::NodeCriterion >
 
struct  AssignDataType< Mesh::NodeCriterionAllPass >
 
struct  AssignDataType< Mesh::NodeCriterionInRegion >
 
struct  AssignDataType< Mesh::NodeIdCriterion >
 
struct  AssignDataType< Mesh::NodeMapper >
 
struct  AssignDataType< Mesh::Region >
 
struct  AssignDataType< Mesh::VectorNodeMapper >
 
struct  AssignDataType< Mqtt::MqttClient >
 
struct  AssignDataType< ObjectGroup >
 
struct  AssignDataType< Python::PythonNumpyInterface >
 
struct  AssignDataType< Rendering::Glypher >
 
struct  AssignDataType< Rendering::Light >
 
struct  AssignDataType< Rendering::Scene >
 
struct  AssignDataType< Rendering::SceneItem >
 
struct  AssignDataType< Rendering::Texturizer >
 
struct  AssignDataType< Rendering::Transform >
 
class  AssignInputData
 
class  AssignInputData< const char *const, V, typename std::enable_if< DeclaredAsWorkspaceDataType< V >::Is >::type >
 
class  AssignInputData< const char *const, V, typename std::enable_if<!DeclaredAsWorkspaceDataType< V >::Is >::type >
 
class  AssignmentAdaptor
 A TypeAdaptor class for converting between two types using assignment operator. More...
 
class  AssignmentAdaptorFactory
 A TypeAdaptorFactory for an adaptor converting between two types using assignment operator. More...
 
struct  AssignmentAdaptorImpl
 Default assignment implementation used by AssignmentAdaptor. More...
 
struct  AssignmentAdaptorImpl< double, int >
 Specialization for assigning a double to an integer. More...
 
struct  AssignNamedOperationInputsImpl
 
struct  AssignNamedOperationInputsImpl< Tuple, Offset, 0 >
 
struct  AssignNamedOperationInputsImpl< Tuple, Offset, 2 >
 
class  CacheData
 Cache values for associated keys. More...
 
class  CaptureLogToFile
 Writes the Workspace log to a file for the lifetime of the operation (after first execute). More...
 
class  CausedExecutionErrorEvent
 Event issued on something to indicate it was the cause of an execution error. More...
 
class  ChangeConnectionEnabledEvent
 Event emitted by a Workspace whenever a connections enabled status is changed. More...
 
class  ChangePriorityInQueueWorkspaceMessage
 Message reply with a list of Workspace in queue. More...
 
class  ClearWorkspaceHistoryMessage
 Message Request for cleaning up history. More...
 
class  ClientHeartbeatMessage
 Heartbeat between client and server to check server available. Client will constantly send this and server should reply as soon as possible. More...
 
struct  CloneDataType
 Traits class defining whether a class T supports cloning. More...
 
struct  CloneDataType< DataAnalysis::SqlResultSet >
 
struct  CloneDataType< Mesh::MeshModelSource >
 
struct  CloneDataType< Rendering::Scene >
 
struct  CloneDataType< Rendering::SceneItem >
 
struct  CloneDataType< Rendering::Transform >
 
class  ComesFromExternalEvent
 Event emitted when an updatable object potentially changes whether it comes from an external reference. More...
 
class  Compare
 Polymorphic operation for comparing between two different integral types. More...
 
struct  CompareDataType
 Traits class defining whether a class T supports comparison. More...
 
struct  CompareDataType< Dependency >
 
struct  CompareDataType< EmptyGroup >
 
struct  CompareDataType< ObjectGroup >
 
struct  CompareDataTypeImpl
 
struct  CompareDataTypeImpl< T, false >
 
class  ComposeGroup
 Composes an ObjectGroup from its components. More...
 
class  ConcatenateStrings
 Concatenate input strings. More...
 
class  ConditionalLoop
 An operation that iterates over its contents repeatedly while a condition is satisfied. More...
 
class  ConfigureFile
 Performs a copy and replace of an input file to a destination file replacing user specified symbols with user specified values. More...
 
class  ConfigureNewlines
 Performs a copy and replace of an input file to a destination file replacing newlines with platform specific newlines. More...
 
class  Connection
 Represents a connection of an output to an input. More...
 
class  ConnectionEvent
 Base class for Connection-related events. More...
 
class  ConnectionReference
 A class which stores a reference to a connection in a way that is agnostic to the connection instance that is supplied (referenced connection's memory location). More...
 
class  ConnectionWrapper
 Convenience wrapper around a Connection. More...
 
class  ConvertFromByteArray
 Save data to file. More...
 
class  ConvertQStringListToStringSelection
 Converts a QStringList into a StringSelection with control over what is selected. More...
 
class  ConvertToByteArray
 Save data to file. More...
 
class  CountedLoop
 An operation that allows the user to create a loop with a built in counter. More...
 
class  CreateObjectDictionary
 Operation for creating a group of data for attaching to a chart. More...
 
class  CreateObjectDictionaryPropertiesWidget
 
class  CreateTemporaryFileName
 Uses QTemporaryFile to provide a filename that can be written to. More...
 
class  CustomInputsOutputsOperation
 Base class for operations where user can add and remove inputs and outputs. More...
 
class  DataAccumulatingOperation
 An operation that iterates over its contents repeatedly. More...
 
class  DataFactory
 Base class for all data type factories. More...
 
class  DataFactoryTraits
 Traits class for data objects of type T. More...
 
class  DataObject
 Base class for all data objects. More...
 
class  DataTable
 This class defines the DataTable data type. A DataTable is a table that contains a set of columns and a collection of data records (i.e. rows). More...
 
class  DataTableColumn
 This class defines a column in the DataTable. A column is like a field in a database. More...
 
class  DateTimeToStringAdaptor
 Adapts a QDateTime object to a QString object. More...
 
struct  DeclaredAsWorkspaceDataType
 Traits class defining whether a class T is or isn't a Workspace data type. This will have Is set to 0 unless a DECLARE_WORKSPACE_DATA_TYPE macro has been used to declare the type as a Workspace-compatible type. More...
 
struct  DeclaredAsWorkspaceDataType< bool >
 
struct  DeclaredAsWorkspaceDataType< char >
 
struct  DeclaredAsWorkspaceDataType< CSIRO::DataAnalysis::DiscreteNamedDimensionRangeFilter >
 
struct  DeclaredAsWorkspaceDataType< CSIRO::DataAnalysis::DiscreteNamedDimensionRangeFilter::Operator >
 
struct  DeclaredAsWorkspaceDataType< CSIRO::DataAnalysis::NamedDimensionRangeFilter >
 
struct  DeclaredAsWorkspaceDataType< CSIRO::DataAnalysis::NullNamedDimensionRangeFilter >
 
struct  DeclaredAsWorkspaceDataType< CSIRO::DataExecution::DirIteratorFlags >
 
struct  DeclaredAsWorkspaceDataType< CSIRO::DataExecution::FileFilter >
 
struct  DeclaredAsWorkspaceDataType< CSIRO::DataExecution::FileSortFlags >
 
struct  DeclaredAsWorkspaceDataType< CSIRO::DataExecution::StringSelection >
 
struct  DeclaredAsWorkspaceDataType< double >
 
struct  DeclaredAsWorkspaceDataType< float >
 
struct  DeclaredAsWorkspaceDataType< int >
 
struct  DeclaredAsWorkspaceDataType< long >
 
struct  DeclaredAsWorkspaceDataType< long double >
 
struct  DeclaredAsWorkspaceDataType< QByteArray >
 
struct  DeclaredAsWorkspaceDataType< QDate >
 
struct  DeclaredAsWorkspaceDataType< QDateTime >
 
struct  DeclaredAsWorkspaceDataType< QJsonDocument >
 
struct  DeclaredAsWorkspaceDataType< QPointF >
 
struct  DeclaredAsWorkspaceDataType< QQuaternion >
 
struct  DeclaredAsWorkspaceDataType< QStringList >
 
struct  DeclaredAsWorkspaceDataType< QTime >
 
struct  DeclaredAsWorkspaceDataType< QVariant >
 
struct  DeclaredAsWorkspaceDataType< QVector< int > >
 
struct  DeclaredAsWorkspaceDataType< signed char >
 
struct  DeclaredAsWorkspaceDataType< uchar >
 
struct  DeclaredAsWorkspaceDataType< uint >
 
struct  DeclaredAsWorkspaceDataType< ulong >
 
struct  DeclaredAsWorkspaceDataType< ushort >
 
class  DecomposeGroup
 Decomposes an ObjectGroup into its immediate child components. More...
 
class  DecomposeObjectDictionary
 Operation for creating a group of data for attaching to a chart. More...
 
class  DecomposeObjectDictionaryPropertiesWidget
 
class  DeepConvertQVariant
 Deep converts QVariantMap/List to ObjectDictionary/Array unlike automatic adaptor which only converts top level. More...
 
class  DefaultOutputStream
 A default output stream which writes log messages to the std::ostream supplied to it. More...
 
class  DefaultOutputStreamBase
 
class  DelayScheduledWorkspaceMessage
 Message created when a workspace is delayed. More...
 
class  DeleteFromDirectory
 Deletes file and/or directories matching a given regular expression. More...
 
class  DeletingIOBaseEvent
 Event class raised when an input/output is being deleted. More...
 
class  Dependency
 Empty class used to represent dependencies in inputs and outputs. More...
 
class  DependencyDateTimeAdaptor
 Adapts a Dependency object to a QDateTime object. More...
 
class  DerivedToBaseAdaptor
 A TypeAdaptor class for converting a derived class to a base class. More...
 
class  DerivedToBaseAdaptorFactory
 A TypeAdaptorFactory class for an adaptor converting a derived class to a base class. More...
 
class  DirectConnection
 
class  DirIteratorFlags
 An object group containing directory iterator options. More...
 
class  DiskCache
 
class  DiskCacheTraits
 
class  DistributedLogPackage
 
class  DistributedLogSink
 
class  DoubleToString
 Converts a double into a string. More...
 
class  DoubleToStringAdaptor
 
class  EmptyGroup
 An empty object group. More...
 
class  EnumToIntAdaptor
 A TypeAdaptor class for converting a derived class to a base class. More...
 
class  EnumToIntAdaptorFactory
 A TypeAdaptorFactory class for an adaptor converting an enum to an int. More...
 
class  EventID
 Subclassed and instantiated exactly once for each event type. More...
 
class  EventIDSingleton
 
class  ExecutionDebugger
 
class  ExecutionEvent
 Base class for events issued by an Updater. More...
 
class  ExecutionPauser
 Pauses an executing workflow for the life of this object. More...
 
class  ExecutionTimekeeper
 This class is a singleton and receives all notifications about operations' execution. It then sends a signal notifying the event. Any component wishing to make use of the operations' execution events should connect to this singleton and watch for the signal. More...
 
class  Exists
 Operation to find out if a file, directory, etc. exists. More...
 
struct  ExtractNamedOperationOutputsImpl
 
struct  ExtractNamedOperationOutputsImpl< Tuple, Offset, 0 >
 
struct  ExtractNamedOperationOutputsImpl< Tuple, Offset, 2 >
 
class  ExtractOutputData
 
class  ExtractOutputData< const char *, V, typename std::enable_if< DeclaredAsWorkspaceDataType< V >::Is >::type >
 
class  ExtractOutputData< const char *, V, typename std::enable_if<!DeclaredAsWorkspaceDataType< V >::Is >::type >
 
class  ExtrasUpdatedEvent
 Event issued by workspace elements after they reload their "extras" data. More...
 
class  FailedToScheduleWorkspaceMessage
 Message created when a workspace has failed to be scheduled by a remote scheduler. More...
 
class  FileFilter
 An object group containing file filter options. More...
 
class  FileInfo
 Get information about a file or path - See QFileInfo. More...
 
class  FileIterator
 An operation that allows the user to iterate over a series of files in a directory. More...
 
class  FileLoop
 A type of loop operation that iterates over the contents of a directory. More...
 
class  FilePathBuilder
 Operation for creating a group of data for attaching to a chart. More...
 
class  FilePathBuilderPropertiesWidget
 
class  FileSeriesFormat
 Deconstruct the format of the path of a file in a file series. More...
 
class  FileSortFlags
 An object group containing file sorting options. More...
 
class  FileWatcher
 This operation watches for any modifications of a file whose name is given in input. If the file is created, deleted or edited, the operation will set itself and its output to not up-to-date. This is supposed to trigger its re-execution and that of the downstream operations. If the file name in input is a directory then this operation will watch for any modifications made to that directory, including its creation, deletion and the creation and deletion of files or subdirectories in that directory. Note however that editing an existing file in the directory is not considered a modification of the directory itself, hence no trigger in this case. More...
 
class  FilterObjectDictionary
 Demo operation. More...
 
class  FinishedExecutionEvent
 Event issued when an Updater stops running. More...
 
class  FinishedUpdateEvent
 Event issued when an Updater finishes processing its update set. More...
 
class  FinishedWorkspaceExecutionMessage
 Represents a message sent by a remote scheduler to a workspace client indicating that the remotely executing workspace has finished execution. More...
 
class  FinishedWorkspaceUpdateMessage
 Represents a message sent by a remote scheduler to a workspace client indicating that the remotely executing workspace has finished updating. More...
 
class  ForLoop
 An operation that iterates over its contents repeatedly. More...
 
class  FormatString
 Operation for formatting a string from a set of input variables. More...
 
class  ForwardNotifications
 Allows one Observable object to mimic another for a specific event type. More...
 
class  GeneralObserver
 Generalized observer used primarily by the templated ObserverSet::add() implementation. More...
 
class  GeneralObserver< SenderEventType, ReceiverEventType, ReceiverType, ReceiverOrBaseType, ReturnType, ThreadedObserver >
 Specialization for a threaded GeneralObserver. More...
 
class  GeneralObserver< SenderEventType, ReceiverEventType, ReceiverType, ReceiverOrBaseType, ReturnType, ThreadSafeObserver >
 Specialization for a thread-safe GeneralObserver. More...
 
class  GenerateUuid
 Generate a UUID string. More...
 
class  GetCurrentTime
 Retrieves the current time. More...
 
class  GetEnvironment
 Retrieves a specified value from the current environment. More...
 
class  GetFile
 Operation to get a file from a possibly remote location. More...
 
class  GetHostInfo
 Wrapper for QtHostInfo. More...
 
class  GetItemFromJson
 Operation to extract an item (including nested items) from a QJsonDocument. More...
 
class  GetItemFromObjectDictionary
 Operation to extract an item (including nested items) from an ObjectDictionary. More...
 
class  GetListAllWorkspaceMessage
 Message Request for a list of all Workspace workflows. More...
 
class  GetListQueueWorkspaceMessage
 Message Request for a list of Workspace in queue. More...
 
class  GetWorkflowFileName
 Returns the name of the current workflow (if there is one) More...
 
class  GetWorkspaceDetailMessage
 Message Request for details of a specific Workspace workflow. More...
 
class  GetWorkspaceLabel
 Outputs the difference between to QDateTimes with precision to the nearest second. More...
 
class  GlobalNameChangedEvent
 Event class raised after an updatable object has its global name changed. More...
 
class  GlobalNameDuplicatedEvent
 Event class raised after an updatable object has its global name changed. More...
 
class  GlobalNameSerializer
 This class provides serialization of global names for a Workspace-based application. More...
 
class  HandshakeMessage
 Handshake between client and server to check server available. Server will use this message to pass a session ID to identify a client. More...
 
class  HeartbeatMessage
 Heartbeat between client and server to check client available. Server will constantly send this and client should reply as soon as possible. More...
 
class  HttpRequest
 Operation to perform a HTTP request. More...
 
class  Incrementer
 A reset-able operation that outputs a value that is incremented each time it executes. More...
 
class  InitializedVariable
 A variable that can be populated and then modified. More...
 
class  Input
 Base class for operation inputs. More...
 
class  InputAddedEvent
 Even raised when an input is added to an Operation. More...
 
class  InputArray
 Array input class (multiple outputs can connect to it at a time). More...
 
class  InputElementAddedEvent
 Event class for when an element is added to an InputArray. More...
 
class  InputElementEvent
 Base class for events related to elements of an InputArray. More...
 
class  InputElementRemovalEvent
 Event class for when an element is about to be removed from an InputArray. More...
 
class  InputRebuiltEvent
 Event class raised after a scalar input is rebuilt. More...
 
class  InputRemovalEvent
 Even raised when an input is about to be removed from an Operation. More...
 
class  InputScalar
 Scalar input class (only one output can connect to it at a time). More...
 
class  InsertIntoObjectDictionary
 Add a new object to an ObjectDictionary. More...
 
class  IntToString
 Converts an int into a string. More...
 
class  IntToStringAdaptor
 
class  InvalidIONameError
 Exception thrown when trying to access an Operation input or output with a name that doesn't exist. More...
 
class  IOBase
 Base class for all inputs and outputs. More...
 
class  IOBaseDataObjectChangedEvent
 Event class raised after the data object of an input/output is changed. More...
 
class  IOBaseRenamedEvent
 Event class raised after an input/output is renamed. More...
 
class  IOBaseVisiblityToggledEvent
 Event for when an IOBase's visibility flag is toggled. More...
 
class  IteratingOperation
 
class  IteratingOperationBase
 Base class for operations that iterate over a workflow one or more times. More...
 
class  IteratingWorkspace
 Class representing an iterating Workspace, parallel or otherwise. More...
 
class  IteratingWorkspaceBase
 
class  JoinStrings
 Takes a QStringList and outputs a QString with delimiters. More...
 
class  JsonObjectGroupAdaptor
 Template adaptor for adapting QJsonDocument from/to an ObjectGroup-derived class. More...
 
class  JsonObjectGroupAdaptor< From, QJsonDocument >
 A TypeAdaptor class for converting from Json to an ObjectGroup. More...
 
class  JsonObjectGroupAdaptor< QJsonDocument, To >
 A TypeAdaptor class for converting from Json to an ObjectGroup. More...
 
class  JsonObjectGroupAdaptorBase
 Adaptor base class for converting from QJsonDocument to/from an ObjectGroup-derived class. More...
 
class  JsonObjectGroupAdaptorFactory
 A TypeAdaptorFactory for an adaptor converting from Json to an ObjectGroup type (or vice-versa) More...
 
class  JsonObjectGroupAdaptorFactory< From, QJsonDocument >
 Partial template specialisation for the ObjectGroup-derived class -> QJsonDocument case. More...
 
class  JsonObjectGroupAdaptorFactory< QJsonDocument, To >
 Partial template specialisation for the QJsonDocument -> ObjectGroup-derived class case. More...
 
class  ListDirectory
 List the contents of a directory, optionally with filtering. More...
 
class  LoadDataFromFile
 Load data from a file. More...
 
class  LogEvent
 each LogEvent More...
 
class  Logical
 
class  LogStream
 Abstracts away the task sending log text to a destination. More...
 
class  LogStreamFilter
 Filters out messages that match its categories. More...
 
class  LogText
 Operation to log text provided on an input. More...
 
class  LogToFile
 LogStream subclass for directing a log stream to file. More...
 
class  LogToGui
 LogStream subclass for directing a log stream to GUI application components. More...
 
class  LogToIpc
 A LogStream that forward log to Ipc. More...
 
class  MergeObjectDictionaries
 Merge an ObjectDictionary into another existing one. More...
 
class  MiniOperationRackData
 
class  ModifyGroup
 Allows a user to modify select members of a modify group. More...
 
class  ModifyObjectDictionary
 Allows a user to modify an existing dictionary by adding or replacing items in it. More...
 
class  ModifyObjectDictionaryProperties
 
class  ModifyObjectDictionaryWidget
 Widget for editing the contents of a ModifyObjectDictionary. Intended for use as an additional tab to the operation properties dialog. More...
 
struct  MongoDbRemoteSchedulerDefs
 
struct  MongoDbSchedulerDefs
 
class  Multiplier
 Multiplies a set of numbers. More...
 
class  NoLock
 
class  NoteItemData
 
class  NullConnection
 
class  ObjectArray
 Generic array class for holding an array of DataObject's. More...
 
class  ObjectArrayAccessor
 Operation for accessing a particular item in an ObjectArray. More...
 
class  ObjectArrayBuilder
 Builder for creating an ObjectArray from an InputArray. More...
 
class  ObjectArrayInfo
 Operation for providing basic information about an ObjectArray. More...
 
class  ObjectArrayLoop
 A type of loop operation that iterates over and aggregates the contents of an ObjectArray. More...
 
class  ObjectDictionary
 Holds a named set of DataObject instances, previosuly DataAnalysis::DataCollection. More...
 
class  ObjectDictionaryInfo
 Operation providing basic information about an object dictionary. More...
 
class  ObjectDictionaryItemInfo
 Check if an item exists in an ObjectDictionary and get its details. More...
 
class  ObjectGroup
 Class for relating a group of DataObject instances together. More...
 
class  ObjectGroupQVariant
 
class  Observable
 Base class for all observable classes. More...
 
class  ObservableEvent
 Each instance of an ObservableEvent subclass can be used as a unique event designator. More...
 
class  ObservableEventType
 All events must be a subclass of this template. More...
 
class  Observer
 Base class for all observers. More...
 
class  ObserverSet
 Container for holding dynamically allocated observers. More...
 
struct  OffsetSequence
 
struct  OffsetSequence< N, std::index_sequence< Ints... > >
 
class  OOPScheduler
 
class  OOPSchedulerConfigurationWidget
 A widget for configuring a oop based scheduler. More...
 
struct  OopSchedulerDefs
 
class  OOPSchedulerProvider
 
class  Operation
 All workspace operations must derive from this class. More...
 
class  OperationBreakpointSetEvent
 Event raised when an operation's editable flag is changed. More...
 
class  OperationColorChangeEvent
 Event raised when an operation's background color is changed. More...
 
class  OperationEditableChangeEvent
 Event raised when an operation's editable flag is changed. More...
 
class  OperationEvent
 Base class for Operation-related events. More...
 
class  OperationFactory
 Base class for all operation factories. More...
 
class  OperationFactoryTraits
 Traits class for operations of type T. More...
 
class  OperationIconPathChangeEvent
 Event raised when an operation's icon is changed. More...
 
class  OperationIdChangeEvent
 
class  OperationIdPathChangeEvent
 Emitted when an operation's ancestry changes by being removed/added (either directly or indirectly) from a workflow. More...
 
class  OperationIdRegistry
 
class  OperationLabelChangeEvent
 Event raised when an operation's label is changed. More...
 
class  OperationRunner
 Runs an operation or workspace. The OperationRunner can be used to run a workspace or operation. To use simply construct the with a path to a workspace file, existing workspace or operation. WARNING: If your client code decides to perform its own wait logic then use the OperationRunner isRunning method and not the isRunning method on your provided Workspace. More...
 
class  OperationUiPathChangeEvent
 Event raised when an operation's background color is changed. More...
 
class  OperationUpdateEvent
 Event raised when an operation is being brought up to date. More...
 
class  OperationUpdateEventListMessage
 Represents a message sent by a remote scheduler to a workspace client that contains a list of operation update events in the remote execution. More...
 
class  OperationUpdateEventObserver
 An observer for passively monitoring OperationUpdateEvents on a particular operation. More...
 
class  Output
 Class for operation outputs. More...
 
class  OutputAddedEvent
 Even raised when an output is added to an Operation. More...
 
class  OutputRemovalEvent
 Even raised when an output is about to be removed from an Operation. More...
 
class  ParallelIteratingOperation
 Interface for iterating over a workflow in parallel using the Workspace scheduling infrastructure. More...
 
class  ParallelIteratingOperationBase
 
class  ParallelIteratingOperationMethodDispatcher
 Utility class to ensure that calls from arbitrary iteration threads are forwarded onto the ParallelIterator's thread to enable the calling iteration threads to return immeadiately i.e. not block. More...
 
class  ParallelIteratingWorkspace
 
class  ParallelIterationControlOperation
 
class  Pause
 Pauses for a specified number of milliseconds. More...
 
class  PauseQueueWorkspaceMessage
 Message pause Workspace in queue. More...
 
class  PauseUpdateEvent
 Event issued during execution whenever it is safe to perform non-connectivity changing actions on a workspace. More...
 
class  PlaceHolder
 Place holder used when a workspace is loaded an a particular operation type is unable to be provided. More...
 
class  PlatformInfo
 Provides information about the current platform. More...
 
class  PlaySoundEffect
 Operation for playing sound effects. More...
 
class  PluginInfo
 Provides information about a particular plugin. More...
 
class  PolymorphicDataOperation
 Base class for operations using a polymorphic type. More...
 
class  PolymorphicOperationDataNameChangeEvent
 
class  PostFile
 Operation to HTTP POST a file. More...
 
class  ProfilingLogPackage
 
struct  ProfilingTags
 
class  ProgressContributionChangeEvent
 Event raised when an operation's contribution to its parent workspace's progress is changed. More...
 
class  ProgressEvent
 Event for communicating progress of an operation. More...
 
class  PromptToAddWorkspaceOutput
 Event issued to prompt user if they would like to create a WorkspaceOutput that matches with the specified Output. More...
 
class  QtInfo
 Provides some basic info about the specific version of Qt used for building and running. More...
 
class  QtScriptEnginePool
 Provides a means to create just one engine pool per thread. More...
 
class  QVariantToQVectorDateTimeAdaptor
 Adapts a QVariant to a QVector<QDateTime> More...
 
class  QVariantToQVectorDoubleAdaptor
 Adapts a QVariant to a QVector<double> More...
 
class  QVariantToQVectorIntAdaptor
 Adapts a QVariant to a QVector<int> More...
 
class  ReadBinaryFile
 Read a file to a QByteArray. More...
 
class  ReadFileToString
 Reads a text file and stores it as a string. More...
 
class  ReadJsonFile
 Read a JSON file. More...
 
class  RemoteResource
 
class  RemoveConnectionEvent
 Event emitted by a Workspace whenever a connection is removed from it. More...
 
class  RemoveOperationEvent
 Event emitted by a Workspace whenever an operation is removed from it. More...
 
class  ReplaceString
 Substitutes all instances of one string for another. More...
 
class  ReplaceStrings
 Substitutes all instances of one string for another using a dictionary of replacements. More...
 
class  ResetDependency
 Resets its dependency output when a workspace is being executed continuously. More...
 
class  ResolveAbsoluteFilePath
 Generates an absolute path from a workspace-relative path. More...
 
class  ResumeQueueWorkspaceMessage
 Message resume Workspace in queue. More...
 
class  ResyncExtrasEvent
 Event issued by workspace elements when they need to be sure their "extras" data is up to date. More...
 
class  RunOperationsInParallel
 Run operations in parallel. More...
 
class  RunQtScript
 Runs a QtScript program. More...
 
class  RunQtScriptPropertiesWidget
 
class  SaveDataToFile
 Save data to file. More...
 
class  SchedulerClient
 
class  SchedulerConfigurationDialog
 The base class for all widgets that provide scheduler specific settings. More...
 
class  SchedulerConfigurationWidget
 
class  SchedulerController
 Schedules both the local and remote execution of workspaces. The SchedulerController manages the scheduling of workspaces. A workspace can be scheduled to run either locally or remotely. The SchedulerController determines the optimum number of jobs that can be run locally, once exceeded, any additional workspaces are then remoted (subject to the availability of remote workspace-servers and the suitability of the workspace to be scheduled). If a workspace fails to be executed remotely then the workspace is scheduled locally. Irrespective of the location of workspace execution the key workspace events i.e. Start/Stop execution and Start/Stop update are observed. Workspace events that occurr on a remote machine find their way back to the scheduler by way of network messages that are translated and re-emitted locally to provide the appearance of local execution. The SchedulerController also emits significant workspace and scheduler related events that can be observed in case additional notification and/or processing is required in response to these events. More...
 
class  SchedulerFeature
 
class  SchedulerFeatureListDialog
 The base class for all widgets that provide scheduler specific settings. More...
 
class  SchedulerFeatureListWidget
 Provides a widget that supports the adding and removing of features. More...
 
class  SchedulerFeatures
 Maintains a collection of scheduler features. More...
 
class  SchedulerListWidget
 Provides a view of client-side settings relating to remote execution. More...
 
class  SchedulerProvider
 The base class of all authentication providers. More...
 
class  SchedulerProviderManager
 Maintains a list of scheduler providers. More...
 
class  SchedulerRequest
 Handles the scheduling and lifetime management of a scheduler request. The scheduling of a request can involve either running the request locally or distributing the execution of the request to other remotely hosted schedulers. An instance of this class is created by the scheduler to handle the scheduling of a single request, to observe and process its events (received either locally or via network messages) and to collect and store data related to executing request as it works its way through the system. More...
 
class  SchedulerRequests
 
class  Schedulers
 Maintains a collection of remote schedulers. More...
 
class  SchedulerSettings
 Provides access to client side authentication settings. More...
 
class  SchedulerTcpMessage
 The base class of tcp messages sent by a scheduler. More...
 
class  ScheduleWorkspaceExecutionMessage
 Use this message to schedule the execution of a workspace on a remote machine. More...
 
class  SelectInput
 Select an input from an array input based on the value of another input. More...
 
class  Serialize
 Base class for all objects that may want to support serialization. More...
 
struct  SerializeDataType
 Traits class defining whether detection of serialization support for class T is permitted. More...
 
struct  SerializeDataType< Mesh::MeshModelSource >
 
class  SerializedItem
 Class to hold a serialized representation of an object. More...
 
class  SerializedTree
 Class to hold a serialized representation of a tree of objects. More...
 
class  SerializedTreeIO
 Interface for reading or writing out a serialized tree in a specific format. More...
 
class  SerializedTreeJsonIO
 Interface for writing out a serialized tree in an JSON format. More...
 
class  SerializedTreeXmlIO
 Interface for writing out a serialized tree in an XML format. More...
 
class  SerializingInputEvent
 Event class raised when InputScalar::save() is called just before the input's values are serialized. More...
 
class  ServerLoadMessage
 Send summary of server load to client. Server will constantly send this. More...
 
class  ServerWidget
 Provides a view of settings relating to authenticated entity management. More...
 
class  SetModifyObjectDictionaryInputsCmd
 Command class for setting the inputs on a ModifyObjectDictionary operation. More...
 
class  SetSelectedStringByIndex
 Put a one-line description of your operation here. More...
 
class  SetSelectedStringByString
 Set the selected item in a StringList. More...
 
class  SetWorkingDirectory
 
class  SharedInfo
 Allows to get shared info of a specified DataObject. More...
 
class  SimpleAdaptor
 A TypeAdaptor class for converting between two types using an adapt(From, To) func. More...
 
class  SimpleAdaptorFactory
 A TypeAdaptorFactory for an adaptor converting between two types using an adapt(From, To) func. More...
 
class  SimpleDataObjectAdaptor
 A TypeAdaptor class for converting between two types using an adapt(DataObject from, DataObject to, bool copy) func. More...
 
class  SimpleFileWatcher
 
class  SimpleInput
 
class  SimpleInputArray
 
class  SimpleInputOutput
 
class  SimpleOutput
 
class  Socket
 
struct  SortDataType
 Traits class defining whether a class T can be sorted. This is important for some comparison operations. More...
 
struct  SortDataTypeImpl
 
struct  SortDataTypeImpl< T, false >
 
struct  SqlSchedulerDefs
 
class  StartedExecutionEvent
 Event issued when the event loop for an Updater starts running. More...
 
class  StartedUpdateEvent
 Event issued when an Updater starts processing its update set. More...
 
class  StartedWorkspaceExecutionMessage
 Represents a message sent by a remote scheduler to a workspace client indicating that the remotely executing workspace has started execution. More...
 
class  StartedWorkspaceUpdateMessage
 Represents a message sent by a remote scheduler to a workspace client indicating that the remotely executing workspace has started updating. More...
 
class  StatusFlipper
 Observer used to safely flip the up to date status of an Updatable object. More...
 
class  StopWorkspaceExecutionMessage
 Use this message to stop the execution of a workspace on a remote machine. More...
 
class  StringContains
 Check if a string contains a specified substring. More...
 
class  StringLength
 Determine the length of a string. More...
 
class  StringListBuilder
 Converts an array of QStrings to a QStringList. More...
 
class  StringListItem
 Returns the QString at a given index in a QStringList or an empty string if the index isn't valid. More...
 
class  StringSelection
 Provides a list of strings, one of which will be considered selected. More...
 
class  StringSelectionBuilder
 Builds a StringSelection from an arbritary number of QString's and StringSelection's. More...
 
class  StringSelectionFilter
 String list filter. More...
 
class  StringSelectionInfo
 Provides information about a StringSelection. More...
 
class  StringSelectionUpdatedEvent
 Event raised when the selected item in a string list changes. More...
 
class  StringToDouble
 Converts a string to a double. More...
 
class  StringToInt
 Converts a string to an integer. More...
 
class  SystemCommand
 Operation to execute a command in a child process. More...
 
class  Task
 The base class of a runnable task. More...
 
class  TcpMessage
 
class  TcpMessageFactory
 The base class of all tcp message factories. More...
 
class  TcpMessageSocketAdapter
 
class  TcpRemoteScheduler
 
class  TcpRemoteSchedulerConfigurationWidget
 A widget for configuring a tcp based scheduler. More...
 
class  TcpRemoteSchedulerSocketHandler
 
class  TcpScheduler
 
class  TcpSchedulerConfigurationWidget
 A widget for configuring a tcp based scheduler. More...
 
class  TcpSchedulerProvider
 
class  TextLogPackage
 
class  TextProvider
 Passes through text to the output. More...
 
class  ThreadSafeLock
 
class  Throttle
 An operation that throttles update speed to a nominated maximum rate. More...
 
class  TimeDifference
 Outputs the difference between to QDateTimes with precision to the nearest second. More...
 
class  TimeToStringAdaptor
 Adapts a QTime object to a QString object. More...
 
class  ToObjectArrayConnection
 
class  TranslateObjectDictionary
 A type of loop operation that iterates over the contents of an ObjectDictionary. More...
 
class  TreeSelectionBuilder
 Operation that constructs a tree of selectable tree items. More...
 
class  TreeSelectionBuilderPropertiesWidget
 
class  TryInputs
 Tries to update inputs in the input array until one succeeds. More...
 
class  TypeAdaptor
 Provides a way to adapt one type to another. More...
 
class  TypeAdaptorFactory
 Base class for all TypeAdaptorFactory instances. More...
 
class  TypedDataFactory
 Template for instantiating data factories for a particular type. More...
 
class  TypedObject
 Template for instantiating a smart pointer to a particular data type. More...
 
class  TypedObjectArray
 Convenience typed interface to an object array, which can be converted to a general ObjectArray in Workspace through use of a DerivedToBaseAdaptor. More...
 
class  TypedOperationFactory
 Operation factory class template. More...
 
class  Updatable
 Base class for all objects that are executable within a workspace. More...
 
class  UpdatableLog
 
class  UpdatablesMonitor
 An alternative template class that provides a single callback in response to a set of one or more provided updatable objects being up to date. More...
 
class  UpdatablesObserver
 A template class that provides a single callback in response to a set of one or more provided updatable objects being up to date. More...
 
class  UpdatablesObserverBase
 Base class for UpdatablesObserver to facilitate storage of lists of UpdatablesObserver objects for deletion at a later time. More...
 
class  UpdateBarrier
 Triggerable update of an input. More...
 
class  UpdateEvent
 Event emitted by an Updatable object when its up to date status is set to true. More...
 
class  Updater
 Updates a workspace. More...
 
class  UpdateSetProcessor
 
class  UrlMap
 
class  UserDefinedLogPackage
 
class  UuidGenerator
 Generates unique identifiers that are guaranteed to be unique. More...
 
class  Variable
 Allows an input to variable directly to the output. More...
 
class  WhileLoop
 An operation that allows the user to create a while loop - a loop that runs while its condition is 'true'. More...
 
class  Workspace
 Container for all workspace elements (operations, connections, etc.). More...
 
class  WorkspaceAtomicToggleEvent
 Event emitted when a Workspace operation has changed its atomic update behaviour flag. More...
 
struct  WorkspaceBrief
 
class  WorkspaceDeletedEvent
 Event emitted by a Workspace when it is deleted. More...
 
class  WorkspaceDetailMessage
 Message reply for details of a specific Workspace workflow. More...
 
class  WorkspaceElement
 All objects that can be created on a workspace must be derived from this. More...
 
class  WorkspaceEvent
 Base class for Workspace-related events. More...
 
class  WorkspaceExecutionFailedEvent
 Event issued when in-place execution of a Workspace has failed. More...
 
class  WorkspaceExecutionSucceededEvent
 Event issued when a Workspace has been executed in-place successfully. More...
 
class  WorkspaceInput
 Provides an input to a workspace. More...
 
class  WorkspaceListMessage
 Message reply with a list of Workspace in queue. More...
 
class  WorkspaceLogMessage
 Represents a message sent by a remote scheduler to a workspace client indicating that an operation in the remote workspace has notified a log message. More...
 
class  WorkspaceNamespaceEvent
 Event issued when namespace of a Workspace changes. More...
 
class  WorkspaceNotesEvent
 Event emitted when the notes for a Workspace changes. More...
 
class  WorkspaceOutOfDateEvent
 Event issued when a Workspace become not up to date. More...
 
class  WorkspaceOutput
 Provides an output for a workspace. More...
 
class  WorkspaceTcpMessage
 The base class of workspace-based Scheduler-originated network messages. More...
 
class  WorkspaceTcpMessageFactory
 The base class of all Scheduler-originated network messages. More...
 
class  WorkspaceUseCountReachedZeroEvent
 Event emitted by a Workspace when its internal reference count has reached zero. More...
 
class  WriteByteArrayToFile
 Writes a QByteArray to a binary file. More...
 
class  WriteStringToFile
 Writes a string to a text file. More...
 

Typedefs

typedef std::list< CheckedObserver > CheckedObserverList
 
typedef WorkspaceOutput DataRequester
 
typedef WorkspaceInput DataSource
 
using DoubleEqual = Logical< double, std::equal_to >
 
using DoubleGreater = Logical< double, std::greater >
 
using DoubleGreaterEqual = Logical< double, std::greater_equal >
 
using DoubleLess = Logical< double, std::less >
 
using DoubleLessEqual = Logical< double, std::less_equal >
 
using DoubleNotEqual = Logical< double, std::not_equal_to >
 
typedef QMap< QString, QString > GlobalNameMap
 
using IntegerEqual = Logical< int, std::equal_to >
 
using IntegerGreater = Logical< int, std::greater >
 
using IntegerGreaterEqual = Logical< int, std::greater_equal >
 
typedef Logical< int, std::less > IntegerLess
 
using IntegerLessEqual = Logical< int, std::less_equal >
 
using IntegerNotEqual = Logical< int, std::not_equal_to >
 
using LogicalAnd = Logical< bool, std::logical_and, true >
 
using LogicalNot = Logical< bool, std::logical_not >
 
using LogicalOr = Logical< bool, std::logical_or, true >
 
using Model = std::list< DataTableColumn >
 
using ModelIterator = Model::iterator
 
template<std::size_t N, typename Seq >
using OffsetSequence_t = typename OffsetSequence< N, Seq >::type
 
using Record = QHash< QString, QSharedPointer< DataObject > >
 
using Scheduler = SchedulerController
 
using StringEqual = Logical< QString, std::equal_to >
 
using StringGreater = Logical< QString, std::greater >
 
using StringGreaterEqual = Logical< QString, std::greater_equal >
 
using StringLess = Logical< QString, std::less >
 
using StringLessEqual = Logical< QString, std::less_equal >
 
using StringNotEqual = Logical< QString, std::not_equal_to >
 
typedef QList< Updatable * > Updatables
 
using WorkspaceIdentifierType = const Workspace *
 

Enumerations

enum  ObserverThreadType
 

Functions

bool adapt (const bool &from, QByteArray &to)
 
bool adapt (const bool &from, QString &to)
 
bool adapt (const double &from, float &to)
 
bool adapt (const double &from, QByteArray &to)
 
bool adapt (const int &from, QByteArray &to)
 
bool adapt (const ObjectArray &from, QByteArray &to)
 
bool adapt (const ObjectArray &from, QJsonDocument &to)
 
bool adapt (const ObjectArray &from, QStringList &to)
 
bool adapt (const ObjectDictionary &from, QByteArray &to)
 
bool adapt (const ObjectDictionary &from, QJsonDocument &to)
 
bool adapt (const ObjectGroup &from, QJsonDocument &to)
 
bool adapt (const QByteArray &from, bool &to)
 
bool adapt (const QByteArray &from, double &to)
 
bool adapt (const QByteArray &from, int &to)
 
bool adapt (const QByteArray &from, ObjectArray &to)
 
bool adapt (const QByteArray &from, ObjectDictionary &to)
 
bool adapt (const QByteArray &from, QJsonDocument &to)
 
bool adapt (const QByteArray &from, QString &to)
 
bool adapt (const QJsonArray &from, ObjectArray &to)
 
bool adapt (const QJsonDocument &from, ObjectArray &to)
 
bool adapt (const QJsonDocument &from, ObjectDictionary &to)
 
bool adapt (const QJsonDocument &from, ObjectGroup &to)
 
bool adapt (const QJsonDocument &from, QByteArray &to)
 
bool adapt (const QJsonDocument &from, QString &to)
 
bool adapt (const QJsonObject &from, ObjectDictionary &to)
 
bool adapt (const QString &from, bool &to)
 
bool adapt (const QString &from, double &to)
 
bool adapt (const QString &from, float &to)
 
bool adapt (const QString &from, int &to)
 
bool adapt (const QString &from, QByteArray &to)
 
bool adapt (const QString &from, QJsonDocument &to)
 
bool adapt (const QStringList &from, QVector< double > &to)
 
bool adapt (const QStringList &from, QVector< int > &to)
 
bool adapt (const QVector< double > &from, QStringList &to)
 
bool adapt (const QVector< int > &from, QStringList &to)
 
bool adaptDataObject (DataObject &src, DataObject &dest, bool copy)
 
bool adaptDataObject (DataObject &src, DataObject &dest, bool copy, const TypeAdaptorFactory *adaptorFactory)
 
template<typename Tuple , size_t I>
bool assignInputAtIndex (CSIRO::DataExecution::Operation &op, const Tuple &tuple)
 
template<typename... Args>
bool assignInputsInOrder (CSIRO::DataExecution::Operation &op, const std::tuple< Args... > &tuple)
 
template<typename Tuple , size_t... Is>
bool assignInputsInOrderImpl (CSIRO::DataExecution::Operation &op, const Tuple &tuple, std::index_sequence< Is... >)
 
template<typename... Args, std::enable_if_t<!(std::tuple_size< std::tuple< Args... > >::value % 2), bool > = true>
bool assignNamedOperationInputs (CSIRO::DataExecution::Operation &op, const std::tuple< Args... > &tuple)
 
FinishedWorkspaceUpdateMessagecreateMessageFinishedWorkspaceUpdateMessage ()
 
template<typename ReceiverType , typename ReceiverOrBaseType >
OperationUpdateEventObserver< ReceiverType, ReceiverOrBaseType > * createOperationUpdateEventObserver (const QString &operationGlobalName, Workspace &sender, ReceiverType &receiver, void(ReceiverOrBaseType::*func)(OperationUpdateEvent::EventType, const Operation &))
 
template<typename... Args, std::enable_if_t<!(std::tuple_size< std::tuple< Args... > >::value % 2), bool > = true>
bool extractNamedOperationOutputs (CSIRO::DataExecution::Operation &op, std::tuple< Args... > &tuple)
 
template<typename Tuple , size_t I>
bool extractOutputAtIndex (CSIRO::DataExecution::Operation &op, Tuple &tuple)
 
template<typename... Args>
bool extractOutputsInOrder (CSIRO::DataExecution::Operation &op, std::tuple< Args... > &tuple)
 
template<typename Tuple , size_t... Is>
bool extractOutputsInOrderImpl (CSIRO::DataExecution::Operation &op, Tuple &tuple, std::index_sequence< Is... >)
 
bool CSIRO_WORKSPACE_API filterLinkFromLogText (const QString &text, int offset, QString &operationLabel, QString &operationIdPath, QString &operationRootId, int &capturedStart, int &capturedEnd)
 
bool forkRequest (SchedulerRequest *request, OOPScheduler *scheduler)
 
template<template< typename > class T1, template< typename > class T2, template< typename > class T3>
void getDataFactoryLists (T1< const DataFactory * > &factories, T2< QString > &namesOnly, T3< QString > &minimalNames)
 
template<typename T >
QMap< int, QString > getEnumMap ()
 
template<typename T >
void getEnumMap (QMap< int, QString > &map)
 
template<>
void getEnumMap< CSIRO::Rendering::RenderTargetType > (QMap< int, QString > &map)
 
template<>
void getEnumMap< CSIRO::Rendering::RodGlypherTargetType > (QMap< int, QString > &map)
 
template<>
void getEnumMap< CSIRO::Tools::ComparisonRole > (QMap< int, QString > &map)
 
template<>
void getEnumMap< CSIRO::Tools::ReportingLevel > (QMap< int, QString > &map)
 
template<>
void getEnumMap< DataAnalysis::DiscreteNamedDimensionRangeFilter::Operator > (QMap< int, QString > &map)
 
template<>
void getEnumMap< Rendering::FitCameraViewToMesh::ViewPlane > (QMap< int, QString > &map)
 
template<>
void getEnumMap< Rendering::NormalShader::Mode > (QMap< int, QString > &map)
 
template<typename T >
QStringList getEnumNames ()
 
template<typename T >
void getEnumNames (QStringList &names)
 
template<>
void getEnumNames< Compare::Operator > (QStringList &names)
 
template<>
void getEnumNames< CSIRO::DataAnalysis::CreateSqlTableFromCsvFile::ColumnHeaderFormatting > (QStringList &names)
 
template<>
void getEnumNames< CSIRO::DataAnalysis::CreateSqlTableFromCsvFile::DetermineDatatypes > (QStringList &names)
 
template<>
void getEnumNames< CSIRO::DataAnalysis::CsvReader::ColumnHeaderFormatting > (QStringList &names)
 
template<>
void getEnumNames< CSIRO::DataAnalysis::RunMatLabScript::MatLabScriptType > (QStringList &names)
 
template<>
void getEnumNames< CSIRO::RemoteExecution::WaitWorkflow::WorkflowResult > (QStringList &names)
 
template<>
void getEnumNames< CSIRO::Rendering::GetMeshModelInstanceLod::LodAccessMethod > (QStringList &names)
 
template<>
void getEnumNames< CSIRO::Rendering::LinearSpatialPartitioningTree::QuadtreePlane > (QStringList &names)
 
template<>
void getEnumNames< CSIRO::Rendering::LinearSpatialPartitioningTree::TreeLayout > (QStringList &names)
 
template<>
void getEnumNames< CSIRO::Rendering::RenderViewFrustumToMesh::TextureLocation > (QStringList &names)
 
template<>
void getEnumNames< CSIRO::Rendering::SplitAndLodPointCloud::PatchCountSpecification > (QStringList &names)
 
template<>
void getEnumNames< CSIRO::Rendering::SplitAndLodPointCloudOp::PatchSize > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::AxisSettings::ScaleType > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::AxisSettings::TickLabelNumberFormat > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::ColorScaleImage::NumberFormat > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::ColorScaleImage::Orientation > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::GetImage3dSlice::SlicePlane > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::ImageOverlay::Anchor > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::ImageTileSet::SizePolicy > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::Plot::LegendAnchor > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::PlotItem::ColorMode > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::PlotItem::Glyph > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::PlotItem::LineMode > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::PlotItem::LineStyle > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::PlotItem::LineType > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::PlotRecolor::Theme > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::RawVoxelReader::VoxelDataSize > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::ResizeImage::ResizeUnits > (QStringList &names)
 
template<>
void getEnumNames< DataAnalysis::ResizeImage::SmoothingType > (QStringList &names)
 
template<>
void getEnumNames< DataExecution::DoubleToString::Format > (QStringList &names)
 
template<>
void getEnumNames< FileIterator::OutputFormat > (QStringList &names)
 
template<>
void getEnumNames< FileLoop::OutputFormat > (QStringList &names)
 
template<>
void getEnumNames< HttpRequest::HttpRequestType > (QStringList &names)
 
template<>
void getEnumNames< Mesh::EnsureElementStateExists::StateType > (QStringList &names)
 
template<>
void getEnumNames< Mesh::EnsureNodeStateExists::StateType > (QStringList &names)
 
template<>
void getEnumNames< Mesh::MeshModel::ListType > (QStringList &names)
 
template<>
void getEnumNames< Mesh::RangeInOut > (QStringList &names)
 
template<>
void getEnumNames< Mesh::SmoothMeshMethod > (QStringList &names)
 
template<>
void getEnumNames< Mesh::VectorMapping > (QStringList &names)
 
template<>
void getEnumNames< Package::CreateInstaller::VendorPackageNameLocation > (QStringList &names)
 
template<>
void getEnumNames< PlatformInfo::Platform > (QStringList &names)
 
template<>
void getEnumNames< Provenance::ReportItemAs > (QStringList &names)
 
template<>
void getEnumNames< Rendering::Camera::ProjectionMode > (QStringList &names)
 
template<>
void getEnumNames< Rendering::ClipRegion::ClipCriteria > (QStringList &names)
 
template<>
void getEnumNames< Rendering::GridScaleBuilder::Plane > (QStringList &names)
 
template<>
void getEnumNames< Rendering::RadialGridBuilder::Plane > (QStringList &names)
 
template<>
void getEnumNames< Rendering::RenderSettings::FaceCulling > (QStringList &names)
 
template<>
void getEnumNames< Rendering::RenderSettings::SymbolSizeCoordinateSystem > (QStringList &names)
 
template<>
void getEnumNames< Rendering::SphereGlypher::SphereType > (QStringList &names)
 
template<>
void getEnumNames< Rendering::SuperquadricMesher::TextureCoords > (QStringList &names)
 
template<>
void getEnumNames< Rendering::SurfaceRepresentation > (QStringList &names)
 
template<>
void getEnumNames< Rendering::Texturizer::Wrapping > (QStringList &names)
 
template<>
void getEnumNames< Task::State > (QStringList &names)
 
QString getIdPathFromOperation (const Operation &op, const Workspace &relativeTo)
 
QString getJsonString (const DataObject &item)
 
OperationgetOperationFromIdPath (const QString &idPath, Operation &relativeTo)
 
OperationgetOperationFromOpPath (const QString &opPath, Workspace &relativeTo, QStringList &errors)
 
template<template< typename > class Op>
QString getOpLabel ()
 
template<>
QString getOpLabel< std::equal_to > ()
 
template<>
QString getOpLabel< std::greater > ()
 
template<>
QString getOpLabel< std::greater_equal > ()
 
template<>
QString getOpLabel< std::less > ()
 
template<>
QString getOpLabel< std::less_equal > ()
 
template<>
QString getOpLabel< std::logical_and > ()
 
template<>
QString getOpLabel< std::logical_not > ()
 
template<>
QString getOpLabel< std::logical_or > ()
 
template<>
QString getOpLabel< std::not_equal_to > ()
 
template<typename T >
bool isType (const DataFactory &factory)
 
bool jsonFromString (const QString &jsonStr, QJsonDocument &result, bool logParseError=false)
 
QString linkInLogText (const Operation &op, QString label, QString oldId, bool fullPath)
 
LogStreamoperator<< (LogStream &strm, const QString &text)
 
QDataStream & operator<< (QDataStream &out, const ExecutionTimekeeper::Event &event)
 
QDataStream & operator<< (QDataStream &out, const ExecutionTimekeeper::Publisher &publisher)
 
bool operator== (const LogStreamFilter &lhs, const LogStreamFilter &rhs)
 
QDataStream & operator>> (QDataStream &in, ExecutionTimekeeper::Event &event)
 
QDataStream & operator>> (QDataStream &in, ExecutionTimekeeper::Publisher &publisher)
 
QScriptValue printToOperation (QScriptContext *context, QScriptEngine *engine)
 
bool processRequestAsACommand (SchedulerRequest *request, OOPScheduler *scheduler, const QString &executablePath, const QStringList &args)
 
bool processRequestAsAWorkspace (SchedulerRequest *request, OOPScheduler *scheduler)
 
uint qHash (const DataTableColumn &column)
 
uint qHash (const ExecutionTimekeeper::Publisher &publisher)
 
uint qHash (const LogStreamFilter &key, uint seed=0)
 Enables filters to be stored in hashable containers such as QSet.
 
bool qMapLessThanKey (const ExecutionTimekeeper::Publisher &pub1, const ExecutionTimekeeper::Publisher &pub2)
 
 REGISTER_TCP_MESSAGE (AbortedWorkspaceUpdateMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::AbortedWorkspaceUpdateMsg)
 
 REGISTER_TCP_MESSAGE (ChangePriorityInQueueWorkspaceMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::ChangePriorityInQueueWorkspaceMsg)
 
 REGISTER_TCP_MESSAGE (ClearWorkspaceHistoryMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::CleanWorkspaceHistoryMsg)
 
 REGISTER_TCP_MESSAGE (ClientHeartbeatMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::ClientHeartbeatMsg)
 
 REGISTER_TCP_MESSAGE (DelayScheduledWorkspaceMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::DelayScheduledWorkspaceMsg)
 
 REGISTER_TCP_MESSAGE (FailedToScheduleWorkspaceMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::FailedToScheduleWorkspaceMsg)
 
 REGISTER_TCP_MESSAGE (FinishedWorkspaceExecutionMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::FinishedWorkspaceExecutionMsg)
 
 REGISTER_TCP_MESSAGE (GetListAllWorkspaceMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::GetListAllWorkspaceMsg)
 
 REGISTER_TCP_MESSAGE (GetListQueueWorkspaceMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::GetListQueueWorkspaceMsg)
 
 REGISTER_TCP_MESSAGE (GetWorkspaceDetailMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::GetWorkspaceDetailMsg)
 
 REGISTER_TCP_MESSAGE (HandshakeMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::HandshakeMsg)
 
 REGISTER_TCP_MESSAGE (HeartbeatMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::HeartbeatMsg)
 
 REGISTER_TCP_MESSAGE (OperationUpdateEventListMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::OperationUpdateEventListMsg)
 
 REGISTER_TCP_MESSAGE (PauseQueueWorkspaceMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::PauseQueueWorkspaceMsg)
 
 REGISTER_TCP_MESSAGE (ResumeQueueWorkspaceMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::ResumeQueueWorkspaceMsg)
 
 REGISTER_TCP_MESSAGE (ScheduleWorkspaceExecutionMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::ScheduleWorkspaceExecutionMsg)
 
 REGISTER_TCP_MESSAGE (ServerLoadMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::ServerLoadMsg)
 
 REGISTER_TCP_MESSAGE (StartedWorkspaceExecutionMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::StartedWorkspaceExecutionMsg)
 
 REGISTER_TCP_MESSAGE (StartedWorkspaceUpdateMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::StartedWorkspaceUpdateMsg)
 
 REGISTER_TCP_MESSAGE (StopWorkspaceExecutionMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::StopWorkspaceExecutionMsg)
 
 REGISTER_TCP_MESSAGE (WorkspaceDetailMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::WorkspaceDetailMsg)
 
 REGISTER_TCP_MESSAGE (WorkspaceListMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::ListQueueWorkspaceMsg)
 
 REGISTER_TCP_MESSAGE (WorkspaceLogMessage, WorkspaceTcpMessageFactory, WorkspaceTcpMessageFactory::WorkspaceLogMsg)
 
void resetNestedWorkspace (Workspace *ws)
 
template<typename O , typename... Args>
bool run (Args... in)
 
template<typename O , typename... Args>
bool run (CSIRO::DataExecution::Updater &updater, Args... in)
 
template<typename O , typename... ArgsOut, typename... ArgsIn>
bool run (CSIRO::DataExecution::Updater &updater, std::tuple< ArgsOut... > &tupleOut, ArgsIn... in)
 
template<typename O , typename... ArgsOut, typename... ArgsIn>
bool run (std::tuple< ArgsOut... > &tupleOut, ArgsIn... in)
 
template<typename O , typename... Args>
bool run2 (const Args &... in)
 
template<typename O , typename... Args>
bool run2 (CSIRO::DataExecution::Updater &updater, Args... in)
 
template<typename O , typename... ArgsOut, typename... ArgsIn>
bool run2 (CSIRO::DataExecution::Updater &updater, std::tuple< ArgsOut... > &tupleOut, ArgsIn... in)
 
template<typename O , typename... ArgsOut, typename... ArgsIn>
bool run2 (std::tuple< ArgsOut... > &tupleOut, ArgsIn... in)
 
template<typename... Args>
bool runWorkspace (const QString &workflowFilePath, Args... in)
 
template<typename... Args>
bool runWorkspace (const QString &workflowFilePath, CSIRO::DataExecution::Updater &updater, Args... in)
 
template<typename... ArgsOut, typename... ArgsIn>
bool runWorkspace (const QString &workflowFilePath, CSIRO::DataExecution::Updater &updater, std::tuple< ArgsOut... > &tupleOut, ArgsIn... in)
 
template<typename... ArgsOut, typename... ArgsIn>
bool runWorkspace (const QString &workflowFilePath, std::tuple< ArgsOut... > &tupleOut, ArgsIn... in)
 
template<typename... Args>
bool runWorkspace2 (const QString &workflowFilePath, const Args &... in)
 
template<typename... Args>
bool runWorkspace2 (const QString &workflowFilePath, CSIRO::DataExecution::Updater &updater, Args... in)
 
template<typename... ArgsOut, typename... ArgsIn>
bool runWorkspace2 (const QString &workflowFilePath, CSIRO::DataExecution::Updater &updater, std::tuple< ArgsOut... > &tupleOut, ArgsIn... in)
 
template<typename... ArgsOut, typename... ArgsIn>
bool runWorkspace2 (const QString &workflowFilePath, std::tuple< ArgsOut... > &tupleOut, ArgsIn... in)
 
template<typename CallbackType , typename CallbackReturnType >
void watchUpdatable (CallbackType &receiver, CallbackReturnType(CallbackType::*func)(), const Updatable &updatable, ObserverThreadType threadingModel)
 
template<typename F >
UpdatablesObserver< F > * watchUpdatable (F func, Updatable &updatable, ObserverThreadType threadingModel, bool singleShot=true)
 
template<typename CallbackType , typename CallbackReturnType >
void watchUpdatables (CallbackType &receiver, CallbackReturnType(CallbackType::*func)(), const Updatables &updatables, ObserverThreadType threadingModel)
 
template<typename F >
UpdatablesObserver< F > * watchUpdatables (F func, const Updatables &updatables, ObserverThreadType threadingModel, bool singleShot=false)
 

Variables

bool resultFinishedWorkspaceUpdateMessage = WorkspaceTcpMessageFactory ::registerMessage< FinishedWorkspaceUpdateMessage >( WorkspaceTcpMessageFactory::FinishedWorkspaceUpdateMsg , createMessageFinishedWorkspaceUpdateMessage , "FinishedWorkspaceUpdateMessage")
 
static const QString SYSTEM_EXTERNAL_FILE_SCOPE = "System External File"
 
static const QString SYSTEM_SCOPE = "System Settings"
 
static const QString USER_EXTERNAL_FILE_SCOPE = "User External File"
 
static const QString USER_MESSAGE_NO_CREDENTIALS_DIALOG = "There is no credentials dialog provided by the currently selected authentication provider"
 
static const QString USER_MESSAGE_NO_CREDENTIALS_DIALOG = "There is no credentials dialog provided by the currently selected authentication provider"
 
static const QString USER_MESSAGE_NO_CREDENTIALS_DIALOG = "There is no credentials dialog provided by the currently selected authentication provider"
 
static const QString USER_MESSAGE_SERVER_NOT_WRITEABLE = "You do not have sufficient permissions to perform this operation on the selected server"
 
static const QString USER_MESSAGE_SERVER_NOT_WRITEABLE = "You do not have sufficient permissions to perform this operation on the selected server"
 
static const QString USER_MESSAGE_SERVER_NOT_WRITEABLE = "You do not have sufficient permissions to perform this operation on the selected server"
 
static const QString USER_MESSAGE_SERVER_NOT_WRITEABLE = "You do not have sufficient permissions to perform this operation on the selected server"
 
static const QString USER_SCOPE = "User Settings"
 
static const QString userMessageNoCredentialsDialog = "There is no credentials dialog provided by the currently selected authentication provider"
 

Detailed Description

All public classes in the DataExecution namespace are intended to be free of any reference to anything from the Qt API. This is so that developers who do not hold a commercial Qt license may still use all public interfaces in the DataExecution namespace.

Typedef Documentation

◆ CheckedObserverList

typedef std::list<CheckedObserver> CheckedObserverList

◆ DataRequester

◆ DataSource

◆ DoubleEqual

using DoubleEqual = Logical<double, std::equal_to>

◆ DoubleGreater

using DoubleGreater = Logical<double, std::greater>

◆ DoubleGreaterEqual

using DoubleGreaterEqual = Logical<double, std::greater_equal>

◆ DoubleLess

using DoubleLess = Logical<double, std::less>

◆ DoubleLessEqual

using DoubleLessEqual = Logical<double, std::less_equal>

◆ DoubleNotEqual

using DoubleNotEqual = Logical<double, std::not_equal_to>

◆ GlobalNameMap

typedef QMap<QString, QString> GlobalNameMap

◆ IntegerEqual

using IntegerEqual = Logical<int, std::equal_to>

◆ IntegerGreater

using IntegerGreater = Logical<int, std::greater>

◆ IntegerGreaterEqual

using IntegerGreaterEqual = Logical<int, std::greater_equal>

◆ IntegerLess

typedef Logical<int, std::less> IntegerLess

◆ IntegerLessEqual

using IntegerLessEqual = Logical<int, std::less_equal>

◆ IntegerNotEqual

using IntegerNotEqual = Logical<int, std::not_equal_to>

◆ LogicalAnd

using LogicalAnd = Logical<bool, std::logical_and, true>

◆ LogicalNot

using LogicalNot = Logical<bool, std::logical_not>

◆ LogicalOr

using LogicalOr = Logical<bool, std::logical_or, true>

◆ Model

using Model = std::list<DataTableColumn>

◆ ModelIterator

using ModelIterator = Model::iterator

◆ OffsetSequence_t

using OffsetSequence_t = typename OffsetSequence<N, Seq>::type

◆ Record

using Record = QHash<QString, QSharedPointer<DataObject> >

◆ Scheduler

◆ StringEqual

using StringEqual = Logical<QString, std::equal_to>

◆ StringGreater

using StringGreater = Logical<QString, std::greater>

◆ StringGreaterEqual

using StringGreaterEqual = Logical<QString, std::greater_equal>

◆ StringLess

using StringLess = Logical<QString, std::less>

◆ StringLessEqual

using StringLessEqual = Logical<QString, std::less_equal>

◆ StringNotEqual

using StringNotEqual = Logical<QString, std::not_equal_to>

◆ Updatables

typedef QList<Updatable*> Updatables

◆ WorkspaceIdentifierType

Enumeration Type Documentation

◆ ObserverThreadType

enum ObserverThreadType
related

Function Documentation

◆ adapt() [1/35]

bool adapt ( const bool &  from,
QByteArray &  to 
)

◆ adapt() [2/35]

bool adapt ( const bool &  from,
QString &  to 
)

◆ adapt() [3/35]

bool adapt ( const double &  from,
float &  to 
)

◆ adapt() [4/35]

bool adapt ( const double &  from,
QByteArray &  to 
)

◆ adapt() [5/35]

bool adapt ( const int &  from,
QByteArray &  to 
)

◆ adapt() [6/35]

bool adapt ( const ObjectArray from,
QByteArray &  to 
)

QList<QByteArray>is the type we serialize into the final QByteArray for each element we store 3 QByteArrays in the QList -plugin name for each element -data name for each element -each element as a QByteArray

Obviously this is a lot of extra data for each element. So for small elements like an ObjectArray of ints this is terribly inefficient. Therefore clients should write custom to/from QByteArray adaptors for more appropriate types in this case. The goal of ObjectArray is to robustly support a collection of any other mix of Workspace types.

◆ adapt() [7/35]

bool adapt ( const ObjectArray from,
QJsonDocument to 
)

◆ adapt() [8/35]

bool adapt ( const ObjectArray from,
QStringList to 
)

◆ adapt() [9/35]

bool adapt ( const ObjectDictionary from,
QByteArray &  to 
)

We serialise a final QByteArray made up of QMap<QString, QList<QByteArray>> For each item in the collection we use it's name for the key and then have the following in the QList<QByteArray> [0] - The plugin name for the data type [1] - The data type name [2] - The item (as a QByteArray)

Obviously this is a lot of extra data for each element. So for small elements like an ObjectDictionary of ints this is terribly inefficient. Therefore clients should write custom to/from QByteArray adaptors for more appropriate types in this case. The goal of ObjectDictionary is to robustly support a collection of any other mix of Workspace types.

◆ adapt() [10/35]

bool adapt ( const ObjectDictionary from,
QJsonDocument to 
)

◆ adapt() [11/35]

CSIRO_WORKSPACE_API bool adapt ( const ObjectGroup from,
QJsonDocument to 
)

◆ adapt() [12/35]

bool adapt ( const QByteArray &  from,
bool &  to 
)

◆ adapt() [13/35]

bool adapt ( const QByteArray &  from,
double &  to 
)

◆ adapt() [14/35]

bool adapt ( const QByteArray &  from,
int &  to 
)

◆ adapt() [15/35]

bool adapt ( const QByteArray &  from,
ObjectArray to 
)

◆ adapt() [16/35]

bool adapt ( const QByteArray &  from,
ObjectDictionary to 
)

◆ adapt() [17/35]

bool adapt ( const QByteArray &  from,
QJsonDocument to 
)

◆ adapt() [18/35]

bool adapt ( const QByteArray &  from,
QString &  to 
)

◆ adapt() [19/35]

bool adapt ( const QJsonArray &  from,
ObjectArray to 
)

◆ adapt() [20/35]

bool adapt ( const QJsonDocument from,
ObjectArray to 
)

◆ adapt() [21/35]

bool adapt ( const QJsonDocument from,
ObjectDictionary to 
)

◆ adapt() [22/35]

CSIRO_WORKSPACE_API bool adapt ( const QJsonDocument from,
ObjectGroup to 
)

◆ adapt() [23/35]

bool adapt ( const QJsonDocument from,
QByteArray &  to 
)

◆ adapt() [24/35]

bool adapt ( const QJsonDocument from,
QString &  to 
)

◆ adapt() [25/35]

bool adapt ( const QJsonObject &  from,
ObjectDictionary to 
)

◆ adapt() [26/35]

bool adapt ( const QString &  from,
bool &  to 
)

◆ adapt() [27/35]

bool adapt ( const QString &  from,
double &  to 
)

◆ adapt() [28/35]

bool adapt ( const QString &  from,
float &  to 
)

◆ adapt() [29/35]

bool adapt ( const QString &  from,
int &  to 
)

◆ adapt() [30/35]

bool adapt ( const QString &  from,
QByteArray &  to 
)

◆ adapt() [31/35]

bool adapt ( const QString &  from,
QJsonDocument to 
)

◆ adapt() [32/35]

bool adapt ( const QStringList from,
QVector< double > &  to 
)

◆ adapt() [33/35]

bool adapt ( const QStringList from,
QVector< int > &  to 
)

◆ adapt() [34/35]

bool adapt ( const QVector< double > &  from,
QStringList to 
)

◆ adapt() [35/35]

bool adapt ( const QVector< int > &  from,
QStringList to 
)

◆ adaptDataObject() [1/2]

bool adaptDataObject ( DataObject src,
DataObject dest,
bool  copy 
)

◆ adaptDataObject() [2/2]

CSIRO_WORKSPACE_API bool adaptDataObject ( DataObject src,
DataObject dest,
bool  copy = false,
const TypeAdaptorFactory adaptorFactory = nullptr 
)

Helper function which adapts a type if an adaptor exists

◆ assignInputAtIndex()

bool assignInputAtIndex ( CSIRO::DataExecution::Operation op,
const Tuple &  tuple 
)

◆ assignInputsInOrder()

bool assignInputsInOrder ( CSIRO::DataExecution::Operation op,
const std::tuple< Args... > &  tuple 
)

◆ assignInputsInOrderImpl()

bool assignInputsInOrderImpl ( CSIRO::DataExecution::Operation op,
const Tuple &  tuple,
std::index_sequence< Is... >   
)

◆ assignNamedOperationInputs()

bool assignNamedOperationInputs ( CSIRO::DataExecution::Operation op,
const std::tuple< Args... > &  tuple 
)
Template Parameters
ArgsThe datatypes of the tuple to assign, alternating label (const char*) and output's datatype.
Parameters
opThe operation to which we wish to assign input data
tupleThe tuple containing alternating input names (const char*) and data, into which we will copy input data corresponding to the input name.

Assigns data from tuple to the corresponding inputs on op.

◆ createMessageFinishedWorkspaceUpdateMessage()

FinishedWorkspaceUpdateMessage * createMessageFinishedWorkspaceUpdateMessage ( )

◆ createOperationUpdateEventObserver()

OperationUpdateEventObserver< ReceiverType, ReceiverOrBaseType > * createOperationUpdateEventObserver ( const QString &  operationGlobalName,
Workspace sender,
ReceiverType &  receiver,
void(ReceiverOrBaseType::*)(OperationUpdateEvent::EventType, const Operation &)  func 
)
Parameters
operationGlobalNameThe global name of the operation you're observing
senderThe root workspace that will emit the OperationUpdateEvents
receiverThe class receiving the event callback
funcThe member function of receiver for the callback

Factory method for creating a OperationUpdateEventObserver without needing to specify template parameters.

See also
OperationUpdateEvent

◆ extractNamedOperationOutputs()

bool extractNamedOperationOutputs ( CSIRO::DataExecution::Operation op,
std::tuple< Args... > &  tuple 
)

◆ extractOutputAtIndex()

bool extractOutputAtIndex ( CSIRO::DataExecution::Operation op,
Tuple &  tuple 
)

◆ extractOutputsInOrder()

bool extractOutputsInOrder ( CSIRO::DataExecution::Operation op,
std::tuple< Args... > &  tuple 
)

◆ extractOutputsInOrderImpl()

bool extractOutputsInOrderImpl ( CSIRO::DataExecution::Operation op,
Tuple &  tuple,
std::index_sequence< Is... >   
)

◆ filterLinkFromLogText()

bool CSIRO_WORKSPACE_API filterLinkFromLogText ( const QString &  text,
int  offset,
QString &  operationLabel,
QString &  operationIdPath,
QString &  operationRootId,
int &  capturedStart,
int &  capturedEnd 
)
Parameters
textText to filter linkInLogText() info from
offsetIndex in the text to start searching
operationLabel(out) Label of the first operation link found
operationIdPath(out) ID Path of the first operation link found
operationRootId(out) Root ID of the first operation link found
capturedStart(out) Start index of the captured operation link
capturedEnd(out) End index of the captured operation link (i.e. 1 past the last character)

Filters the components that exist in a linkInLogText() call from a string. Only the first link found after the offset will be extracted.

Returns
true if an operation link was captured, false otherwise.

◆ forkRequest()

bool forkRequest ( SchedulerRequest request,
OOPScheduler scheduler 
)

◆ getDataFactoryLists()

void getDataFactoryLists ( T1< const DataFactory * > &  factories,
T2< QString > &  namesOnly,
T3< QString > &  minimalNames 
)
inline
Template Parameters
T1The container type holding the DataFactory pointers.
T2The container type that will hold the list of unscoped names upon exit.
T3The container type that will hold the list of minimal names upon exit.
Parameters
factoriesUpon entry, this holds the list of factories for which a sorted list of minimal names is to be determined. Upon exit, this list will have been re-ordered to match the sorted names in namesOnly and minimalNames.
namesOnlyUpon exit, this will hold a list of sorted unscoped names. There may be duplicates in this array.
minimalNamesUpon exit, this will hold a list of sorted unscoped names where some of the names may also have scope information in brackets after the name. The contents of this array should be unique, but if a data type manages to get added to the workspace framework more than once, it can be duplicated.

◆ getEnumMap() [1/2]

QMap< int, QString > getEnumMap ( )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Convenience form where an existing QMap is not to be re-used.

Returns
The map between values and strings for the corresponding enum.

◆ getEnumMap() [2/2]

void getEnumMap ( QMap< int, QString > &  map)
Parameters
mapThe map to be filled with the strings and values of the enum.
Precondition
The map should always be empty when this function is called.

When defining a data factory for an enum type, an explicit specialization of getEnumMap() should be provided by the client code. Note that the default Serialization assumes that enum values are unique. If there are duplicate values you must also provide explicit Serialize specializations or streaming operators

See also
TypedDataFactory, DataFactoryTraits, getEnumNames

◆ getEnumMap< CSIRO::Rendering::RenderTargetType >()

void getEnumMap< CSIRO::Rendering::RenderTargetType > ( QMap< int, QString > &  map)
inline

◆ getEnumMap< CSIRO::Rendering::RodGlypherTargetType >()

void getEnumMap< CSIRO::Rendering::RodGlypherTargetType > ( QMap< int, QString > &  map)
inline

◆ getEnumMap< CSIRO::Tools::ComparisonRole >()

void getEnumMap< CSIRO::Tools::ComparisonRole > ( QMap< int, QString > &  map)
inline

◆ getEnumMap< CSIRO::Tools::ReportingLevel >()

void getEnumMap< CSIRO::Tools::ReportingLevel > ( QMap< int, QString > &  map)
inline

◆ getEnumMap< DataAnalysis::DiscreteNamedDimensionRangeFilter::Operator >()

void getEnumMap< DataAnalysis::DiscreteNamedDimensionRangeFilter::Operator > ( QMap< int, QString > &  map)
inline

◆ getEnumMap< Rendering::FitCameraViewToMesh::ViewPlane >()

void getEnumMap< Rendering::FitCameraViewToMesh::ViewPlane > ( QMap< int, QString > &  map)
inline

◆ getEnumMap< Rendering::NormalShader::Mode >()

void getEnumMap< Rendering::NormalShader::Mode > ( QMap< int, QString > &  map)
inline

◆ getEnumNames() [1/2]

QStringList getEnumNames ( )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Convenience form where an existing QStringList is not to be re-used.

Returns
The list of names for the corresponding enum.

◆ getEnumNames() [2/2]

void getEnumNames ( QStringList names)
Parameters
namesThe array to be filled with the names of the enum.
Precondition
The names array should always be empty when this function is called.

When defining a data factory for an enum type, an explicit specialization of either getEnumNames() or getEnumMap() must be provided by the client code. If you use getEnumNames() the enum must have values sequentially numbered starting at zero (the default behavior for an enum in C++). Upon exit, the string array passed to the function must contain a name for each of the values in the enum. It will be assumed that the size of the string array is the same as the number of values the enum contains.

If the enum does not conform to the above assumptions (eg the values start at a non-zero value or numbering is not sequential) you must define an explicit specialization for getEnumMap() rather than getEnumNames(). If there are duplicate values you must also provide streaming operators for the enum type T or provide explicit specializations of TypedDataFactory::canSerialize(), TypedDataFactory::save() and TypedDataFactory::load()

See also
TypedDataFactory, DataFactoryTraits, getEnumNames

◆ getEnumNames< Compare::Operator >()

void getEnumNames< Compare::Operator > ( QStringList names)
inline

◆ getEnumNames< CSIRO::DataAnalysis::CreateSqlTableFromCsvFile::ColumnHeaderFormatting >()

◆ getEnumNames< CSIRO::DataAnalysis::CreateSqlTableFromCsvFile::DetermineDatatypes >()

◆ getEnumNames< CSIRO::DataAnalysis::CsvReader::ColumnHeaderFormatting >()

◆ getEnumNames< CSIRO::DataAnalysis::RunMatLabScript::MatLabScriptType >()

◆ getEnumNames< CSIRO::RemoteExecution::WaitWorkflow::WorkflowResult >()

◆ getEnumNames< CSIRO::Rendering::GetMeshModelInstanceLod::LodAccessMethod >()

◆ getEnumNames< CSIRO::Rendering::LinearSpatialPartitioningTree::QuadtreePlane >()

◆ getEnumNames< CSIRO::Rendering::LinearSpatialPartitioningTree::TreeLayout >()

◆ getEnumNames< CSIRO::Rendering::RenderViewFrustumToMesh::TextureLocation >()

◆ getEnumNames< CSIRO::Rendering::SplitAndLodPointCloud::PatchCountSpecification >()

◆ getEnumNames< CSIRO::Rendering::SplitAndLodPointCloudOp::PatchSize >()

◆ getEnumNames< DataAnalysis::AxisSettings::ScaleType >()

◆ getEnumNames< DataAnalysis::AxisSettings::TickLabelNumberFormat >()

◆ getEnumNames< DataAnalysis::ColorScaleImage::NumberFormat >()

◆ getEnumNames< DataAnalysis::ColorScaleImage::Orientation >()

◆ getEnumNames< DataAnalysis::GetImage3dSlice::SlicePlane >()

◆ getEnumNames< DataAnalysis::ImageOverlay::Anchor >()

◆ getEnumNames< DataAnalysis::ImageTileSet::SizePolicy >()

◆ getEnumNames< DataAnalysis::Plot::LegendAnchor >()

◆ getEnumNames< DataAnalysis::PlotItem::ColorMode >()

◆ getEnumNames< DataAnalysis::PlotItem::Glyph >()

◆ getEnumNames< DataAnalysis::PlotItem::LineMode >()

◆ getEnumNames< DataAnalysis::PlotItem::LineStyle >()

◆ getEnumNames< DataAnalysis::PlotItem::LineType >()

◆ getEnumNames< DataAnalysis::PlotRecolor::Theme >()

◆ getEnumNames< DataAnalysis::RawVoxelReader::VoxelDataSize >()

◆ getEnumNames< DataAnalysis::ResizeImage::ResizeUnits >()

◆ getEnumNames< DataAnalysis::ResizeImage::SmoothingType >()

◆ getEnumNames< DataExecution::DoubleToString::Format >()

◆ getEnumNames< FileIterator::OutputFormat >()

◆ getEnumNames< FileLoop::OutputFormat >()

void getEnumNames< FileLoop::OutputFormat > ( QStringList names)
inline

◆ getEnumNames< HttpRequest::HttpRequestType >()

◆ getEnumNames< Mesh::EnsureElementStateExists::StateType >()

◆ getEnumNames< Mesh::EnsureNodeStateExists::StateType >()

◆ getEnumNames< Mesh::MeshModel::ListType >()

void getEnumNames< Mesh::MeshModel::ListType > ( QStringList names)
inline

◆ getEnumNames< Mesh::RangeInOut >()

void getEnumNames< Mesh::RangeInOut > ( QStringList names)
inline

◆ getEnumNames< Mesh::SmoothMeshMethod >()

void getEnumNames< Mesh::SmoothMeshMethod > ( QStringList names)
inline

◆ getEnumNames< Mesh::VectorMapping >()

void getEnumNames< Mesh::VectorMapping > ( QStringList names)
inline

◆ getEnumNames< Package::CreateInstaller::VendorPackageNameLocation >()

◆ getEnumNames< PlatformInfo::Platform >()

void getEnumNames< PlatformInfo::Platform > ( QStringList names)
inline

◆ getEnumNames< Provenance::ReportItemAs >()

void getEnumNames< Provenance::ReportItemAs > ( QStringList names)
inline

◆ getEnumNames< Rendering::Camera::ProjectionMode >()

◆ getEnumNames< Rendering::ClipRegion::ClipCriteria >()

◆ getEnumNames< Rendering::GridScaleBuilder::Plane >()

◆ getEnumNames< Rendering::RadialGridBuilder::Plane >()

◆ getEnumNames< Rendering::RenderSettings::FaceCulling >()

◆ getEnumNames< Rendering::RenderSettings::SymbolSizeCoordinateSystem >()

◆ getEnumNames< Rendering::SphereGlypher::SphereType >()

◆ getEnumNames< Rendering::SuperquadricMesher::TextureCoords >()

◆ getEnumNames< Rendering::SurfaceRepresentation >()

◆ getEnumNames< Rendering::Texturizer::Wrapping >()

◆ getEnumNames< Task::State >()

void getEnumNames< Task::State > ( QStringList names)
inline

◆ getIdPathFromOperation()

CSIRO_WORKSPACE_API QString getIdPathFromOperation ( const Operation op,
const Workspace relativeTo 
)
Parameters
opThe Operation for which the id path should be created.
relativeToThe Workspace the id path should be relative to.
Returns
The id path string for op relative to the workspace relativeTo, or an empty string if no path exists from relativeTo to op. This string is suitable for inclusion as a string attribute of a SerializedItem object.

If op is not within a workspace, the id path will be invalid. Similarly, if op is not in relativeTo, is not in one of the workspaces nested in relativeTo or is not in a workspace nested within any of the parents of relativeTo, the id path will be invalid. Another way of saying this is that op and relativeTo must be somehow related, either by direct ancestry or by having a common ancestor in the workspace hierarchy.

An id path is a string which defines where an operation is relative to a particular workspace. This string is in a similar form to a unix file system path, with a workspace being analogous to a directory and files within a directory being analogous to operations within a workspace. Each workspace or operation in the id path is represented by its integer id, as obtained from Operation::getId(). The string will always end with the id of the operation unless the operation is not related to the workspace on which the id path object was created.

The string form of the id path may also contain ".." where the path refers to workspaces that are ancestors of relativeTo. Since a workspace cannot have more than one parent, it is not necessary to use the parent's id, and indeed sometimes that would be undesirable. For instance, if the parent workspace is itself moved into another workspace, its id could change. By using ".." instead of the integer id in this case, the id path does not change. Note, however, that id paths containing ".." can be more fragile, since they specify a relationship between an operation and a workspace that the operation is not directly a part of. Thus, such paths rely on some higher level process to arrange the operation and workspace correctly for the path to be valid.

See also
getOperationFromIdPath(), getOperationFromOpPath()

◆ getJsonString()

QString getJsonString ( const DataObject item)

◆ getOperationFromIdPath()

CSIRO_WORKSPACE_API Operation * getOperationFromIdPath ( const QString &  idPath,
Operation relativeTo 
)
Parameters
idPathA string defining an id path.
relativeToThe operation that idPath is relative to. Normally, this will be a Workspace, but if it is only an ordinary Operation, idPath must be the string "op".
Returns
The Operation that idPath identifies, assuming idPath is relative to relativeTo. If there is no valid Operation at the path idPath describes, a null pointer will be returned.
See also
getOperationFromOpPath(), getIdPathFromOperation()

◆ getOperationFromOpPath()

CSIRO_WORKSPACE_API Operation * getOperationFromOpPath ( const QString &  opPath,
Workspace relativeTo,
QStringList errors 
)
Parameters
opPathA string defining an op path. It can have either of two forms:
  • wsOpPath:/1/2/3/4
  • globalName:namespace1/namespace2/.../global name where wsOpPath is simply a set of numbers separated with forward slashes. If opPath is empty, this has the special meaning that the function should return relativeTo, which normally only occurs when relativeTo is the root workspace. For globalName, the forward slashes again serve to separate names, but this time the names being separated are global name "namespaces" (see below).
relativeToThe Workspace opPath is relative to. This will also be the point from which the search for the required operation will start. If a match is found at relativeTo or below, it will be returned. Only if no such match is found will the parent workspace then be searched (unless opPath is a wsOpPath which uses .. to indicate parents in the path).
errorsUpon exit, this will contain any errors that were generated as part of the function call. This can be non-empty even if the return value is not null.

There are two forms for opPath. The wsOpPath form is used internally within a workspace XML file to attach widgets to inputs, outputs or operations without having to define a global name for each one (having to do so would be very inconvenient!). The globalName form is used in most other scenarios and should be the only form used by code outside of the core workspace framework.

When the opPath is specified as a globalName, the full path to the global name can contain namespaces. The namespace concept is similar to that used by C++, meaning that the series of namespaces form the scope within which to look for the name at the end of the list. The combination of the namespaces separated by forward slashes plus the global name at the end is referred to as the "fully scoped global name".

A fully scoped global name might have no namespaces at all, in which case it will simply be a name with no forward slashes and it is then said to be at "top level scope". This is likely to be the common case for global names used in workspaces which don't employ nested workspaces defined by external URL's. Where the namespace concept is most useful is where an externally defined workspace needs to be used in multiple places within some larger workspace. By giving each instance of the external workspace its own unique namespace, the global names within that external workspace can still be referenced unambiguously in things like .ui files by using the fully scoped global name. Indeed, without namespaces, in this scenario a .ui file cannot robustly handle the case of duplicate global names and the result would be that the .ui file will attach to the first matching global name it comes to. Thus, namespaces allow the workspace designer the freedom to bring in whatever external workspaces they need while still giving the UI designer the ability to robustly attach widgets to any desired global name in the entire workspace hierarchy.

Returns
The Operation that opPath identifies. If there is no valid Operation at the path opPath describes, a null pointer will be returned.
See also
getOperationFromIdPath(), getIdPathFromOperation()

◆ getOpLabel()

QString getOpLabel ( )
inline

◆ getOpLabel< std::equal_to >()

QString getOpLabel< std::equal_to > ( )
inline

◆ getOpLabel< std::greater >()

QString getOpLabel< std::greater > ( )
inline

◆ getOpLabel< std::greater_equal >()

QString getOpLabel< std::greater_equal > ( )
inline

◆ getOpLabel< std::less >()

QString getOpLabel< std::less > ( )
inline

◆ getOpLabel< std::less_equal >()

QString getOpLabel< std::less_equal > ( )
inline

◆ getOpLabel< std::logical_and >()

QString getOpLabel< std::logical_and > ( )
inline

◆ getOpLabel< std::logical_not >()

QString getOpLabel< std::logical_not > ( )
inline

◆ getOpLabel< std::logical_or >()

QString getOpLabel< std::logical_or > ( )
inline

◆ getOpLabel< std::not_equal_to >()

QString getOpLabel< std::not_equal_to > ( )
inline

◆ isType()

bool isType ( const DataFactory factory)
Returns
True if the object's type matches the specified type. False otherwise. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template function for testing the type of the DataFactory. Shorthand for:

&factory == &DataFactoryTraits<T>::getInstance()

◆ jsonFromString()

bool jsonFromString ( const QString &  jsonStr,
QJsonDocument result,
bool  logParseError = false 
)
inline

◆ linkInLogText()

QString CSIRO_WORKSPACE_API linkInLogText ( const Operation op,
QString  label,
QString  oldId,
bool  fullPath 
)
Parameters
opThe operation of which the generated link will pointed to.
labelAn optional text set along with the link. If leave it empty, the label relative to the root workspace of the operation op will be used.
oldIdAn optional text that conveys the old id of a renamed operation. The old id is used to set the link to the operation.
fullPathGenerate full label path of the operation.

This generates a format [Label|rootid|link]->[Label|rootid|link]->[Label|rootid|link] of the operation.

◆ operator<<() [1/3]

LogStream & operator<< ( LogStream strm,
const QString &  text 
)
inline

◆ operator<<() [2/3]

CSIRO_WORKSPACE_API QDataStream & operator<< ( QDataStream &  out,
const ExecutionTimekeeper::Event event 
)

◆ operator<<() [3/3]

CSIRO_WORKSPACE_API QDataStream & operator<< ( QDataStream &  out,
const ExecutionTimekeeper::Publisher publisher 
)

◆ operator==()

CSIRO_WORKSPACE_API bool operator== ( const LogStreamFilter lhs,
const LogStreamFilter rhs 
)

◆ operator>>() [1/2]

CSIRO_WORKSPACE_API QDataStream & operator>> ( QDataStream &  in,
ExecutionTimekeeper::Event event 
)

◆ operator>>() [2/2]

CSIRO_WORKSPACE_API QDataStream & operator>> ( QDataStream &  in,
ExecutionTimekeeper::Publisher publisher 
)

◆ printToOperation()

QScriptValue printToOperation ( QScriptContext *  context,
QScriptEngine *  engine 
)

◆ processRequestAsACommand()

bool processRequestAsACommand ( SchedulerRequest request,
OOPScheduler scheduler,
const QString &  executablePath,
const QStringList args 
)

◆ processRequestAsAWorkspace()

bool processRequestAsAWorkspace ( SchedulerRequest request,
OOPScheduler scheduler 
)

◆ qHash() [1/3]

uint qHash ( const DataTableColumn column)
inline

◆ qHash() [2/3]

uint qHash ( const ExecutionTimekeeper::Publisher publisher)
inline

◆ qHash() [3/3]

uint qHash ( const LogStreamFilter key,
uint  seed = 0 
)
inline

◆ qMapLessThanKey()

bool qMapLessThanKey ( const ExecutionTimekeeper::Publisher pub1,
const ExecutionTimekeeper::Publisher pub2 
)
inline

◆ REGISTER_TCP_MESSAGE() [1/23]

◆ REGISTER_TCP_MESSAGE() [2/23]

◆ REGISTER_TCP_MESSAGE() [3/23]

◆ REGISTER_TCP_MESSAGE() [4/23]

◆ REGISTER_TCP_MESSAGE() [5/23]

◆ REGISTER_TCP_MESSAGE() [6/23]

◆ REGISTER_TCP_MESSAGE() [7/23]

◆ REGISTER_TCP_MESSAGE() [8/23]

◆ REGISTER_TCP_MESSAGE() [9/23]

◆ REGISTER_TCP_MESSAGE() [10/23]

◆ REGISTER_TCP_MESSAGE() [11/23]

◆ REGISTER_TCP_MESSAGE() [12/23]

◆ REGISTER_TCP_MESSAGE() [13/23]

◆ REGISTER_TCP_MESSAGE() [14/23]

◆ REGISTER_TCP_MESSAGE() [15/23]

◆ REGISTER_TCP_MESSAGE() [16/23]

◆ REGISTER_TCP_MESSAGE() [17/23]

◆ REGISTER_TCP_MESSAGE() [18/23]

◆ REGISTER_TCP_MESSAGE() [19/23]

◆ REGISTER_TCP_MESSAGE() [20/23]

◆ REGISTER_TCP_MESSAGE() [21/23]

◆ REGISTER_TCP_MESSAGE() [22/23]

◆ REGISTER_TCP_MESSAGE() [23/23]

◆ resetNestedWorkspace()

void resetNestedWorkspace ( Workspace ws)

◆ run() [1/4]

bool run ( Args...  in)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
OOperation type to create and execute
ArgsTemplate parameter pack containing input data types.
Parameters
inVariadic arguments of data matching the inputs of the operation (excluding dependency).
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the run function that accepts only the list of input arguments that are in the same order as those on the operation.

Example usage:

auto result = run<WriteStringToFile>(outputFileName, QString("text to write"), false, false, false, true);

◆ run() [2/4]

bool run ( CSIRO::DataExecution::Updater updater,
Args...  in 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
OOperation type to create and execute
ArgsTemplate parameter pack containing input data types.
Parameters
updaterThe updater that controls where the operation executes.
inVariadic arguments of data matching the inputs of the operation (excluding dependency).
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the run function that accepts an updater to control where the operation executes, as well as the list of input arguments that are in the same order as those on the operation.

Example usage:

auto result = run<WriteStringToFile>(updater, outputFileName, QString("text to write"), false, false, false, true);

◆ run() [3/4]

bool run ( CSIRO::DataExecution::Updater updater,
std::tuple< ArgsOut... > &  tupleOut,
ArgsIn...  in 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
OOperation type to create and execute
ArgsTemplate parameter pack containing input data types.
Parameters
updaterThe updater that controls where the operation executes.
tupleOutTuple of variadic arguments matching output datatypes.
inVariadic arguments of data matching the inputs of the operation (excluding dependency).
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the run function that accepts a tuple to which to assign output data, as well as the list of input arguments that are in the same order as those on the operation.

Example usage:

auto outputs = std::make_tuple(QJsonDocument());
auto result = run<ReadJsonFile>(updater, outputs, outputFileName);
QJsonDocument
Definition: json.cpp:311

◆ run() [4/4]

bool run ( std::tuple< ArgsOut... > &  tupleOut,
ArgsIn...  in 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
OOperation type to create and execute
ArgsTemplate parameter pack containing input data types.
Parameters
tupleOutTuple of variadic arguments, alternating label (const char*) and datatype.
inVariadic arguments of data matching the inputs of the operation (excluding dependency).
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the run function that accepts a tuple to which to assign output data, as well as the list of input arguments that are in the same order as those on the operation.

Example usage:

auto outputs = std::make_tuple(QJsonDocument());
auto result = run<ReadJsonFile>(outputs, outputFileName);

◆ run2() [1/4]

bool run2 ( const Args &...  in)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
OOperation type to create and execute
ArgsTemplate parameter pack containing alternating const char* and the input data type.
Parameters
inVariadic arguments, alternating label (const char*) and a data type matching the input.
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the run2 function that accepts only the list of input parameters. Every second argument is be the data to assign to the input that corresponds to the specified name.

Example usage:

auto result = run2<WriteStringToFile>(
"File name", outputFileName,
"String", QString("A string we are writing to file"),
"Append if file exists", false,
"End string with new line", false,
"Use QSystemSemaphore", false,
"Create path", true);

◆ run2() [2/4]

bool run2 ( CSIRO::DataExecution::Updater updater,
Args...  in 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
OpOperation type to create and execute
ArgsTemplate parameter pack containing alternating const char* and the input data type.
Parameters
updaterAn updater that controls where to execute the operation.
inVariadic arguments, alternating label (const char*) and a data type matching the input.
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the run2 function that accepts a reference to an updater for controlling where to execute the operation. Every second arg passed to the function is the data to assign to the input that matches the corresponding string literal in the N-1th argument.

Example usage:

auto result = run2<WriteStringToFile>(
updater,
"File name", outputFileName,
"String", QString("A string we are writing to file"),
"Append if file exists", false,
"End string with new line", false,
"Use QSystemSemaphore", false,
"Create path", true);

◆ run2() [3/4]

bool run2 ( CSIRO::DataExecution::Updater updater,
std::tuple< ArgsOut... > &  tupleOut,
ArgsIn...  in 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
OOperation type to create and execute
ArgsOutTemplate parameter pack containing alternating const char* and the output data type.
ArgsInTemplate parameter pack containing alternating const char* and the input data type.
Parameters
updaterAn updater that controls where to execute the operation.
tupleOutTuple of variadic arguments, alternating label (const char*) and a data type matching the output.
inVariadic arguments, alternating label (const char*) and a data type matching the input.
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the run2 function that accepts a reference to an updater for controlling where to execute the operation, as well as a tuple of output arguments in the same format as the input arguments. The outputs will be extracted when execution is complete.

Example usage:

auto outputs = std::make_tuple("JSON", QJsonDocument());
auto result = run<ReadJsonFile>(
updater,
outputs,
"File name", outputFileName);

◆ run2() [4/4]

bool run2 ( std::tuple< ArgsOut... > &  tupleOut,
ArgsIn...  in 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
OOperation type to create and execute
ArgsTemplate parameter pack containing alternating const char* and the input data type.
Parameters
tupleOutTuple of variadic arguments, alternating label (const char*) and datatype.
inVariadic arguments, alternating label (const char*) and a data type matching the input.
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the run2 function that accepts a tuple of output arguments in the same format as the input arguments. The named outputs will be extracted when execution is complete.

Example usage:

auto outputs = std::make_tuple("JSON", QJsonDocument());
auto result = run<ReadJsonFile>(
outputs,
"File name", outputFileName);

◆ runWorkspace() [1/4]

bool runWorkspace ( const QString &  workflowFilePath,
Args...  in 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
ArgsTemplate parameter pack containing input data types.
Parameters
workflowFilePathThe path to the workflow to load and execute
inVariadic arguments of data matching the inputs of the operation (excluding dependency).
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the runWorkspace function that accepts only the list of input arguments that are in the same order as those on the operation.

Example usage:

auto result = runWorkspace(":workflows/someworkflow.wsx", outputFileName, QString("text to write"), false, false, false, true);
bool runWorkspace(const QString &workflowFilePath, CSIRO::DataExecution::Updater &updater, std::tuple< ArgsOut... > &tupleOut, ArgsIn... in)
Definition: runworkspacefuncs.h:52

◆ runWorkspace() [2/4]

bool runWorkspace ( const QString &  workflowFilePath,
CSIRO::DataExecution::Updater updater,
Args...  in 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
ArgsTemplate parameter pack containing input data types.
Parameters
workflowFilePathThe path to the workflow to load and execute
updaterThe updater that controls where the operation executes.
inVariadic arguments of data matching the inputs of the operation (excluding dependency).
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the runWorkspace function that accepts an updater to control where the operation executes, as well as the list of input arguments that are in the same order as those on the operation.

Example usage:

auto result = runWorkspace(":workflows/someworkflow.wsx", updater, outputFileName, QString("text to write"), false, false, false, true);

◆ runWorkspace() [3/4]

bool runWorkspace ( const QString &  workflowFilePath,
CSIRO::DataExecution::Updater updater,
std::tuple< ArgsOut... > &  tupleOut,
ArgsIn...  in 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
ArgsTemplate parameter pack containing input data types.
Parameters
workflowFilePathThe path to the workflow to load and execute
updaterThe updater that controls where the operation executes.
tupleOutTuple of variadic arguments matching output datatypes.
inVariadic arguments of data matching the inputs of the operation (excluding dependency).
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the runWorkspace function that accepts a tuple to which to assign output data, as well as the list of input arguments that are in the same order as those on the operation.

Example usage:

auto outputs = std::make_tuple(QJsonDocument());
auto result = runWorkspace(":workflows/someworkflow.wsx", updater, outputs, outputFileName);

◆ runWorkspace() [4/4]

bool runWorkspace ( const QString &  workflowFilePath,
std::tuple< ArgsOut... > &  tupleOut,
ArgsIn...  in 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
ArgsTemplate parameter pack containing input data types.
Parameters
workflowFilePathThe path to the workflow to load and execute
tupleOutTuple of variadic arguments, alternating label (const char*) and datatype.
inVariadic arguments of data matching the inputs of the operation (excluding dependency).
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the runWorkspace function that accepts a tuple to which to assign output data, as well as the list of input arguments that are in the same order as those on the operation.

Example usage:

auto outputs = std::make_tuple(QJsonDocument());
auto result = runWorkspace(":workflows/someworkflow.wsx", outputs, outputFileName);

◆ runWorkspace2() [1/4]

bool runWorkspace2 ( const QString &  workflowFilePath,
const Args &...  in 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
ArgsTemplate parameter pack containing alternating const char* and the input data type.
Parameters
workflowFilePathThe path to the workflow to load and execute
inVariadic arguments, alternating label (const char*) and a data type matching the input.
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the runWorkspace2 function that accepts only the list of input parameters. Every second argument is be the data to assign to the input that corresponds to the specified name.

Example usage:

auto result = runWorkspace2(":workflows/myworkflow.wsx",
"File name", outputFileName,
"String", QString("A string we are writing to file"),
"Append if file exists", false,
"End string with new line", false,
"Use QSystemSemaphore", false,
"Create path", true);
bool runWorkspace2(const QString &workflowFilePath, CSIRO::DataExecution::Updater &updater, std::tuple< ArgsOut... > &tupleOut, ArgsIn... in)
Definition: runworkspacefuncs.h:153

◆ runWorkspace2() [2/4]

bool runWorkspace2 ( const QString &  workflowFilePath,
CSIRO::DataExecution::Updater updater,
Args...  in 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
ArgsTemplate parameter pack containing alternating const char* and the input data type.
Parameters
workflowFilePathThe path to the workflow to load and execute
updaterAn updater that controls where to execute the operation.
inVariadic arguments, alternating label (const char*) and a data type matching the input.
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the runWorkspace2 function that accepts a reference to an updater for controlling where to execute the operation. Every second arg passed to the function is the data to assign to the input that matches the corresponding string literal in the N-1th argument.

Example usage:

auto result = runWorkspace2(":workflows/myworkflow.wsx",
updater,
"File name", outputFileName,
"String", QString("A string we are writing to file"),
"Append if file exists", false,
"End string with new line", false,
"Use QSystemSemaphore", false,
"Create path", true);

◆ runWorkspace2() [3/4]

bool runWorkspace2 ( const QString &  workflowFilePath,
CSIRO::DataExecution::Updater updater,
std::tuple< ArgsOut... > &  tupleOut,
ArgsIn...  in 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
ArgsOutTemplate parameter pack containing alternating const char* and the output data type.
ArgsInTemplate parameter pack containing alternating const char* and the input data type.
Parameters
workflowFilePathThe path to the workflow to load and execute
updaterAn updater that controls where to execute the operation.
tupleOutTuple of variadic arguments, alternating label (const char*) and a data type matching the output.
inVariadic arguments, alternating label (const char*) and a data type matching the input.
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the runWorkspace2 function that accepts a reference to an updater for controlling where to execute the workflow, as well as a tuple of output arguments in the same format as the input arguments. The outputs will be extracted when execution is complete.

Example usage:

auto outputs = std::make_tuple("JSON", QJsonDocument());
auto result = runWorkspace2(":workflows/myworkflow.wsx",
updater,
outputs,
"File name", outputFileName);

◆ runWorkspace2() [4/4]

bool runWorkspace2 ( const QString &  workflowFilePath,
std::tuple< ArgsOut... > &  tupleOut,
ArgsIn...  in 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
ArgsTemplate parameter pack containing alternating const char* and the input data type.
Parameters
workflowFilePathThe path to the workflow to load and execute
tupleOutTuple of variadic arguments, alternating label (const char*) and datatype.
inVariadic arguments, alternating label (const char*) and a data type matching the input.
Returns
true True if the operation was able to be executed successfully, false otherwise.

Overload of the runWorkspace2 function that accepts a tuple of output arguments in the same format as the input arguments. The named outputs will be extracted when execution is complete.

Example usage:

auto outputs = std::make_tuple("JSON", QJsonDocument());
auto result = runWorkspace2(":workflows/myworkflow.wsx",
outputs,
"File name", outputFileName);

◆ watchUpdatable() [1/2]

void watchUpdatable ( CallbackType &  receiver,
CallbackReturnType(CallbackType::*)()  func,
const Updatable updatable,
ObserverThreadType  threadingModel 
)

A convenience function that calls the function func on the provided receiver when the provided Updatable object is up to date.

Parameters
receiverThe receiver of the callback
funcA pointer to the function to call on the receiver
updatableA set of updatables to monitor
threadingModelThe threading model to use for the receiver callback

◆ watchUpdatable() [2/2]

UpdatablesObserver< F > * watchUpdatable ( func,
Updatable updatable,
ObserverThreadType  threadingModel,
bool  singleShot = true 
)

A convenience function that calls the function func when the Updatable object provided is up-to-date.

Parameters
funcA callable object or function to invoke in response to the updatables being brought up-to-date.
updatableAn updatable object to observe.
threadingModelThe threading model to use for the receiver callback.
singleShotWhether or not the created observer should delete itself once the callback occurs. If false is provided, it is up to the calling code to delete the observer at a safe and appropriate time.

Watches an Updatable, invoking the provided function callable when the Updatable is brought into an up-to-date state.

Returns
In the case where singleShot=false, the function will return the UpdatablesObserver object that is monitoring the specified updatable. It is the responsibility of the caller to make sure the monitor is deleted after the attached workspace is stopped. If singleShot=true, the function returns nullptr.
Note
This supercedes the existing UpdatablesMonitor version of watchUpdatables which required a member function pointer to be specified. To upgrade old code, use std::bind() to pass the member function pointer as the func parameter: ``` auto observer = watchUpdatables(std::bind(func, this), updatable, ThreadedObserver, false); ```

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ watchUpdatables() [1/2]

void watchUpdatables ( CallbackType &  receiver,
CallbackReturnType(CallbackType::*)()  func,
const Updatables updatables,
ObserverThreadType  threadingModel 
)

A convenience function that calls the function func on the provided receiver when all Updatable objects provided are up to date.

Parameters
receiverThe receiver of the callback
funcA pointer to the member function to call on the receiver
updatablesA set of updatables to monitor
threadingModelThe threading model to use for the receiver callback

◆ watchUpdatables() [2/2]

UpdatablesObserver< F > * watchUpdatables ( func,
const Updatables updatables,
ObserverThreadType  threadingModel,
bool  singleShot = false 
)

A convenience function that calls the function func when all Updatable objects provided are up-to-date.

Parameters
funcA callable object or function to invoke in response to the updatables being brought up-to-date.
updatablesA set of updatables to observe.
threadingModelThe threading model to use for the receiver callback.
singleShotWhether or not the created observer should delete itself once the callback occurs. If false is provided, it is up to the calling code to delete the observer at a safe and appropriate time.

Watches a set of Updatables, invoking the provided function callable when all of the Updatables are brought into an up-to-date state.

Returns
In the case where singleShot=false, the function will return the UpdatablesObserver object that is monitoring the specified updatables. It is the responsibility of the caller to make sure the monitor is deleted after the attached workspace is stopped. If singleShot=true, the function returns nullptr.
Note
This supercedes the existing UpdatablesMonitor version of watchUpdatables which required a member function pointer to be specified. To upgrade old code, use std::bind() to pass the member function pointer as the func parameter: ``` auto observer = watchUpdatables(std::bind(func, this), updatables, ThreadedObserver, false); ```

Variable Documentation

◆ resultFinishedWorkspaceUpdateMessage

bool resultFinishedWorkspaceUpdateMessage = WorkspaceTcpMessageFactory ::registerMessage< FinishedWorkspaceUpdateMessage >( WorkspaceTcpMessageFactory::FinishedWorkspaceUpdateMsg , createMessageFinishedWorkspaceUpdateMessage , "FinishedWorkspaceUpdateMessage")

◆ SYSTEM_EXTERNAL_FILE_SCOPE

const QString SYSTEM_EXTERNAL_FILE_SCOPE = "System External File"
static

◆ SYSTEM_SCOPE

const QString SYSTEM_SCOPE = "System Settings"
static

◆ USER_EXTERNAL_FILE_SCOPE

const QString USER_EXTERNAL_FILE_SCOPE = "User External File"
static

◆ USER_MESSAGE_NO_CREDENTIALS_DIALOG [1/3]

const QString USER_MESSAGE_NO_CREDENTIALS_DIALOG = "There is no credentials dialog provided by the currently selected authentication provider"
static

◆ USER_MESSAGE_NO_CREDENTIALS_DIALOG [2/3]

const QString USER_MESSAGE_NO_CREDENTIALS_DIALOG = "There is no credentials dialog provided by the currently selected authentication provider"
static

◆ USER_MESSAGE_NO_CREDENTIALS_DIALOG [3/3]

const QString USER_MESSAGE_NO_CREDENTIALS_DIALOG = "There is no credentials dialog provided by the currently selected authentication provider"
static

◆ USER_MESSAGE_SERVER_NOT_WRITEABLE [1/4]

const QString USER_MESSAGE_SERVER_NOT_WRITEABLE = "You do not have sufficient permissions to perform this operation on the selected server"
static

◆ USER_MESSAGE_SERVER_NOT_WRITEABLE [2/4]

const QString USER_MESSAGE_SERVER_NOT_WRITEABLE = "You do not have sufficient permissions to perform this operation on the selected server"
static

◆ USER_MESSAGE_SERVER_NOT_WRITEABLE [3/4]

const QString USER_MESSAGE_SERVER_NOT_WRITEABLE = "You do not have sufficient permissions to perform this operation on the selected server"
static

◆ USER_MESSAGE_SERVER_NOT_WRITEABLE [4/4]

const QString USER_MESSAGE_SERVER_NOT_WRITEABLE = "You do not have sufficient permissions to perform this operation on the selected server"
static

◆ USER_SCOPE

const QString USER_SCOPE = "User Settings"
static

◆ userMessageNoCredentialsDialog

const QString userMessageNoCredentialsDialog = "There is no credentials dialog provided by the currently selected authentication provider"
static