From b5c33505b3345795811b4aba7e5fda961068f369 Mon Sep 17 00:00:00 2001 From: Stefan Radomski Date: Wed, 16 Jan 2013 04:11:30 +0100 Subject: Started JavaScriptCore datamodel --- CMakeLists.txt | 96 ++++++++++++++++------ src/uscxml/plugins/Plugins.cpp | 6 +- src/uscxml/plugins/Plugins.h | 6 +- .../ecmascript/JavaScriptCore/JSCDataModel.cpp | 3 - .../ecmascript/JavaScriptCore/JSCDataModel.h | 3 +- .../plugins/datamodel/ecmascript/v8/V8DataModel.h | 2 +- .../plugins/datamodel/prolog/swi/SWIDataModel.h | 2 +- .../invoker/graphics/openscenegraph/OSGInvoker.h | 2 +- .../plugins/invoker/heartbeat/HeartbeatInvoker.h | 2 +- src/uscxml/plugins/invoker/scxml/USCXMLInvoker.h | 2 +- src/uscxml/plugins/invoker/umundo/UmundoInvoker.h | 2 +- .../basichttp/libevent/EventIOProcessor.h | 2 +- 12 files changed, 84 insertions(+), 44 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6453acb..98fd1e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -369,18 +369,21 @@ file(GLOB_RECURSE USCXML_CONCURRENCY src/uscxml/concurrency/*.cpp src/uscxml/concurrency/*.h ) +source_group("Interpreter" FILES ${USCXML_CONCURRENCY}) list (APPEND USCXML_FILES ${USCXML_CONCURRENCY}) file(GLOB_RECURSE USCXML_DEBUG src/uscxml/debug/*.cpp src/uscxml/debug/*.h ) +source_group("Interpreter" FILES ${USCXML_DEBUG}) list (APPEND USCXML_FILES ${USCXML_DEBUG}) file(GLOB USCXML_CORE src/uscxml/*.cpp src/uscxml/*.h ) +source_group("Interpreter" FILES ${USCXML_CORE}) list (APPEND USCXML_FILES ${USCXML_CORE}) include_directories(src) @@ -394,6 +397,7 @@ if (BUILD_AS_PLUGINS) src/uscxml/plugins/*.cpp src/uscxml/plugins/*.h ) + source_group("Interpreter" FILES ${PLUMA}) list (APPEND USCXML_FILES ${PLUMA}) add_definitions("-DBUILD_AS_PLUGINS") endif() @@ -408,11 +412,10 @@ endif() # LIBEVENT basichttp ioprocessor - this one is already required above file(GLOB_RECURSE LIBEVENT_IOPROCESSOR - src/uscxml/concurrency/*.cpp - src/uscxml/concurrency/*.h src/uscxml/plugins/ioprocessor/basichttp/*.cpp src/uscxml/plugins/ioprocessor/basichttp/*.h ) +source_group("IOProcessor" FILES ${LIBEVENT_IOPROCESSOR}) if (BUILD_AS_PLUGINS) add_library( ioprocessor_basichttp SHARED @@ -423,36 +426,68 @@ else() list (APPEND USCXML_FILES ${LIBEVENT_IOPROCESSOR}) endif() - -# GOOGLE V8 datamodel - -# set(ENV{V8_SRC} ${CMAKE_SOURCE_DIR}/../v8) -find_package(V8) -if (V8_FOUND) - include_directories(${V8_INCLUDE_DIR}) - file(GLOB V8_DATAMODEL - src/uscxml/plugins/datamodel/ecmascript/v8/*.cpp - src/uscxml/plugins/datamodel/ecmascript/v8/*.h +# JavaScriptCore ecmascript datamodel +if (APPLE) + FIND_LIBRARY(JSC_LIBRARY JavaScriptCore) + file(GLOB JSC_DATAMODEL + src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/*.cpp + src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/*.h ) - file(GLOB_RECURSE V8_DOM - src/uscxml/plugins/datamodel/ecmascript/v8/dom/*.cpp - src/uscxml/plugins/datamodel/ecmascript/v8/dom/*.h + source_group("Datamodel" FILES ${JSC_DATAMODEL}) + file(GLOB_RECURSE JSC_DOM + src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/*.cpp + src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/*.h ) - source_group("DOM" FILES ${V8_DOM}) - + source_group("DOM" FILES ${JSC_DOM}) if (BUILD_AS_PLUGINS) add_library( - datamodel_v8 SHARED - ${V8_DATAMODEL} - ${V8_DOM}) - target_link_libraries(datamodel_v8 + datamodel_jsc SHARED + ${JSC_DATAMODEL} + ${JSC_DOM}) + target_link_libraries(datamodel_jsc uscxml - ${V8_LIBRARY}) - set_target_properties(datamodel_v8 PROPERTIES FOLDER "Plugin DataModel") + ${JSC_LIBRARY}) + set_target_properties(datamodel_jsc PROPERTIES FOLDER "Plugin DataModel") else() - list (APPEND USCXML_FILES ${V8_DATAMODEL}) - list (APPEND USCXML_FILES ${V8_DOM}) - list (APPEND USCXML_OPT_LIBS ${V8_LIBRARY}) + list (APPEND USCXML_FILES ${JSC_DATAMODEL}) + list (APPEND USCXML_FILES ${JSC_DOM}) + list (APPEND USCXML_OPT_LIBS ${JSC_LIBRARY}) + endif() + +endif() + +# GOOGLE V8 ecmascript datamodel + +if (NOT APPLE) + # set(ENV{V8_SRC} ${CMAKE_SOURCE_DIR}/../v8) + find_package(V8) + if (V8_FOUND) + include_directories(${V8_INCLUDE_DIR}) + file(GLOB V8_DATAMODEL + src/uscxml/plugins/datamodel/ecmascript/v8/*.cpp + src/uscxml/plugins/datamodel/ecmascript/v8/*.h + ) + source_group("Datamodel" FILES ${V8_DATAMODEL}) + file(GLOB_RECURSE V8_DOM + src/uscxml/plugins/datamodel/ecmascript/v8/dom/*.cpp + src/uscxml/plugins/datamodel/ecmascript/v8/dom/*.h + ) + source_group("DOM" FILES ${V8_DOM}) + + if (BUILD_AS_PLUGINS) + add_library( + datamodel_v8 SHARED + ${V8_DATAMODEL} + ${V8_DOM}) + target_link_libraries(datamodel_v8 + uscxml + ${V8_LIBRARY}) + set_target_properties(datamodel_v8 PROPERTIES FOLDER "Plugin DataModel") + else() + list (APPEND USCXML_FILES ${V8_DATAMODEL}) + list (APPEND USCXML_FILES ${V8_DOM}) + list (APPEND USCXML_OPT_LIBS ${V8_LIBRARY}) + endif() endif() endif() @@ -472,6 +507,7 @@ if (SWI_FOUND) src/uscxml/plugins/datamodel/prolog/swi/*.cpp src/uscxml/plugins/datamodel/prolog/swi/*.h ) + source_group("Datamodel" FILES ${SWI_DATAMODEL}) if (BUILD_AS_PLUGINS) add_library( datamodel_swi SHARED @@ -501,6 +537,7 @@ if (UMUNDO_FOUND) file(GLOB_RECURSE UMUNDO_INVOKER src/uscxml/plugins/invoker/umundo/*.cpp src/uscxml/plugins/invoker/umundo/*.h) + source_group("Invoker" FILES ${UMUNDO_INVOKER}) if (BUILD_AS_PLUGINS) add_library( invoker_umundo SHARED @@ -522,6 +559,7 @@ add_definitions("-DUMUNDO_STATIC") file(GLOB_RECURSE USCXML_INVOKER src/uscxml/plugins/invoker/scxml/*.cpp src/uscxml/plugins/invoker/scxml/*.h) +source_group("Invoker" FILES ${USCXML_INVOKER}) if (BUILD_AS_PLUGINS) add_library( invoker_uscxml SHARED @@ -540,6 +578,7 @@ file(GLOB_RECURSE HEARTBEAT_INVOKER src/uscxml/plugins/invoker/heartbeat/*.cpp src/uscxml/plugins/invoker/heartbeat/*.h ) +source_group("Invoker" FILES ${HEARTBEAT_INVOKER}) if (BUILD_AS_PLUGINS) add_library( invoker_heartbeat SHARED @@ -569,6 +608,7 @@ if (OPENSCENEGRAPH_FOUND AND OPENGL_FOUND) file(GLOB_RECURSE OPENSCENEGRAPH_INVOKER src/uscxml/plugins/invoker/graphics/openscenegraph/*.cpp src/uscxml/plugins/invoker/graphics/openscenegraph/*.h) + source_group("Invoker" FILES ${OPENSCENEGRAPH_INVOKER}) if (BUILD_AS_PLUGINS) add_library( @@ -600,6 +640,8 @@ if (MILES_FOUND AND OFF) include_directories(${OPENAL_INCLUDE_DIR}) file(GLOB_RECURSE MILES_INVOKER src/uscxml/invoker/modality/miles/*.cpp src/uscxml/invoker/modality/miles/*.h) + source_group("Invoker" FILES ${MILES_INVOKER}) + if (BUILD_AS_PLUGINS) add_library( invoker_miles SHARED @@ -623,6 +665,8 @@ if (UNIX AND NOT APPLE) list (APPEND USCXML_CORE_LIBS "rt") endif() +list(SORT USCXML_FILES) + ############################################################ # Binaries and tests ############################################################ diff --git a/src/uscxml/plugins/Plugins.cpp b/src/uscxml/plugins/Plugins.cpp index 04b5b99..ba27728 100644 --- a/src/uscxml/plugins/Plugins.cpp +++ b/src/uscxml/plugins/Plugins.cpp @@ -3,9 +3,9 @@ namespace uscxml { #ifdef BUILD_AS_PLUGINS -PLUMA_PROVIDER_SOURCE(DataModel, 1, 1); -PLUMA_PROVIDER_SOURCE(IOProcessor, 1, 1); -PLUMA_PROVIDER_SOURCE(Invoker, 1, 1); +PLUMA_PROVIDER_SOURCE(DataModelImpl, 1, 1); +PLUMA_PROVIDER_SOURCE(IOProcessorImpl, 1, 1); +PLUMA_PROVIDER_SOURCE(InvokerImpl, 1, 1); #endif } \ No newline at end of file diff --git a/src/uscxml/plugins/Plugins.h b/src/uscxml/plugins/Plugins.h index 56dd1e2..1e6ac0b 100644 --- a/src/uscxml/plugins/Plugins.h +++ b/src/uscxml/plugins/Plugins.h @@ -7,9 +7,9 @@ namespace uscxml { #ifdef BUILD_AS_PLUGINS -PLUMA_PROVIDER_HEADER(IOProcessor); -PLUMA_PROVIDER_HEADER(Invoker); -PLUMA_PROVIDER_HEADER(DataModel); +PLUMA_PROVIDER_HEADER(IOProcessorImpl); +PLUMA_PROVIDER_HEADER(InvokerImpl); +PLUMA_PROVIDER_HEADER(DataModelImpl); #endif } diff --git a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp index 7c8ef08..4a217be 100644 --- a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp +++ b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp @@ -61,9 +61,6 @@ void JSCDataModel::setEvent(const Event& event) { Data JSCDataModel::getStringAsData(const std::string& content) { } -Data JSCDataModel::getValueAsData(const JSC::Handle& value) { -} - bool JSCDataModel::validate(const std::string& location, const std::string& schema) { return true; } diff --git a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.h b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.h index 68aca1f..aa57e0f 100644 --- a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.h +++ b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.h @@ -46,7 +46,6 @@ public: virtual void assign(const std::string& location, const Data& data); virtual Data getStringAsData(const std::string& content); - virtual Data getValueAsData(const JSC::Handle& value); virtual std::string evalAsString(const std::string& expr); virtual bool evalAsBool(const std::string& expr); @@ -63,7 +62,7 @@ protected: }; #ifdef BUILD_AS_PLUGINS -PLUMA_INHERIT_PROVIDER(JSCDataModel, DataModel); +PLUMA_INHERIT_PROVIDER(JSCDataModel, DataModelImpl); #endif } diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.h b/src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.h index 7e7bb8d..bcc9052 100644 --- a/src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.h +++ b/src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.h @@ -86,7 +86,7 @@ protected: }; #ifdef BUILD_AS_PLUGINS -PLUMA_INHERIT_PROVIDER(V8DataModel, DataModel); +PLUMA_INHERIT_PROVIDER(V8DataModel, DataModelImpl); #endif } diff --git a/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h b/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h index 1d5a454..9a10dc7 100644 --- a/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h +++ b/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h @@ -58,7 +58,7 @@ protected: }; #ifdef BUILD_AS_PLUGINS -PLUMA_INHERIT_PROVIDER(SWIDataModel, DataModel); +PLUMA_INHERIT_PROVIDER(SWIDataModel, DataModelImpl); #endif } diff --git a/src/uscxml/plugins/invoker/graphics/openscenegraph/OSGInvoker.h b/src/uscxml/plugins/invoker/graphics/openscenegraph/OSGInvoker.h index 29f950f..aca54ec 100644 --- a/src/uscxml/plugins/invoker/graphics/openscenegraph/OSGInvoker.h +++ b/src/uscxml/plugins/invoker/graphics/openscenegraph/OSGInvoker.h @@ -99,7 +99,7 @@ protected: }; #ifdef BUILD_AS_PLUGINS -PLUMA_INHERIT_PROVIDER(OSGInvoker, Invoker); +PLUMA_INHERIT_PROVIDER(OSGInvoker, InvokerImpl); #endif } diff --git a/src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.h b/src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.h index bbea7d6..4b230c1 100644 --- a/src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.h +++ b/src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.h @@ -45,7 +45,7 @@ protected: }; #ifdef BUILD_AS_PLUGINS -PLUMA_INHERIT_PROVIDER(HeartbeatInvoker, Invoker); +PLUMA_INHERIT_PROVIDER(HeartbeatInvoker, InvokerImpl); #endif } diff --git a/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.h b/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.h index 95de9b2..62851e3 100644 --- a/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.h +++ b/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.h @@ -38,7 +38,7 @@ protected: }; #ifdef BUILD_AS_PLUGINS -PLUMA_INHERIT_PROVIDER(USCXMLInvoker, Invoker); +PLUMA_INHERIT_PROVIDER(USCXMLInvoker, InvokerImpl); #endif } diff --git a/src/uscxml/plugins/invoker/umundo/UmundoInvoker.h b/src/uscxml/plugins/invoker/umundo/UmundoInvoker.h index c5f9656..d54160e 100644 --- a/src/uscxml/plugins/invoker/umundo/UmundoInvoker.h +++ b/src/uscxml/plugins/invoker/umundo/UmundoInvoker.h @@ -63,7 +63,7 @@ protected: }; #ifdef BUILD_AS_PLUGINS -PLUMA_INHERIT_PROVIDER(UmundoInvoker, Invoker); +PLUMA_INHERIT_PROVIDER(UmundoInvoker, InvokerImpl); #endif } diff --git a/src/uscxml/plugins/ioprocessor/basichttp/libevent/EventIOProcessor.h b/src/uscxml/plugins/ioprocessor/basichttp/libevent/EventIOProcessor.h index c90bf79..d07bab5 100644 --- a/src/uscxml/plugins/ioprocessor/basichttp/libevent/EventIOProcessor.h +++ b/src/uscxml/plugins/ioprocessor/basichttp/libevent/EventIOProcessor.h @@ -101,7 +101,7 @@ private: }; #ifdef BUILD_AS_PLUGINS -PLUMA_INHERIT_PROVIDER(EventIOProcessor, IOProcessor); +PLUMA_INHERIT_PROVIDER(EventIOProcessor, IOProcessorImpl); #endif } -- cgit v0.12