![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: stringSetting.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 // \file stringSetting.h 00010 // \brief Generic string object for use with DtSettingsManager 00011 // This is a general purpose stringean object which is instantiated by 00012 // DtSettingsManager::addIndependentString. 00013 00014 #ifndef stringSetting_H_ 00015 #define stringSetting_H_ 00016 00017 #include "makSettingsManager/settingsObject.h" 00018 #include "makSettingsManager/settingsObjectFactory.h" 00019 00020 #include <boost/serialization/nvp.hpp> 00021 #include <boost/serialization/base_object.hpp> 00022 #include <boost/serialization/export.hpp> 00023 00024 #include <boost/archive/xml_iarchive.hpp> 00025 #include <boost/archive/xml_oarchive.hpp> 00026 #include <boost/archive/text_iarchive.hpp> 00027 #include <boost/archive/text_oarchive.hpp> 00028 00029 #include "makSettingsManager/makSettingsManagerDefines.h" 00030 class DT_DLL_makSettingsManager DtStringSetting : public DtSettingsObject 00031 { 00032 public: 00033 // Default constructor, required for deserialization 00034 DtStringSetting(); 00035 00036 // Constructor 00037 DtStringSetting(std::string name, std::string value); 00038 00039 // Copy constructor 00040 DtStringSetting(const DtStringSetting& orig); 00041 00042 // Equality operator 00043 virtual bool operator==(const DtSettingsObject & other) const; 00044 00045 // Inequality operator 00046 virtual bool operator!=(const DtSettingsObject & other) const; 00047 00048 // Used by DtSettingsManager::setSetting when it needs to update an 00049 // existing DtSettingsObject. 00050 virtual bool setFrom(const DtSettingsObject* other); 00051 00052 // Clone operator, returns a new settings which is a copy of this one. 00053 virtual DtSettingsObject* clone() const; 00054 00055 // The stringean value 00057 std::string value() const; 00058 void setValue(std::string value); 00060 00061 private: 00062 // Serialization support 00063 friend class boost::serialization::access; 00064 template<class Archive> 00065 void serialize(Archive & ar, const unsigned int version) 00066 { 00067 // Serialize the base class 00068 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(DtSettingsObject); 00069 // Serialize the members 00070 ar & BOOST_SERIALIZATION_NVP(myValue); 00071 } 00072 00073 protected: 00074 std::string myValue; 00075 }; 00076 00077 #endif