CCAFFEINE  0.8.8
ComponentRecord_Impl.h
00001 #ifndef __COMPONENTRECORD_IMPLH__
00002 #define __COMPONENTRECORD_IMPLH__
00003 
00004 namespace ccafe {
00005 
00009 class ComponentRecord_Impl : public virtual ccafeopq::ComponentClassDescription_Interface {
00010 private:
00011   ccafeopq::ComponentClassDescription_shared ccd;
00012   void * (*create)();
00013   int inFactory;   // if 1, className will be found in ccafe_factory_list.
00014   void setInFactory(int i);
00015   bool foundInPath;
00016 
00017 public:
00018 
00019   ComponentRecord_Impl();
00020   virtual ~ComponentRecord_Impl() ;
00021 
00022   // char * libraryClassName; // className found with library introspection.
00023   virtual ::std::string getComponentClassName() throw (ccafeopq::Exception );
00024   
00025 
00026   // char * componentType;    // classic, babel, etc.
00027   virtual ::std::string getCCASpecBinding() throw (ccafeopq::Exception ) ;
00028 
00029   // char * indexName;        // where we found out about this class.
00030   virtual ::std::string getIndexFile() throw (ccafeopq::Exception ) ;
00031   
00032   //char * className;        // className defined for user, possibly disambiguated
00033                            // or taken from .cca file for library.
00034   virtual ::std::string getDeploymentClassAlias() throw (ccafeopq::Exception ) ;
00035 
00036   // char * cFuncName;        // constructor function name for className
00037   virtual ::std::string getConstructorName() throw (ccafeopq::Exception );
00038 
00039   // dynamic
00040   virtual ::std::string getLibraryLoading() throw (ccafeopq::Exception);
00041 
00042   // char * libraryPath;      // .so file name where class+cfunc is found.
00043   virtual ::std::string getLibraryName() throw (ccafeopq::Exception );
00044 
00045   char * buildLocation;    // component data, if available.
00046   virtual ::std::string getLibraryLocation() throw (ccafeopq::Exception );
00047 
00048   // dummy
00049   virtual ::std::string getExecScript() throw (ccafeopq::Exception );
00050 
00051   // dummy
00052   virtual void getDOMTree() throw (ccafeopq::Exception );
00053 
00054   bool getInFactory();
00055   
00056   void setCCD( ccafeopq::ComponentClassDescription_shared ccd);
00057 
00059   // ConstructorFunc  getConstructorFunc();
00060   void *getConstructorFunc();
00061 
00067   void setConstructorFunc( void * func);
00068 
00072   bool getFoundInPath();
00073 
00074   void setFoundInPath(bool tf);
00075 
00076   std::string toString();
00077 
00078 }; // end class ComponentRecord_Impl
00079 
00080 } // end namespace ccafe
00081 
00082 #endif // __COMPONENTRECORD_IMPLH__