18 #include <boost/serialization/access.hpp>
19 #include <boost/serialization/nvp.hpp>
20 #include <boost/archive/xml_iarchive.hpp>
21 #include <boost/archive/xml_oarchive.hpp>
29 virtual void write(boost::archive::xml_oarchive& ar,
int version)
const = 0;
30 virtual void read(boost::archive::xml_iarchive& ar,
int version) = 0;
45 virtual void addGuiSetting(
const std::string& type,
DtGuiSetting* setting);
46 virtual void removeGuiSetting(
const std::string& type);
49 virtual void save(
const std::string& filename);
52 virtual void load(
const std::string& filename);
56 friend class boost::serialization::access;
61 template<
class Archive>
62 void serialize(Archive & ar,
const unsigned int version)
64 if (Archive::is_loading::value)
66 GuiSettings::iterator iter = myGuiSettings.begin();
68 while (iter != myGuiSettings.end())
70 (*iter).second->read(*(boost::archive::xml_iarchive*)&ar,version);
76 GuiSettings::const_iterator iter = myGuiSettings.begin();
78 while (iter != myGuiSettings.end())
80 (*iter).second->write(*(boost::archive::xml_oarchive*)&ar,version);
89 typedef std::pair<std::string, DtGuiSetting*>
GuiSetting;