FieldString.h

Go to the documentation of this file.
00001 // Copyright CERN 2012 - Developed in collaboration with GSI
00002 
00003 #ifndef FIELD_STRING_H_
00004 #define FIELD_STRING_H_
00005 
00006 #include <fesa-core/DataStore/AbstractField.h>
00007 #include <fesa-core/DataStore/FieldValue.h>
00008 
00009 namespace fesa
00010 {
00011 
00016 class FieldString : public AbstractField
00017 {
00018   public:
00019 
00024     FieldString (const std::string& fieldName, const FieldCategory fieldCategory, bool multiplexed,
00025                  bool multiMultiplexed, bool persistent, DataIntegrity bufferType, DataStore* pDataStore, int32_t size);
00026 
00030     ~FieldString();
00031 
00037     uint32_t getMaxSize();
00038 
00039   protected:
00040 
00045     void initialize(FieldElement& fieldElement);
00046 
00052     uint32_t getFieldValueSize();
00053 
00058     void setFieldValueAddress(char* pFV, bool initFieldsFlag);
00059 
00064     FieldValue<char[]>* getFieldValue(int32_t slot);
00065 
00071     void copyValue(uint32_t slot, std::string& str);
00072 
00073     /*
00074      * \return the value of the pending buffer as a string
00075      */
00076     void getValueToStore(int32_t slot,std::string& str);
00077 
00081     uint32_t maxSize_;
00082 
00087     FieldValue<char[]>* fieldValue_;
00088 
00089 };
00090 
00091 //******************************************************************
00092 
00093 
00094 } // fesa
00095 
00096 #endif // FIELD_STRING_H_

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1