18 #include <boost/serialization/access.hpp>
19 #include <boost/serialization/nvp.hpp>
20 #include <boost/serialization/list.hpp>
21 #include <boost/serialization/map.hpp>
22 #include <boost/serialization/vector.hpp>
23 #include <boost/serialization/string.hpp>
38 typedef std::map<std::string, BuildConfigurationMap>
PlatformMap;
41 typedef std::map<std::string, PlatformMap>
PluginMap;
53 virtual bool load(
const std::string& file);
56 virtual bool save(
const std::string& file);
59 virtual const std::string& file()
const;
64 virtual std::string name()
const;
67 virtual bool rename(
const std::string& newName);
69 void setAutoSave(
bool);
70 bool autoSave()
const;
73 void setApplication(
const std::string& application);
74 virtual const std::string& application()
const;
76 void setPlatform(
const std::string& platform);
77 virtual const std::string& platform()
const;
79 void setTransport(
const std::string& transport);
80 virtual const std::string& transport()
const;
82 void setConfiguration(
const std::string&);
83 virtual const std::string& configuration()
const;
85 virtual std::string value(
const std::string& key)
const;
86 virtual std::string value(
const std::string& application,
87 const std::string& platform,
const std::string& configuration,
const std::string& transport,
const std::string& key)
const;
89 virtual std::string plugin()
const;
90 virtual std::string plugin(
const std::string& application,
91 const std::string& platform,
const std::string& configuration,
const std::string& transport)
const;
93 virtual bool loadPlugin()
const;
94 virtual bool loadPlugin(
const std::string& application,
95 const std::string& platform,
const std::string& configuration,
const std::string& transport)
const;
97 virtual void setPlugin(
const std::string&);
98 virtual void setPlugin(
const std::string& application,
99 const std::string& platform,
const std::string& configuration,
const std::string& transport,
const std::string& plugin);
103 virtual PluginData pluginData(
const std::string& application,
104 const std::string& platform,
const std::string& configuration,
const std::string& transport)
const;
106 virtual void setPluginData(
const std::string& key,
const std::string& value);
107 virtual void setPluginData(
const std::string& application,
108 const std::string& platform,
const std::string& configuration,
const std::string& transport,
const std::string& key,
109 const std::string& value);
113 virtual bool removePlugin();
114 virtual bool removePlugin(
const std::string& application,
115 const std::string& platform,
const std::string& configuration,
const std::string& transport);
119 virtual bool addPlugin(
const std::string& application,
120 const std::string& platform,
const std::string& configuration,
const std::string& transport);
124 virtual bool removePluginData(
const std::string& key);
125 virtual bool removePluginData(
const std::string& application,
126 const std::string& platform,
const std::string& configuration,
const std::string& transport,
const std::string& key);
128 const PluginMap& pluginStructure()
const;
132 virtual bool load()
const;
135 virtual void clearConfigurationsFrom(
const std::string& application);
136 virtual void duplicateProtocolConfiguration(
const std::string& application,
const std::string& sourceProtocol,
const std::string& destinationProtocol);
137 virtual void removeProtocol(
const std::string& application,
const std::string& protocol);
140 friend class boost::serialization::access;
145 template<
class Archive>
146 void serialize(Archive & ar,
const unsigned int version)
149 ar & BOOST_SERIALIZATION_NVP(myPluginData);
150 ar & BOOST_SERIALIZATION_NVP(myLoad);
155 unsigned int myVersion = 2;
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
std::string myTransport
Definition: vrfPluginRecord.h:158
std::string myApplication
Definition: vrfPluginRecord.h:159
std::string myFile
Definition: vrfPluginRecord.h:160
std::string myConfiguration
Definition: vrfPluginRecord.h:157
std::map< std::string, PlatformMap > PluginMap
Map by application (vrfSim, vrfGui, etc.)
Definition: vrfPluginRecord.h:41
std::map< std::string, BuildConfigurationMap > PlatformMap
Map by platform (windows, irix, linux, etc.)
Definition: vrfPluginRecord.h:38
std::string myPlatform
Definition: vrfPluginRecord.h:156
bool myAutoSave
Definition: vrfPluginRecord.h:163
PluginMap myPluginData
Definition: vrfPluginRecord.h:154
class DtVrfPluginRecord:
Definition: vrfPluginRecord.h:25
bool myLoad
Definition: vrfPluginRecord.h:162
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
std::map< std::string, std::string > PluginData
Plugin data map (keyword/value pairs)
Definition: vrfPluginRecord.h:29
std::map< std::string, TransportConfigurationMap > BuildConfigurationMap
Map by build configuration (release, debug or any)
Definition: vrfPluginRecord.h:35
std::map< std::string, PluginData > TransportConfigurationMap
Map by protocol (DIS, HLA13, HLA1516 or Independent)
Definition: vrfPluginRecord.h:32
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the & operator is defined similar to <<...
Definition: vrfPluginRecord.h:146