VR-Forces 4.1 Class Documentation
DtSchemaEntry.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtSchemaEntry.h,v $ $Revision: 1.10 $ $State: Exp $
7 ******************************************************************************/
8 
11 
12 #ifndef DtSchemaEntry_H_
13 #define DtSchemaEntry_H_
14 
17 
18 namespace makArchives
19 {
24  {
25  public:
26  typedef std::vector<DtSchemaParameter> DtSchemaParameters;
27 
29  DtSchemaEntry();
30 
32  DtSchemaEntry(const std::string& name);
33 
35  DtSchemaEntry(const DtSchemaEntry& copy);
36 
38  ~DtSchemaEntry();
39 
42  static const DtSchemaEntry& defaultInstance();
43 
45  DtSchemaEntry& operator=(const DtSchemaEntry& copy);
46 
48  const std::string& name() const
49  {
50  return myName;
51  }
52 
54  void setName(const std::string& n)
55  {
56  myName = n;
57  }
59  virtual void addParameter(const DtSchemaParameter& parameter);
60 
63  virtual bool removeSchemaParameter(const std::string name);
64 
66  const DtSchemaParameters& schemaParameters() const
67  {
68  return myParameters;
69  }
70 
72  virtual bool renameParameter(const std::string& oldName, const std::string& newName);
73 
76  DtSchemaParameter* findSchemaParameter(const std::string name);
77 
80  const DtSchemaParameter* findSchemaParameter(const std::string name) const;
81 
82  protected:
83 
84  friend class boost::serialization::access;
85 
89 
90  template <typename Archive>
91  void serialize(Archive& ar,unsigned int version)
92  {
93  ar & BOOST_SERIALIZATION_NVP(myName);
94  ar & BOOST_SERIALIZATION_NVP(myParameters);
95  }
96 
98  static bool findSchemaFunction(const DtSchemaParameter& parameter, const std::string& name);
99 
100  protected:
101  std::string myName;
103  };
104 };
105 
107 
108 #endif

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)