summaryrefslogtreecommitdiffstats
path: root/src/uscxml/Factory.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/Factory.h')
-rw-r--r--src/uscxml/Factory.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/uscxml/Factory.h b/src/uscxml/Factory.h
index 09bab7b..29f7f9a 100644
--- a/src/uscxml/Factory.h
+++ b/src/uscxml/Factory.h
@@ -29,17 +29,19 @@ template <typename T> T strTo(std::string tmp) {
class Interpreter;
+#if 0
class ExecutableContent {
public:
ExecutableContent() {};
- virtual ExecutableContent* create(Interpreter* interpreter) = 0;
+ virtual boost::shared_ptr<ExecutableContentImpl>* create(Interpreter* interpreter) = 0;
};
-
+#endif
+
class IOProcessorImpl {
public:
IOProcessorImpl() {};
virtual ~IOProcessorImpl() {};
- virtual IOProcessorImpl* create(Interpreter* interpreter) = 0;
+ virtual boost::shared_ptr<IOProcessorImpl> create(Interpreter* interpreter) = 0;
virtual std::set<std::string> getNames() = 0;
virtual void setInterpreter(Interpreter* interpreter) {
@@ -80,7 +82,7 @@ class InvokerImpl : public IOProcessorImpl {
public:
virtual void invoke(const InvokeRequest& req) = 0;
virtual void sendToParent(const SendRequest& req) = 0;
- virtual InvokerImpl* create(Interpreter* interpreter) = 0;
+ virtual boost::shared_ptr<IOProcessorImpl> create(Interpreter* interpreter) = 0;
};
class Invoker : public IOProcessor {
@@ -110,7 +112,7 @@ protected:
class DataModelImpl {
public:
virtual ~DataModelImpl() {}
- virtual DataModelImpl* create(Interpreter* interpreter) = 0;
+ virtual boost::shared_ptr<DataModelImpl> create(Interpreter* interpreter) = 0;
virtual std::set<std::string> getNames() = 0;
virtual bool validate(const std::string& location, const std::string& schema) = 0;