VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSchema.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtSchema.h,v $ $Revision: 1.10 $ $State: Exp $
7 ******************************************************************************/
8 
11 
12 #pragma once
13 
16 
17 namespace makArchives
18 {
23  {
24  public:
25  typedef std::vector<DtSchemaEntry> SchemaEntries;
26 
28  DtSchema();
29 
31  DtSchema(const std::string& name);
32 
34  DtSchema(const DtSchema& copy);
35 
37  virtual ~DtSchema();
38 
40  DtSchema& operator=(const DtSchema& copy);
41 
43  const std::string& name() const
44  {
45  return myName;
46  }
47 
49  void setName(const std::string& n)
50  {
51  myName = n;
52  }
53 
55  virtual void addSchemaEntry(const DtSchemaEntry& entry);
56 
59  virtual bool removeSchemaEntry(const std::string& name);
60 
63  {
64  return mySchemaEntries;
65  }
66 
68  void clear()
69  {
70  mySchemaEntries.clear();
71  }
72 
75  {
76  mySchemaEntries = e;
77  }
78 
81  DtSchemaEntry* findSchemaEntry(const std::string& name);
82  const DtSchemaEntry* findSchemaEntry(const std::string& name) const;
83 
87  virtual void merge(const DtSchema& rhs);
88 
90  virtual bool renameSchemaEntry(const std::string& oldName, const std::string& newName);
91 
92  protected:
93 
94  friend class boost::serialization::access;
95 
99 
100  template <typename Archive>
101  void serialize(Archive& ar,unsigned int version)
102  {
103  ar & BOOST_SERIALIZATION_NVP(myName);
104 
105  if (version < 2)
106  {
107  int myType;
108  ar & BOOST_SERIALIZATION_NVP(myType);
109  }
110 
111  ar & BOOST_SERIALIZATION_NVP(mySchemaEntries);
112  }
113 
115  static bool findSchemaEntryFunction(const DtSchemaEntry& parameter, const std::string& name);
116 
117  protected:
118  std::string myName;
120  };
121 };
122 
SchemaEntries mySchemaEntries
Definition: DtSchema.h:119
std::string myName
Definition: DtSchema.h:118
void serialize(Archive &ar, unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: DtSchema.h:101
const SchemaEntries & schemaEntries() const
Get the schema entries.
Definition: DtSchema.h:62
Contains DLL export macros.
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 2)
Collection of DtSchemaEntry objects Used to archive model definition schemas.
Definition: DtSchema.h:22
std::vector< DtSchemaEntry > SchemaEntries
Definition: DtSchema.h:25
The makArchives::DtSchemaEntry class is a collection of makArchives::DtSchemaParameter objects...
Definition: DtSchemaEntry.h:23
void clear()
Clear the schema entries.
Definition: DtSchema.h:68
void setSchemaEntries(const SchemaEntries &e)
Set the schema entries.
Definition: DtSchema.h:74
void setName(const std::string &n)
Get the schema&#39;s name.
Definition: DtSchema.h:49
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
const std::string & name() const
Get the schema&#39;s name.
Definition: DtSchema.h:43

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)