SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
Namespaces | Classes | Typedefs | Enumerations | Functions
smtk::project Namespace Reference

Projects organize a user workspace. More...

Namespaces

 detail
 Global access methods used to sort Container data.
 

Classes

struct  IdTag
 Tags used to access Project data from multiindex arrays. More...
 
struct  IndexTag
 
struct  LocationTag
 
class  Manager
 A Manager for projects. More...
 
class  Metadata
 Project Metadata contains a Project's typename and type index, a functor for creating instances of the Project, a whitelist of Resources and Operations the Project uses, and a version string. More...
 
struct  NameTag
 
class  Operation
 A base class for operations that require access to a project manager. More...
 
class  OperationFactory
 An OperationFactory is a factory for a Project's Operations. More...
 
class  Project
 A Project represents an encapsulation of a subset of SMTK's Resources and Operations for the purpose of accomplishing a targeted set of tasks. More...
 
class  Registrar
 
class  ResourceContainer
 A ResourceContainer is a container for a Project's Resources. More...
 
struct  RoleTag
 

Typedefs

typedef smtk::shared_ptr< smtk::project::ManagerManagerPtr
 
typedef smtk::weak_ptr< smtk::project::ManagerWeakManagerPtr
 
typedef smtk::shared_ptr< smtk::project::ProjectProjectPtr
 
typedef smtk::shared_ptr< const smtk::project::ProjectConstProjectPtr
 
typedef boost::multi_index_container< ProjectPtr, indexed_by< ordered_unique< tag< IdTag >, global_fun< const ProjectPtr &, const smtk::common::UUID &, &smtk::project::detail::id > >, ordered_non_unique< tag< IndexTag >, global_fun< const ProjectPtr &, smtk::project::Project::Index, &smtk::project::detail::index > >, ordered_non_unique< tag< NameTag >, global_fun< const ProjectPtr &, std::string, &smtk::project::detail::name > >, ordered_non_unique< tag< LocationTag >, global_fun< const ProjectPtr &, const std::string &, &smtk::project::detail::location > > > > Container
 A multi-index container for accessing projects. More...
 
typedef boost::multi_index_container< Metadata, indexed_by< ordered_unique< tag< NameTag >, const_mem_fun< Metadata, const std::string &, &Metadata::typeName > >, ordered_unique< tag< IndexTag >, const_mem_fun< Metadata, const smtk::project::Project::Index &, &Metadata::index > > > > MetadataContainer
 A multi-index container for accessing project metadata. More...
 
typedef std::function< void(const Metadata &, bool)> MetadataObserver
 An observer for the addition and removal of Project Metadata from a Project Manager. More...
 
typedef smtk::common::Observers< MetadataObserverMetadataObservers
 
typedef std::function< void(const Project &, EventType)> Observer
 
typedef smtk::common::Observers< Observer > Observers
 
template<typename Self , typename Parent >
using DerivedFrom = smtk::resource::DerivedFrom< Self, Parent >
 

Enumerations

enum  EventType { EventType::ADDED, EventType::MODIFIED, EventType::REMOVED }
 Enumerate events that the project manager may encounter. More...
 

Functions

bool registerPythonProject (const smtk::project::Manager::Ptr &projectManager, const std::string &moduleName)
 

Detailed Description

Projects organize a user workspace.

Typedef Documentation

◆ Container

typedef boost::multi_index_container< ProjectPtr, indexed_by< ordered_unique< tag<IdTag>, global_fun<const ProjectPtr&, const smtk::common::UUID&, &smtk::project::detail::id> >, ordered_non_unique< tag<IndexTag>, global_fun<const ProjectPtr&, smtk::project::Project::Index, &smtk::project::detail::index> >, ordered_non_unique< tag<NameTag>, global_fun<const ProjectPtr&, std::string, &smtk::project::detail::name> >, ordered_non_unique< tag<LocationTag>, global_fun<const ProjectPtr&, const std::string&, &smtk::project::detail::location> > > > smtk::project::Container

A multi-index container for accessing projects.

This class is primarily intended to be used in the implementation of smtk::project::Manager only.

◆ ManagerPtr

◆ MetadataContainer

typedef boost::multi_index_container< Metadata, indexed_by< ordered_unique<tag<NameTag>, const_mem_fun<Metadata, const std::string&, &Metadata::typeName> >, ordered_unique< tag<IndexTag>, const_mem_fun<Metadata, const smtk::project::Project::Index&, &Metadata::index> > > > smtk::project::MetadataContainer

A multi-index container for accessing project metadata.

This class is primarily intended to be used in the implementation of smtk::project::Manager only.

◆ MetadataObserver

typedef std::function<void(const Metadata&, bool)> smtk::project::MetadataObserver

An observer for the addition and removal of Project Metadata from a Project Manager.

The boolean input is true when Metadata is added and false when removed.

◆ ProjectPtr

Enumeration Type Documentation

◆ EventType

Enumerate events that the project manager may encounter.

Enumerator
ADDED 

A new project's contents now available in memory.

MODIFIED 

An existing project's contents have been modified.

REMOVED 

An existing project's contents are being removed from memory.