00001 #ifndef __INSTANTIO_STATEKEEPERXML_H
00002 #define __INSTANTIO_STATEKEEPERXML_H
00003
00004 #ifdef _MSC_VER
00005 # pragma once
00006 #endif
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "InstantIODef.h"
00027 #include <iosfwd>
00028 namespace Hermes
00029 {
00030 class URL;
00031 }
00032 namespace XMLWrap
00033 {
00034 class XMLWriter;
00035 }
00036
00037
00038 namespace InstantIO
00039 {
00040
00041
00042 class Namespace;
00043 class StateKeeperXMLHandler;
00044
00045
00053 class INSTANTIO_DLLMAPPING StateKeeperXML
00054 {
00055 public:
00056
00066 static void save(Namespace &ns, std::ostream &os);
00067
00076 static void load(Namespace &ns, std::istream &is)
00077 ;
00078
00086 static void load(Namespace &ns, const Hermes::URL &url)
00087 ;
00088
00089 private:
00090
00092 StateKeeperXML();
00093
00095 StateKeeperXML(const StateKeeperXML &);
00096
00098 const StateKeeperXML &operator=(const StateKeeperXML &);
00099
00107 static void save(Namespace &ns, XMLWrap::XMLWriter &writer);
00108
00116 static void load(StateKeeperXMLHandler *handler, std::istream &is)
00117 ;
00118 };
00119
00120
00121 }
00122
00123
00124 #endif // __INSTANTIO_STATEKEEPERXML_H