summaryrefslogtreecommitdiffstats
path: root/src/uscxml/Factory.cpp
diff options
context:
space:
mode:
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;