CCAFFEINE  0.8.8
OpqAbstractFramework.h
00001 #ifndef ccafe_AbstractFramework_h_seen
00002 #define ccafe_AbstractFramework_h_seen
00003 
00004 namespace ccafe {
00005 
00012 class Frame;
00013 
00019 class AbstractFramework : public virtual ::ccafeopq::AbstractFramework
00020 {
00021 
00022 private:
00024         ::ccafe::Frame *f; 
00025 
00026         void checkFrame(const char *s);
00027         int64_t fortranMPIComm;
00028         bool hasComm;
00029 
00030 public:
00031   AbstractFramework(int64_t fComm, bool useComm);
00032 
00034   virtual ~AbstractFramework();
00035 
00045   virtual void initWithString( const ::std::string & arg);
00046 
00047   virtual void initWithArgv( const char **argv, int argc);
00048 
00050   virtual ::ccafeopq::TypeMap_shared createTypeMap();
00051 
00053   virtual ccafeopq::Services *getServices(const std::string & selfInstanceName, const std::string & selfClassName, ::ccafeopq::TypeMap_shared selfProperties);
00054 
00056   virtual ccafeopq::Services *getServices(const std::string & selfInstanceName, const std::string & selfClassName);
00057 
00059   virtual void releaseServices( ::ccafeopq::Services * svc);
00060 
00062   virtual void shutdownFramework();
00063 
00065   virtual ::ccafeopq::AbstractFramework * createEmptyFramework();
00066 
00068   virtual void destroyEmptyFramework( ::ccafeopq::AbstractFramework * subframe);
00069 
00070 }; // end class ccafe::AbstractFramework implementation
00071 
00072 } ENDSEMI // end namespace ccafe
00073 
00074 #endif // ccafe_AbstractFramework_h_seen