00001 #ifndef neo_AbstractFramework_hh_seen 00002 #define neo_AbstractFramework_hh_seen 00003 namespace neo { 00004 namespace cca { 00005 00006 00016 class AbstractFramework 00017 { 00018 00019 public: 00020 00021 virtual ~AbstractFramework(){} 00022 00023 virtual TypeMap_shared createTypeMap()= 0; 00024 00025 virtual Services *getServices(const std::string & selfInstanceName, const std::string & selfClassName, TypeMap_shared selfProperties)= 0; 00026 00027 virtual void releaseServices( Services * svc)= 0; 00028 00035 virtual void shutdownFramework()= 0; 00036 00041 virtual AbstractFramework * createEmptyFramework()= 0; 00042 00048 virtual void destroyEmptyFramework( AbstractFramework * subframe)= 0; 00049 00050 }; 00051 00052 } // end namespace cca 00053 } // end namespace neo 00054 00055 #endif // neo_AbstractFramework_hh_seen