diff options
Diffstat (limited to 'slicer/xml/serializer.h')
-rw-r--r-- | slicer/xml/serializer.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/slicer/xml/serializer.h b/slicer/xml/serializer.h index a57e846..c580cde 100644 --- a/slicer/xml/serializer.h +++ b/slicer/xml/serializer.h @@ -21,6 +21,16 @@ namespace Slicer { static void ModelTreeProcessElement(xmlpp::Element * n, ModelPartPtr mp, const ElementCreator &); }; + class XmlStreamSerializer : public XmlSerializer { + public: + DLL_PUBLIC XmlStreamSerializer(std::ostream &); + + virtual void Serialize(ModelPartPtr) override; + + private: + std::ostream & strm; + }; + class XmlFileSerializer : public XmlSerializer { public: DLL_PUBLIC XmlFileSerializer(const boost::filesystem::path &); @@ -47,6 +57,16 @@ namespace Slicer { static void DocumentTreeIterate(const xmlpp::Document * doc, ModelPartPtr mp); }; + class XmlStreamDeserializer : public XmlDeserializer { + public: + DLL_PUBLIC XmlStreamDeserializer(std::istream &); + + virtual void Deserialize(ModelPartPtr) override; + + private: + std::istream & strm; + }; + class XmlFileDeserializer : public XmlDeserializer { public: DLL_PUBLIC XmlFileDeserializer(const boost::filesystem::path &); |