VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
settingsObject.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: settingsObject.h,v $ $Revision: 1.4 $ $State: Exp $
7 *******************************************************************************/
8 
9 // \file settingsObject.h
10 // \brief Base class for all settings objects used by DtSettings.
11 
12 #ifndef settingsObject_H_
13 #define settingsObject_H_
14 
15 // std includes
16 #include <string>
17 
18 // Boost includes
19 #include <boost/serialization/nvp.hpp>
20 #include <boost/archive/xml_iarchive.hpp>
21 #include <boost/archive/xml_oarchive.hpp>
22 
25 
28 {
29 public:
30  // Default constructor, required for deserialization
32 
33  // Constructor
34  DtSettingsObject(std::string name);
35 
36  // Copy constructor
38 
39  // Assignment operator
40  virtual void operator=(const DtSettingsObject& orig);
41 
42  // Equality operator
43  virtual bool operator==(const DtSettingsObject & orig) const;
44 
45  // Inequality operator
46  virtual bool operator!=(const DtSettingsObject& orig) const;
47 
48  // Clone operator, returns a new settings which is a copy of this one.
49  virtual DtSettingsObject* clone() const = 0;
50 
51  virtual ~DtSettingsObject();
52 
53  // Accessor for the setting name
54  virtual std::string name() const;
55 
56  // Reset this object based on another, used by DtSettingsManager::setSetting
57  virtual bool setFrom(const DtSettingsObject* other);
58 
59 private:
60  friend class boost::serialization::access;
61  // Serialization support. Derived classes must call
62  // BOOST_SERIALIZATION_BASE_OBJECT_NVP(DtSettingsObject) in their
63  // implementation of serialize.
64  template<class Archive>
65  void serialize(Archive & ar, const unsigned int version)
66  {
67  ar & BOOST_SERIALIZATION_NVP(myName);
68  }
69 
70 protected:
71  std::string myName;
72 };
73 
74 // Setup this class as abstract in boost
75 BOOST_SERIALIZATION_ASSUME_ABSTRACT(DtSettingsObject)
76 
77 #endif
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
Definition: settingsObject.h:27
std::string myName
Definition: settingsObject.h:71
#define DT_DLL_makSettingsManager
Definition: makSettingsManagerDefines.h:24
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
void serialize(Archive &ar, const unsigned int version)
Definition: settingsObject.h:65

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)