summaryrefslogtreecommitdiff
path: root/slicer/xml/serializer.h
diff options
context:
space:
mode:
Diffstat (limited to 'slicer/xml/serializer.h')
-rw-r--r--slicer/xml/serializer.h40
1 files changed, 31 insertions, 9 deletions
diff --git a/slicer/xml/serializer.h b/slicer/xml/serializer.h
index 842b565..fc5794d 100644
--- a/slicer/xml/serializer.h
+++ b/slicer/xml/serializer.h
@@ -5,35 +5,57 @@
#include <libxml++/document.h>
namespace Slicer {
- class Xml : public Serializer {
+ class XmlSerializer : public Serializer {
protected:
- static void DocumentTreeIterate(const xmlpp::Node * node, ModelPartPtr mp);
- static void DocumentTreeIterate(const xmlpp::Document * doc, ModelPartPtr mp);
static void ModelTreeIterate(xmlpp::Element *, const std::string &, ModelPartPtr mp);
static void ModelTreeIterateRoot(xmlpp::Document *, const std::string &, ModelPartPtr mp);
};
- class XmlFile : public Xml {
+ class XmlFileSerializer : public XmlSerializer {
public:
- XmlFile(const boost::filesystem::path &);
+ XmlFileSerializer(const boost::filesystem::path &);
- virtual void Deserialize(ModelPartPtr) override;
virtual void Serialize(ModelPartPtr) override;
private:
const boost::filesystem::path path;
};
- class XmlDocument : public Xml {
+ class XmlDocumentSerializer : public XmlSerializer {
public:
- XmlDocument(xmlpp::Document * &);
+ XmlDocumentSerializer(xmlpp::Document * &);
- virtual void Deserialize(ModelPartPtr) override;
virtual void Serialize(ModelPartPtr) override;
private:
xmlpp::Document * & doc;
};
+
+ class XmlDeserializer : public Deserializer {
+ protected:
+ static void DocumentTreeIterate(const xmlpp::Node * node, ModelPartPtr mp);
+ static void DocumentTreeIterate(const xmlpp::Document * doc, ModelPartPtr mp);
+ };
+
+ class XmlFileDeserializer : public XmlDeserializer {
+ public:
+ XmlFileDeserializer(const boost::filesystem::path &);
+
+ virtual void Deserialize(ModelPartPtr) override;
+
+ private:
+ const boost::filesystem::path path;
+ };
+
+ class XmlDocumentDeserializer : public XmlDeserializer {
+ public:
+ XmlDocumentDeserializer(const xmlpp::Document *);
+
+ virtual void Deserialize(ModelPartPtr) override;
+
+ private:
+ const xmlpp::Document * doc;
+ };
}
#endif