NEOCCA bindings Specification  0.2.8
AbstractFramework.hh
Go to the documentation of this file.
1 #ifndef neo_AbstractFramework_hh_seen
2 #define neo_AbstractFramework_hh_seen
3 namespace neo {
4 namespace cca {
5 
6 
17 {
18 
19 public:
20 
21  virtual ~AbstractFramework(){}
22 
23  virtual TypeMap_shared createTypeMap()= 0;
24 
25  virtual Services *getServices(const std::string & selfInstanceName, const std::string & selfClassName, TypeMap_shared selfProperties)= 0;
26 
27  virtual void releaseServices( Services * svc)= 0;
28 
35  virtual void shutdownFramework()= 0;
36 
42 
48  virtual void destroyEmptyFramework( AbstractFramework * subframe)= 0;
49 
50 };
51 
52 } // end namespace cca
53 } // end namespace neo
54 
55 #endif // neo_AbstractFramework_hh_seen
Memory lifecycle:
Definition: AbstractFramework.hh:16
virtual TypeMap_shared createTypeMap()=0
boost::shared_ptr< TypeMap > TypeMap_shared
This (TypeMap_shared) is what everyone declares in component code and noone ever calls new on...
Definition: TypeMap.hh:14
virtual void shutdownFramework()=0
Tell the framework to close up shop, but the framework instance still needs to be deallocated by fall...
virtual void destroyEmptyFramework(AbstractFramework *subframe)=0
Destructor of a framework instance obtained from createEmptyFramework.
virtual ~AbstractFramework()
Definition: AbstractFramework.hh:21
The handle through which the component communicates with its containing framework.
Definition: Services.hh:16
virtual AbstractFramework * createEmptyFramework()=0
Constructor of a sub-framework instance – a separate container from this one with the same implement...
virtual Services * getServices(const std::string &selfInstanceName, const std::string &selfClassName, TypeMap_shared selfProperties)=0
virtual void releaseServices(Services *svc)=0
This is neoclassic – the ::classic::gov::cca headers updated to be similar to the official CCA speci...
Definition: neocca.hh:62