FieldString.h
Go to the documentation of this file.00001
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
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 }
00095
00096 #endif // FIELD_STRING_H_