Go to the documentation of this file.00001 #ifndef baciCharacteristicModelImpl_H
00002 #define baciCharacteristicModelImpl_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00035 #ifndef __cplusplus
00036 #error This is a C++ include file and cannot be used from plain C
00037 #endif
00038
00039 #include <baciS.h>
00040
00041 #include <acsContainerServices.h>
00042 #include <lokiSmartPtr.h>
00043 #include <cdbDAONode.h>
00044 #include <cdbErrType.h>
00045
00046 namespace baci {
00047
00048 class baci_EXPORT CharacteristicModelImpl : public virtual PortableServer::RefCountServantBase,
00049 public virtual POA_ACS::CharacteristicModel
00050 {
00051 public:
00052
00071 CharacteristicModelImpl(const ACE_CString& model_name, maci::ContainerServices* containerServices);
00072
00090 CharacteristicModelImpl(const ACE_CString& child_name, CharacteristicModelImpl* parentModel);
00091
00092 virtual ~CharacteristicModelImpl();
00093
00094 const char* getModelName() const { return model_name_m.c_str(); };
00095
00099 cdb::DAONode* getDAONode()const;
00100
00101
00102
00103 virtual CosPropertyService::PropertySet_ptr get_all_characteristics ();
00104
00105
00106
00107
00108 virtual CORBA::Any * get_characteristic_by_name (const char * name);
00109
00110 virtual ACS::stringSeq * find_characteristic (const char * reg_exp);
00111
00112 protected:
00113
00118 virtual bool readCharacteristics();
00119
00121 ACE_CString model_name_m;
00122
00126 cdb::DAONode* m_daoNode_p;
00127
00128
00129 static PortableServer::POA_ptr offShootPOA;
00130
00131 };
00132
00133 };
00134
00135 #endif
00136
00137
00138
00139
00140