21 #include <boost/serialization/access.hpp>
22 #include <boost/serialization/nvp.hpp>
23 #include <boost/serialization/list.hpp>
24 #include <boost/serialization/map.hpp>
25 #include <boost/serialization/vector.hpp>
26 #include <boost/serialization/string.hpp>
41 typedef std::map<std::string, BuildConfigurationMap>
PlatformMap;
44 typedef std::map<std::string, PlatformMap>
PluginMap;
56 virtual bool load(
const std::string& file);
59 virtual bool save(
const std::string& file);
62 virtual const std::string& file()
const;
67 virtual std::string name()
const;
70 virtual bool rename(
const std::string& newName);
72 void setAutoSave(
bool);
73 bool autoSave()
const;
76 void setApplication(
const std::string& application);
77 virtual const std::string& application()
const;
79 void setPlatform(
const std::string& platform);
80 virtual const std::string& platform()
const;
82 void setTransport(
const std::string& transport);
83 virtual const std::string& transport()
const;
85 void setConfiguration(
const std::string&);
86 virtual const std::string& configuration()
const;
88 virtual std::string value(
const std::string& key)
const;
89 virtual std::string value(
const std::string& application,
90 const std::string& platform,
const std::string& configuration,
const std::string& transport,
const std::string& key)
const;
92 virtual std::string
plugin()
const;
93 virtual std::string
plugin(
const std::string& application,
94 const std::string& platform,
const std::string& configuration,
const std::string& transport)
const;
96 virtual bool loadPlugin()
const;
97 virtual bool loadPlugin(
const std::string& application,
98 const std::string& platform,
const std::string& configuration,
const std::string& transport)
const;
100 virtual void setPlugin(
const std::string&);
101 virtual void setPlugin(
const std::string& application,
102 const std::string& platform,
const std::string& configuration,
const std::string& transport,
const std::string&
plugin);
106 virtual PluginData pluginData(
const std::string& application,
107 const std::string& platform,
const std::string& configuration,
const std::string& transport)
const;
109 virtual void setPluginData(
const std::string& key,
const std::string& value);
110 virtual void setPluginData(
const std::string& application,
111 const std::string& platform,
const std::string& configuration,
const std::string& transport,
const std::string& key,
112 const std::string& value);
116 virtual bool removePlugin();
117 virtual bool removePlugin(
const std::string& application,
118 const std::string& platform,
const std::string& configuration,
const std::string& transport);
122 virtual bool addPlugin(
const std::string& application,
123 const std::string& platform,
const std::string& configuration,
const std::string& transport);
127 virtual bool removePluginData(
const std::string& key);
128 virtual bool removePluginData(
const std::string& application,
129 const std::string& platform,
const std::string& configuration,
const std::string& transport,
const std::string& key);
131 const PluginMap& pluginStructure()
const;
135 virtual bool load()
const;
138 friend class boost::serialization::access;
143 template<
class Archive>
144 void serialize(Archive & ar,
const unsigned int version)
146 ar & BOOST_SERIALIZATION_NVP(myPluginData);
147 ar & BOOST_SERIALIZATION_NVP(myLoad);