![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00006 //\file testSettings.h 00007 //\brief Test settings object which contains a double and a bool 00008 00009 #pragma once 00010 00011 //VR-Forces headers 00012 #include "makSettingsManager/settingsObject.h" 00013 #include "makSettingsManager/settingsObjectFactory.h" 00014 00015 //Boost headers 00016 #include <boost/serialization/nvp.hpp> 00017 #include <boost/serialization/base_object.hpp> 00018 #include <boost/serialization/export.hpp> 00019 #include <boost/archive/xml_iarchive.hpp> 00020 #include <boost/archive/xml_oarchive.hpp> 00021 #include <boost/archive/text_iarchive.hpp> 00022 #include <boost/archive/text_oarchive.hpp> 00023 00024 class DtTestSettings : public DtSettingsObject 00025 { 00026 public: 00027 //Default constructor, required for deserialization 00028 DtTestSettings(); 00029 00030 //Constructor 00031 DtTestSettings(std::string name); 00032 00033 //Copy constructor 00034 DtTestSettings(const DtTestSettings& orig); 00035 00036 //Equality operator 00037 virtual bool operator==(const DtSettingsObject & other) const; 00038 00039 //Inequality operator 00040 virtual bool operator!=(const DtSettingsObject & other) const; 00041 00042 //Used by DtSettingsManager::setSetting when it needs to update an 00043 //existing DtSettingsObject. 00044 virtual bool setFrom(const DtSettingsObject* other); 00045 00046 //Clone operator, returns a new settings object which is a copy of this one. 00047 DtSettingsObject* clone() const; 00048 00049 //Double Setting 00051 double doubleSetting() const; 00052 void setDoubleSetting(double setting); 00054 00055 //Bool Setting 00057 bool boolSetting() const; 00058 void setBoolSetting(bool setting); 00060 00061 //Creator 00062 static DtSettingsObject* create(DtSettingsObjectCreationParams& params); 00063 00064 private: 00065 //Serialization support; see the boost serialization documentation at 00066 //boost.org 00067 friend class boost::serialization::access; 00068 template<class Archive> 00069 void serialize(Archive & ar, const unsigned int version) 00070 { 00071 //Serialize the base class 00072 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(DtSettingsObject); 00073 //Serialize the members 00074 ar & BOOST_SERIALIZATION_NVP(myDoubleSetting); 00075 ar & BOOST_SERIALIZATION_NVP(myBoolSetting); 00076 } 00077 00078 protected: 00079 double myDoubleSetting; 00080 bool myBoolSetting; 00081 }; 00082