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.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/slicer/xml/serializer.h b/slicer/xml/serializer.h
index 5521dc4..e13b5b5 100644
--- a/slicer/xml/serializer.h
+++ b/slicer/xml/serializer.h
@@ -5,8 +5,11 @@
#include <libxml++/document.h>
#include <libxml++/nodes/element.h>
#include <visibility.h>
+#include <lazyPointer.h>
namespace Slicer {
+ typedef ::AdHoc::LazyPointer<xmlpp::Element, xmlpp::Element *> CurrentElementCreator;
+
class DLL_PUBLIC XmlSerializer : public Serializer {
protected:
typedef boost::function<xmlpp::Element *(xmlpp::Element *, const Glib::ustring &)> ElementCreator;
@@ -14,7 +17,7 @@ namespace Slicer {
static void ModelTreeIterateRoot(xmlpp::Document *, const std::string &, ModelPartPtr mp);
protected:
- static void ModelTreeProcessElement(xmlpp::Element * n, ModelPartPtr mp, const ElementCreator &);
+ static void ModelTreeProcessElement(const CurrentElementCreator &, ModelPartPtr mp, const ElementCreator &);
static void ModelTreeIterateDictAttrs(xmlpp::Element * element, ModelPartPtr dict);
static void ModelTreeIterateDictElements(xmlpp::Element * element, ModelPartPtr dict);
};