summaryrefslogtreecommitdiffstats
path: root/src/uscxml/Factory.h
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-01-13 02:20:15 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-01-13 02:20:15 (GMT)
commitc443aaa23e079d8ab94942bfefa65b940c1acd01 (patch)
treebeab36f1446339fe1b157c349c0808e4f5106982 /src/uscxml/Factory.h
parenta116aeb2cf5a84fa03f9814c3884561149029267 (diff)
downloaduscxml-c443aaa23e079d8ab94942bfefa65b940c1acd01.zip
uscxml-c443aaa23e079d8ab94942bfefa65b940c1acd01.tar.gz
uscxml-c443aaa23e079d8ab94942bfefa65b940c1acd01.tar.bz2
Fixed bugs intriduced by PIMPL
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;