AbstractPropertyTypeDefinition.h

Go to the documentation of this file.
00001 // Copyright CERN 2012 - Developed in collaboration with GSI
00002 
00003 #ifndef ABSTRACT_PROPERTY_TYPE_DEFINITION_H_
00004 #define ABSTRACT_PROPERTY_TYPE_DEFINITION_H_
00005 
00006 #include <cmw-rda/Data.h>
00007 
00008 #include <string>
00009 
00010 namespace fesa
00011 {
00012 
00013 class MultiplexingContext;
00014 class AbstractDevice;
00015 
00020 class AbstractPropertyTypeDefinition
00021 {
00022   public:
00023 
00027     AbstractPropertyTypeDefinition();
00028 
00032     virtual ~AbstractPropertyTypeDefinition();
00033 
00038     rdaData* getRdaData();
00039 
00044     const std::string& getPropertyName();
00045 
00050     bool itemAvailable(const char* itemName);
00051 
00056     virtual void getRefItems(fesa::MultiplexingContext* context, AbstractDevice* device);
00057 
00062     virtual void setRefItems(fesa::MultiplexingContext* context, AbstractDevice* device);
00063 
00064   protected:
00065 
00070     rdaData* pData_;
00071 
00076     std::string propertyName_;
00077 
00078     bool rdaDataOwnership_;
00079 
00080 };
00081 
00082 //******************************************************************
00083 
00084 
00085 inline rdaData* AbstractPropertyTypeDefinition::getRdaData()
00086 {
00087     return pData_;
00088 }
00089 
00090 inline const std::string& AbstractPropertyTypeDefinition::getPropertyName()
00091 {
00092     return propertyName_;
00093 }
00094 
00095 inline bool AbstractPropertyTypeDefinition::itemAvailable(const char* itemName)
00096 {
00097     return pData_->contains(itemName);
00098 }
00099 
00100 } // fesa
00101 
00102 #endif // ABSTRACT_PROPERTY_TYPE_DEFINITION_H_

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1