summaryrefslogtreecommitdiff
path: root/project2/xml/xmlScriptParser.h
diff options
context:
space:
mode:
Diffstat (limited to 'project2/xml/xmlScriptParser.h')
-rw-r--r--project2/xml/xmlScriptParser.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/project2/xml/xmlScriptParser.h b/project2/xml/xmlScriptParser.h
index ae5f3af..4f9881b 100644
--- a/project2/xml/xmlScriptParser.h
+++ b/project2/xml/xmlScriptParser.h
@@ -5,7 +5,6 @@
#include "exceptions.h"
#include "scriptLoader.h"
#include "scripts.h"
-#include <intrusivePtrBase.h>
#include <boost/filesystem/path.hpp>
#include <libxml++/document.h>
#include <libxml++/nodes/element.h>
@@ -23,17 +22,17 @@ class XmlScriptNode : public ScriptNode {
ScriptNodes children() const;
ScriptNodes childrenIn(const Glib::ustring&) const;
bool valueExists(const Glib::ustring&) const;
- VariableImpl * variable(const boost::optional<Glib::ustring> & defaultSource) const;
- VariableImpl * variable(const Glib::ustring&) const;
+ std::shared_ptr<VariableImpl> variable(const boost::optional<Glib::ustring> & defaultSource) const;
+ std::shared_ptr<VariableImpl> variable(const Glib::ustring&) const;
bool applyValue(const Glib::ustring & name, VariableType & target, ExecContext *) const;
void composeWithCallbacks(const ScriptNode::LiteralCallback&, const ScriptNode::NodeCallback&) const;
private:
const xmlpp::Element * element;
- mutable boost::shared_ptr<ScriptNodes> childrenCache;
+ mutable std::shared_ptr<ScriptNodes> childrenCache;
};
-class DLL_PUBLIC XmlScriptParser : public xmlpp::DomParser, public ScriptReader {
+class DLL_PUBLIC XmlScriptParser : public xmlpp::DomParser, public ScriptReader, public std::enable_shared_from_this<XmlScriptParser> {
public:
SimpleMessageException(ParseError);
SimpleMessageExceptionBase(NotReadable, ParseError);