summaryrefslogtreecommitdiffstats
path: root/src/uscxml/Factory.cpp
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-08-09 15:05:52 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-08-09 15:05:52 (GMT)
commit6dce9df7f483f3229bb2f34f0386ce37a1551e07 (patch)
tree1d3acaec4612d74ee3234c808df7ae5fa3b4ef9f /src/uscxml/Factory.cpp
parent01f8198f8b548e3f28cad1a441ceb8af6ea850a4 (diff)
downloaduscxml-6dce9df7f483f3229bb2f34f0386ce37a1551e07.zip
uscxml-6dce9df7f483f3229bb2f34f0386ce37a1551e07.tar.gz
uscxml-6dce9df7f483f3229bb2f34f0386ce37a1551e07.tar.bz2
Extended Java bindings and OpenAL invoker
Diffstat (limited to 'src/uscxml/Factory.cpp')
-rw-r--r--src/uscxml/Factory.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/uscxml/Factory.cpp b/src/uscxml/Factory.cpp
index b8bf60a..9b6a84a 100644
--- a/src/uscxml/Factory.cpp
+++ b/src/uscxml/Factory.cpp
@@ -49,6 +49,10 @@
# include "uscxml/plugins/invoker/calendar/CalendarInvoker.h"
# endif
+#ifdef OPENAL_FOUND
+# include "uscxml/plugins/invoker/audio/OpenALInvoker.h"
+#endif
+
# ifdef CORELOCATION_FOUND
# include "uscxml/plugins/invoker/location/CoreLocation/LocationInvoker.h"
# endif
@@ -162,6 +166,13 @@ Factory::Factory() {
}
#endif
+#if (defined OPENAL_FOUND && (defined LIBSNDFILE_FOUND || defined AUDIOTOOLBOX_FOUND))
+ {
+ OpenALInvoker* invoker = new OpenALInvoker();
+ registerInvoker(invoker);
+ }
+#endif
+
#ifdef OPENSCENEGRAPH_FOUND
{
OSGInvoker* invoker = new OSGInvoker();
@@ -472,6 +483,22 @@ Factory* Factory::getInstance() {
return _instance;
}
+void EventHandlerImpl::returnErrorExecution(const std::string& cause) {
+ Event exceptionEvent;
+ exceptionEvent.data.compound["exception"] = Data(cause, Data::VERBATIM);
+ exceptionEvent.name = "error.execution";
+ exceptionEvent.type = Event::PLATFORM;
+ returnEvent(exceptionEvent);
+}
+
+void EventHandlerImpl::returnErrorPlatform(const std::string& cause) {
+ Event exceptionEvent;
+ exceptionEvent.data.compound["exception"] = Data(cause, Data::VERBATIM);
+ exceptionEvent.name = "error.platform";
+ exceptionEvent.type = Event::PLATFORM;
+ returnEvent(exceptionEvent);
+}
+
void EventHandlerImpl::returnEvent(Event& event) {
if (event.invokeid.length() == 0)
event.invokeid = _invokeId;