VR-Forces 4.0.4 Class Documentation
examples/settingsManager/settingsManagerSim/testSettings.h
Go to the documentation of this file.
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 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)