SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
Public Member Functions | List of all members
smtk::project::Operation Class Reference

A base class for operations that require access to a project manager. More...

#include <Operation.h>

Inheritance diagram for smtk::project::Operation:
[legend]
Collaboration diagram for smtk::project::Operation:
[legend]

Public Member Functions

 smtkTypeMacro (smtk::project::Operation)
 
 smtkSharedFromThisMacro (smtk::operation::Operation)
 
 smtkSuperclassMacro (smtk::operation::XMLOperation)
 
void setProjectManager (smtk::project::WeakManagerPtr)
 
smtk::project::ManagerPtr projectManager ()
 
- Public Member Functions inherited from smtk::operation::XMLOperation
 smtkTypeMacro (XMLOperation)
 
 smtkSharedFromThisMacro (smtk::operation::Operation)
 
- Public Member Functions inherited from smtk::operation::Operation
 smtkTypeMacroBase (smtk::operation::Operation)
 
virtual Index index () const
 
virtual bool configure (const smtk::attribute::AttributePtr &changedAttribute=smtk::attribute::AttributePtr(), const smtk::attribute::ItemPtr &changedItem=smtk::attribute::ItemPtr())
 Update the operation's specification and operations to be consistent. More...
 
virtual bool ableToOperate ()
 Check if the operation's attribute resource is valid. More...
 
Result operate ()
 Execute the operation, log its outcome and return its results. More...
 
Outcome safeOperate ()
 Execute the operation in an asynchronous environment. More...
 
Outcome safeOperate (Handler handler)
 
virtual bool releaseResult (Result &result)
 Release the operation result returned by operate(). More...
 
virtual smtk::io::Loggerlog () const
 Retrieve the operation's logger. More...
 
Specification specification ()
 This accessor facilitates the lazy construction of the specification, allowing for derived implementations of its creation. More...
 
Parameters parameters ()
 Access the operation's input parameters, constructing them if necessary. More...
 
Parameters parameters () const
 
Result createResult (Outcome)
 Create an attribute representing this operation's result type. More...
 
ManagerPtr manager () const
 Operations that are managed have a non-null pointer to their manager.
 
bool restoreTrace (const std::string &trace)
 restore operation parameters from the trace of a previously run operation.
 
void setManagers (const std::shared_ptr< smtk::common::Managers > &m)
 Operations may be passed application state in the form of a Managers type-container.
 
std::shared_ptr< smtk::common::Managersmanagers () const
 
virtual bool threadSafe () const
 Is this type of operation safe to launch in a thread?
 
smtk::resource::ManagerPtr resourceManager ()
 retrieve the resource manager, if available.
 
Result operate (Key)
 

Additional Inherited Members

- Public Types inherited from smtk::operation::Operation
enum  Outcome {
  Outcome::UNABLE_TO_OPERATE, Outcome::CANCELED, Outcome::FAILED, Outcome::SUCCEEDED,
  Outcome::UNKNOWN = -1
}
 
typedef std::size_t Index
 
typedef std::shared_ptr< smtk::attribute::AttributeParameters
 
typedef std::shared_ptr< smtk::attribute::AttributeResult
 
typedef std::shared_ptr< smtk::attribute::ResourceSpecification
 
typedef std::shared_ptr< smtk::attribute::DefinitionDefinition
 
- Public Attributes inherited from smtk::operation::Operation
friend Manager
 
friend ImportPythonOperation
 
- Protected Member Functions inherited from smtk::operation::XMLOperation
Result operateInternal () override=0
 
Specification createSpecification () override
 
- Protected Member Functions inherited from smtk::operation::Operation
virtual void postProcessResult (Result &)
 
virtual void markModifiedResources (Result &)
 
virtual bool unmanageResources (Result &)
 
virtual void generateSummary (Result &)
 
Specification createBaseSpecification () const
 
- Protected Attributes inherited from smtk::operation::Operation
int m_debugLevel { 0 }
 
std::weak_ptr< Managerm_manager
 
std::shared_ptr< smtk::common::Managersm_managers
 

Detailed Description

A base class for operations that require access to a project manager.

Operations that inherit from this class and that are created by an operation manager that has a project manager observing it will have the project manager assigned to them upon creation. Otherwise, the project manager must be set manually.


The documentation for this class was generated from the following files: