From 30576421dd507170a96e31cd56daacc02db46e14 Mon Sep 17 00:00:00 2001 From: Stefan Radomski Date: Mon, 17 Sep 2012 00:09:30 +0200 Subject: Fixed done.state events --- .gitignore | 3 + build/xcode/CMakeCache.txt | 492 --------------------- build/xcode/CMakeFiles/TargetDirectories.txt | 10 - build/xcode/CMakeScripts/XCODE_DEPEND_HELPER.make | 419 ------------------ build/xcode/Debug/libuscxml.a | Bin 28599160 -> 0 bytes src/uscxml/Factory.cpp | 3 +- src/uscxml/Interpreter.cpp | 122 ++++- src/uscxml/Interpreter.h | 1 + src/uscxml/Message.cpp | 62 ++- src/uscxml/Message.h | 7 +- .../eventqueue/libevent/DelayedEventQueue.cpp | 2 +- src/uscxml/invoker/scxml/USCXMLInvoker.cpp | 9 +- src/uscxml/invoker/scxml/USCXMLInvoker.h | 1 + .../basichttp/libevent/EventIOProcessor.cpp | 28 +- test/CMakeLists.txt | 5 + test/src/test-communication.scxml | 13 +- test/src/test-completion.cpp | 16 + test/src/test-donedata.scxml | 37 ++ 18 files changed, 260 insertions(+), 970 deletions(-) delete mode 100644 build/xcode/CMakeCache.txt delete mode 100644 build/xcode/CMakeFiles/TargetDirectories.txt delete mode 100644 build/xcode/CMakeScripts/XCODE_DEPEND_HELPER.make delete mode 100644 build/xcode/Debug/libuscxml.a create mode 100644 test/src/test-completion.cpp create mode 100644 test/src/test-donedata.scxml diff --git a/.gitignore b/.gitignore index f77e4ba..9c43805 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ *.DS_Store +build/* +build/ +build*/ diff --git a/build/xcode/CMakeCache.txt b/build/xcode/CMakeCache.txt deleted file mode 100644 index 8b3bd0c..0000000 --- a/build/xcode/CMakeCache.txt +++ /dev/null @@ -1,492 +0,0 @@ -# This is the CMakeCache file. -# For build in directory: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode -# It was generated by CMake: /opt/local/bin/cmake -# You can edit this file to change values found and used by cmake. -# If you do not want to change any of the values, simply exit the editor. -# If you do want to change a value, simply edit, save, and exit the editor. -# The syntax for the file is as follows: -# KEY:TYPE=VALUE -# KEY is the name of a variable in the cache. -# TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. -# VALUE is the current value for the KEY. - -######################## -# EXTERNAL cache entries -######################## - -//Path to a file. -ARABICA_INCLUDE_DIR:PATH=/usr/local/include/arabica - -//Path to a library. -ARABICA_LIBRARY:FILEPATH=/usr/local/lib/libarabica.a - -//Path to a file. -Boost_INCLUDE_DIR:PATH=/opt/local/include - -//Path to a program. -CMAKE_AR:FILEPATH=/usr/bin/ar - -//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or -// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. -CMAKE_BUILD_TYPE:STRING= - -//Semicolon separated list of supported configuration types, only -// supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything -// else will be ignored. -CMAKE_CONFIGURATION_TYPES:STRING=Debug;Release;MinSizeRel;RelWithDebInfo - -//C++ compiler -CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++ - -//Flags used by the compiler during all build types. -CMAKE_CXX_FLAGS:STRING= - -//Flags used by the compiler during debug builds. -CMAKE_CXX_FLAGS_DEBUG:STRING=-g - -//Flags used by the compiler during release minsize builds. -CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the compiler during release builds (/MD /Ob1 /Oi -// /Ot /Oy /Gs will produce slightly less optimized but smaller -// files). -CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the compiler during Release with Debug Info builds. -CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g - -//C compiler -CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc - -//Flags used by the compiler during all build types. -CMAKE_C_FLAGS:STRING= - -//Flags used by the compiler during debug builds. -CMAKE_C_FLAGS_DEBUG:STRING=-g - -//Flags used by the compiler during release minsize builds. -CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the compiler during release builds (/MD /Ob1 /Oi -// /Ot /Oy /Gs will produce slightly less optimized but smaller -// files). -CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the compiler during Release with Debug Info builds. -CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g - -//Flags used by the linker. -CMAKE_EXE_LINKER_FLAGS:STRING=' ' - -//Flags used by the linker during debug builds. -CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_INSTALL_NAME_TOOL:FILEPATH=/usr/bin/install_name_tool - -//Install path prefix, prepended onto install directories. -CMAKE_INSTALL_PREFIX:PATH=/usr/local - -//Path to a program. -CMAKE_LINKER:FILEPATH=/usr/bin/ld - -//make program -CMAKE_MAKE_PROGRAM:FILEPATH=/opt/local/bin/cmakexbuild - -//Flags used by the linker during the creation of modules. -CMAKE_MODULE_LINKER_FLAGS:STRING=' ' - -//Flags used by the linker during debug builds. -CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_NM:FILEPATH=/usr/bin/nm - -//Path to a program. -CMAKE_OBJCOPY:FILEPATH=CMAKE_OBJCOPY-NOTFOUND - -//Path to a program. -CMAKE_OBJDUMP:FILEPATH=CMAKE_OBJDUMP-NOTFOUND - -//Build architectures for OSX -CMAKE_OSX_ARCHITECTURES:STRING= - -//Minimum OS X version to target for deployment (at runtime); newer -// APIs weak linked. Set to empty string for default value. -CMAKE_OSX_DEPLOYMENT_TARGET:STRING= - -//The product will be built against the headers and libraries located -// inside the indicated SDK. -CMAKE_OSX_SYSROOT:PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk - -//Value Computed by CMake -CMAKE_PROJECT_NAME:STATIC=uscxml - -//Path to a program. -CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib - -//Flags used by the linker during the creation of dll's. -CMAKE_SHARED_LINKER_FLAGS:STRING=' ' - -//Flags used by the linker during debug builds. -CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//If set, runtime paths are not added when installing shared libraries, -// but are added when building. -CMAKE_SKIP_INSTALL_RPATH:BOOL=NO - -//If set, runtime paths are not added when using shared libraries. -CMAKE_SKIP_RPATH:BOOL=NO - -//Path to a program. -CMAKE_STRIP:FILEPATH=/usr/bin/strip - -//If true, cmake will use relative paths in makefiles and projects. -CMAKE_USE_RELATIVE_PATHS:BOOL=OFF - -//If this value is on, makefiles will be generated without the -// .SILENT directive, and all commands will be echoed to the console -// during the make. This is useful for debugging only. With Visual -// Studio IDE projects all commands are done without /nologo. -CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE - -//Path to a program. -CMAKE_XCODE_SELECT:FILEPATH=/usr/bin/xcode-select - -//Path to a file. -EVENT_INCLUDE_DIR:PATH=/Users/sradomski/Documents/TK/Code/libevent/include - -//Path to a library. -EVENT_LIBRARY:FILEPATH=/Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a - -//Path to a library. -EVENT_LIBRARY_THREADS:FILEPATH=/Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a - -//Path to a file. -GLOG_INCLUDE_DIR:PATH=/Users/sradomski/Documents/TK/Code/glog/src - -//Path to a library. -GLOG_LIBRARY:FILEPATH=/Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a - -//jawt.h location -JAVA_AWT_INCLUDE_PATH:FILEPATH=/System/Library/Frameworks/JavaVM.framework/Headers - -//Java Frameworks -JAVA_AWT_LIBRARY:FILEPATH=-framework JavaVM - -//Path to a file. -JAVA_INCLUDE_PATH:PATH=/System/Library/Frameworks/JavaVM.framework/Headers - -//Path to a file. -JAVA_INCLUDE_PATH2:PATH=/System/Library/Frameworks/JavaVM.framework/Headers - -//Java Frameworks -JAVA_JVM_LIBRARY:FILEPATH=-framework JavaVM - -//Path to a file. -LIBXML2_INCLUDE_DIR:PATH=/opt/local/include/libxml2 - -//Path to a library. -LIBXML2_LIBRARIES:FILEPATH=/opt/local/lib/libxml2.dylib - -//Path to a program. -LIBXML2_XMLLINT_EXECUTABLE:FILEPATH=/opt/local/bin/xmllint - -//pkg-config executable -PKG_CONFIG_EXECUTABLE:FILEPATH=/opt/local/bin/pkg-config - -//Path to a file. -SWIG_DIR:PATH=/usr/local/share/swig/2.0.5 - -//Path to a program. -SWIG_EXECUTABLE:FILEPATH=/usr/local/bin/swig - -//Swig version -SWIG_VERSION:STRING=2.0.5 - -//Path to a file. -V8_INCLUDE_DIR:PATH=/Users/sradomski/Documents/TK/Code/v8/include - -//Path to a library. -V8_LIBRARY_BASE:FILEPATH=/Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a - -//Path to a library. -V8_LIBRARY_SNAPSHOT:FILEPATH=/Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - -//Dependencies for the target -uscxmlNativeJava_LIB_DEPENDS:STATIC=general;-framework JavaVM;general;-framework JavaVM;general;uscxml; - -//Value Computed by CMake -uscxml_BINARY_DIR:STATIC=/Users/sradomski/Documents/TK/Code/uscxml/build/xcode - -//Dependencies for the target -uscxml_LIB_DEPENDS:STATIC=general;/opt/local/lib/libxml2.dylib;general;/Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a;general;/usr/local/lib/libarabica.a;general;/Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a;general;/Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a;general;/Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a;general;/Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a; - -//Value Computed by CMake -uscxml_SOURCE_DIR:STATIC=/Users/sradomski/Documents/TK/Code/uscxml - - -######################## -# INTERNAL cache entries -######################## - -//Stored Xcode object GUID -ALL_BUILD_GUID_CMAKE:INTERNAL=9293F885A97848298A31186D -//ADVANCED property for variable: ARABICA_INCLUDE_DIR -ARABICA_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: ARABICA_LIBRARY -ARABICA_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_AR -CMAKE_AR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_BUILD_TOOL -CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 -//What is the target build tool cmake is generating for. -CMAKE_BUILD_TOOL:INTERNAL=/opt/local/bin/cmakexbuild -//This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/Users/sradomski/Documents/TK/Code/uscxml/build/xcode -//Major version of cmake used to create the current loaded cache -CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 -//Minor version of cmake used to create the current loaded cache -CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 -//Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=8 -//Path to CMake executable. -CMAKE_COMMAND:INTERNAL=/opt/local/bin/cmake -//Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=/opt/local/bin/cpack -//Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=/opt/local/bin/ctest -//ADVANCED property for variable: CMAKE_CXX_COMPILER -CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 -CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS -CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG -CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL -CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE -CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO -CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER -CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 -CMAKE_C_COMPILER_WORKS:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS -CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG -CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL -CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE -CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO -CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//Result of TRY_COMPILE -CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE -//Result of TRY_COMPILE -CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE -//Path to cache edit program executable. -CMAKE_EDIT_COMMAND:INTERNAL=/opt/local/bin/ccmake -//Executable file format -CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS -CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG -CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE -CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//Name of generator. -CMAKE_GENERATOR:INTERNAL=Xcode -//Start directory with the top level CMakeLists.txt file for this -// project -CMAKE_HOME_DIRECTORY:INTERNAL=/Users/sradomski/Documents/TK/Code/uscxml -//ADVANCED property for variable: CMAKE_INSTALL_NAME_TOOL -CMAKE_INSTALL_NAME_TOOL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_LINKER -CMAKE_LINKER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MAKE_PROGRAM -CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS -CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG -CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE -CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_NM -CMAKE_NM-ADVANCED:INTERNAL=1 -//number of local generators -CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=4 -//ADVANCED property for variable: CMAKE_OBJCOPY -CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJDUMP -CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RANLIB -CMAKE_RANLIB-ADVANCED:INTERNAL=1 -//Path to CMake installation. -CMAKE_ROOT:INTERNAL=/opt/local/share/cmake-2.8 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS -CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG -CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE -CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH -CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_RPATH -CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STRIP -CMAKE_STRIP-ADVANCED:INTERNAL=1 -//uname command -CMAKE_UNAME:INTERNAL=/usr/bin/uname -//ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS -CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE -CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_XCODE_SELECT -CMAKE_XCODE_SELECT-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: EVENT_INCLUDE_DIR -EVENT_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: EVENT_LIBRARY -EVENT_LIBRARY-ADVANCED:INTERNAL=1 -//Details about finding Arabica -FIND_PACKAGE_MESSAGE_DETAILS_Arabica:INTERNAL=[/usr/local/lib/libarabica.a][/usr/local/include/arabica][v()] -//Details about finding EVENT -FIND_PACKAGE_MESSAGE_DETAILS_EVENT:INTERNAL=[/Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a;/Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a][/Users/sradomski/Documents/TK/Code/libevent/include][v()] -//Details about finding GLOG -FIND_PACKAGE_MESSAGE_DETAILS_GLOG:INTERNAL=[/Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a][/Users/sradomski/Documents/TK/Code/glog/src][v()] -//Details about finding JNI -FIND_PACKAGE_MESSAGE_DETAILS_JNI:INTERNAL=[-framework JavaVM][-framework JavaVM][/System/Library/Frameworks/JavaVM.framework/Headers][/System/Library/Frameworks/JavaVM.framework/Headers][/System/Library/Frameworks/JavaVM.framework/Headers][v()] -//Details about finding LibXml2 -FIND_PACKAGE_MESSAGE_DETAILS_LibXml2:INTERNAL=[/opt/local/lib/libxml2.dylib][/opt/local/include/libxml2][v2.8.0()] -//Details about finding PKG_CONFIG -FIND_PACKAGE_MESSAGE_DETAILS_PKG_CONFIG:INTERNAL=[/opt/local/bin/pkg-config][v0.27()] -//Details about finding SWIG -FIND_PACKAGE_MESSAGE_DETAILS_SWIG:INTERNAL=[/usr/local/bin/swig][/usr/local/share/swig/2.0.5][v2.0.5()] -//Details about finding V8 -FIND_PACKAGE_MESSAGE_DETAILS_V8:INTERNAL=[/Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a;/Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a][/Users/sradomski/Documents/TK/Code/v8/include][v()] -//ADVANCED property for variable: GLOG_INCLUDE_DIR -GLOG_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: GLOG_LIBRARY -GLOG_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: JAVA_AWT_INCLUDE_PATH -JAVA_AWT_INCLUDE_PATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: JAVA_AWT_LIBRARY -JAVA_AWT_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: JAVA_INCLUDE_PATH -JAVA_INCLUDE_PATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: JAVA_INCLUDE_PATH2 -JAVA_INCLUDE_PATH2-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: JAVA_JVM_LIBRARY -JAVA_JVM_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: LIBXML2_INCLUDE_DIR -LIBXML2_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: LIBXML2_LIBRARIES -LIBXML2_LIBRARIES-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: LIBXML2_XMLLINT_EXECUTABLE -LIBXML2_XMLLINT_EXECUTABLE-ADVANCED:INTERNAL=1 -PC_LIBXML_CFLAGS:INTERNAL=-I/opt/local/include/libxml2 -PC_LIBXML_CFLAGS_I:INTERNAL= -PC_LIBXML_CFLAGS_OTHER:INTERNAL= -PC_LIBXML_FOUND:INTERNAL=1 -PC_LIBXML_INCLUDEDIR:INTERNAL=/opt/local/include -PC_LIBXML_INCLUDE_DIRS:INTERNAL=/opt/local/include/libxml2 -PC_LIBXML_LDFLAGS:INTERNAL=-L/opt/local/lib;-lxml2 -PC_LIBXML_LDFLAGS_OTHER:INTERNAL= -PC_LIBXML_LIBDIR:INTERNAL=/opt/local/lib -PC_LIBXML_LIBRARIES:INTERNAL=xml2 -PC_LIBXML_LIBRARY_DIRS:INTERNAL=/opt/local/lib -PC_LIBXML_LIBS:INTERNAL= -PC_LIBXML_LIBS_L:INTERNAL= -PC_LIBXML_LIBS_OTHER:INTERNAL= -PC_LIBXML_LIBS_PATHS:INTERNAL= -PC_LIBXML_PREFIX:INTERNAL=/opt/local -PC_LIBXML_STATIC_CFLAGS:INTERNAL=-I/opt/local/include/libxml2 -PC_LIBXML_STATIC_CFLAGS_I:INTERNAL= -PC_LIBXML_STATIC_CFLAGS_OTHER:INTERNAL= -PC_LIBXML_STATIC_INCLUDE_DIRS:INTERNAL=/opt/local/include/libxml2 -PC_LIBXML_STATIC_LDFLAGS:INTERNAL=-L/opt/local/lib;-lxml2;-lpthread;-lz;-liconv;-lm -PC_LIBXML_STATIC_LDFLAGS_OTHER:INTERNAL= -PC_LIBXML_STATIC_LIBDIR:INTERNAL= -PC_LIBXML_STATIC_LIBRARIES:INTERNAL=xml2;pthread;z;iconv;m -PC_LIBXML_STATIC_LIBRARY_DIRS:INTERNAL=/opt/local/lib -PC_LIBXML_STATIC_LIBS:INTERNAL= -PC_LIBXML_STATIC_LIBS_L:INTERNAL= -PC_LIBXML_STATIC_LIBS_OTHER:INTERNAL= -PC_LIBXML_STATIC_LIBS_PATHS:INTERNAL= -PC_LIBXML_VERSION:INTERNAL=2.8.0 -PC_LIBXML_libxml-2.0_INCLUDEDIR:INTERNAL= -PC_LIBXML_libxml-2.0_LIBDIR:INTERNAL= -PC_LIBXML_libxml-2.0_PREFIX:INTERNAL= -PC_LIBXML_libxml-2.0_VERSION:INTERNAL= -//ADVANCED property for variable: PKG_CONFIG_EXECUTABLE -PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1 -//Stored Xcode object GUID -PROJECT_uscxml_GUID_CMAKE:INTERNAL=7B55544C81554F4AA6AF7B05 -//ADVANCED property for variable: SWIG_DIR -SWIG_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: SWIG_EXECUTABLE -SWIG_EXECUTABLE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: SWIG_VERSION -SWIG_VERSION-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: V8_INCLUDE_DIR -V8_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//Stored Xcode object GUID -ZERO_CHECK_GUID_CMAKE:INTERNAL=41000D0259B8426C95C427FA -__pkg_config_checked_PC_LIBXML:INTERNAL=1 -//Stored Xcode object GUID -test-apache-commons_GUID_CMAKE:INTERNAL=02DF4582EC5248A6A909BCDB -//Stored Xcode object GUID -test-communication_GUID_CMAKE:INTERNAL=7025A5D232F34CA7B0DC4D38 -//Stored Xcode object GUID -test-ecmascript-v8_GUID_CMAKE:INTERNAL=D64A946FD7F548578C0460A5 -//Stored Xcode object GUID -test-eventdelay_GUID_CMAKE:INTERNAL=3AB54D3271B943C19C870A16 -//Stored Xcode object GUID -test-execution_GUID_CMAKE:INTERNAL=EAD0CA8AA7274305AE4562F4 -//Stored Xcode object GUID -test-predicates_GUID_CMAKE:INTERNAL=FF7BF1CA6E034DDA81018AE8 -//Stored Xcode object GUID -uscxmlNativeJava_GUID_CMAKE:INTERNAL=A6201BA0A03540D3AFA90459 -//Stored Xcode object GUID -uscxml_GUID_CMAKE:INTERNAL=7C164D61BDFA4F06B16F1176 - diff --git a/build/xcode/CMakeFiles/TargetDirectories.txt b/build/xcode/CMakeFiles/TargetDirectories.txt deleted file mode 100644 index fc63e14..0000000 --- a/build/xcode/CMakeFiles/TargetDirectories.txt +++ /dev/null @@ -1,10 +0,0 @@ -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/CMakeFiles/ALL_BUILD.dir -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/CMakeFiles/ZERO_CHECK.dir -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/CMakeFiles/test-apache-commons.dir -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/CMakeFiles/test-communication.dir -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/CMakeFiles/test-ecmascript-v8.dir -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/CMakeFiles/test-eventdelay.dir -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/CMakeFiles/test-execution.dir -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/CMakeFiles/test-predicates.dir -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/CMakeFiles/uscxml.dir -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/src/bindings/swig/java/CMakeFiles/uscxmlNativeJava.dir diff --git a/build/xcode/CMakeScripts/XCODE_DEPEND_HELPER.make b/build/xcode/CMakeScripts/XCODE_DEPEND_HELPER.make deleted file mode 100644 index cfdb79f..0000000 --- a/build/xcode/CMakeScripts/XCODE_DEPEND_HELPER.make +++ /dev/null @@ -1,419 +0,0 @@ -# DO NOT EDIT -# This makefile makes sure all linkable targets are -# up-to-date with anything they link to -default: - echo "Do not invoke directly" - -# For each target create a dummy rule so the target does not have to exist -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Debug/libuscxml.a: -/opt/local/lib/libxml2.dylib: -/Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a: -/usr/local/lib/libarabica.a: -/Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a: -/Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a: -/Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a: -/Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a: -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/MinSizeRel/libuscxml.a: -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/RelWithDebInfo/libuscxml.a: -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Release/libuscxml.a: - - -# Rules to remove targets that are older than anything to which they -# link. This forces Xcode to relink the targets from scratch. It -# does not seem to check these dependencies itself. -PostBuild.uscxml.Debug: -PostBuild.test-apache-commons.Debug: -PostBuild.uscxml.Debug: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-apache-commons -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-apache-commons:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Debug/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-apache-commons - - -PostBuild.test-communication.Debug: -PostBuild.uscxml.Debug: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-communication -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-communication:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Debug/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-communication - - -PostBuild.test-ecmascript-v8.Debug: -PostBuild.uscxml.Debug: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-ecmascript-v8 -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-ecmascript-v8:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Debug/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-ecmascript-v8 - - -PostBuild.test-eventdelay.Debug: -PostBuild.uscxml.Debug: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-eventdelay -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-eventdelay:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Debug/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-eventdelay - - -PostBuild.test-execution.Debug: -PostBuild.uscxml.Debug: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-execution -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-execution:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Debug/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-execution - - -PostBuild.test-predicates.Debug: -PostBuild.uscxml.Debug: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-predicates -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-predicates:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Debug/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Debug/test-predicates - - -PostBuild.uscxmlNativeJava.Debug: -PostBuild.uscxml.Debug: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/src/bindings/swig/java/Debug/libuscxmlNativeJava.jnilib -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/src/bindings/swig/java/Debug/libuscxmlNativeJava.jnilib:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Debug/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/src/bindings/swig/java/Debug/libuscxmlNativeJava.jnilib - - -PostBuild.uscxml.Release: -PostBuild.test-apache-commons.Release: -PostBuild.uscxml.Release: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-apache-commons -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-apache-commons:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Release/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-apache-commons - - -PostBuild.test-communication.Release: -PostBuild.uscxml.Release: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-communication -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-communication:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Release/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-communication - - -PostBuild.test-ecmascript-v8.Release: -PostBuild.uscxml.Release: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-ecmascript-v8 -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-ecmascript-v8:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Release/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-ecmascript-v8 - - -PostBuild.test-eventdelay.Release: -PostBuild.uscxml.Release: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-eventdelay -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-eventdelay:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Release/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-eventdelay - - -PostBuild.test-execution.Release: -PostBuild.uscxml.Release: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-execution -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-execution:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Release/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-execution - - -PostBuild.test-predicates.Release: -PostBuild.uscxml.Release: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-predicates -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-predicates:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Release/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/Release/test-predicates - - -PostBuild.uscxmlNativeJava.Release: -PostBuild.uscxml.Release: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/src/bindings/swig/java/Release/libuscxmlNativeJava.jnilib -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/src/bindings/swig/java/Release/libuscxmlNativeJava.jnilib:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/Release/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/src/bindings/swig/java/Release/libuscxmlNativeJava.jnilib - - -PostBuild.uscxml.MinSizeRel: -PostBuild.test-apache-commons.MinSizeRel: -PostBuild.uscxml.MinSizeRel: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-apache-commons -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-apache-commons:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/MinSizeRel/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-apache-commons - - -PostBuild.test-communication.MinSizeRel: -PostBuild.uscxml.MinSizeRel: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-communication -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-communication:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/MinSizeRel/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-communication - - -PostBuild.test-ecmascript-v8.MinSizeRel: -PostBuild.uscxml.MinSizeRel: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-ecmascript-v8 -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-ecmascript-v8:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/MinSizeRel/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-ecmascript-v8 - - -PostBuild.test-eventdelay.MinSizeRel: -PostBuild.uscxml.MinSizeRel: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-eventdelay -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-eventdelay:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/MinSizeRel/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-eventdelay - - -PostBuild.test-execution.MinSizeRel: -PostBuild.uscxml.MinSizeRel: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-execution -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-execution:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/MinSizeRel/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-execution - - -PostBuild.test-predicates.MinSizeRel: -PostBuild.uscxml.MinSizeRel: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-predicates -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-predicates:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/MinSizeRel/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/MinSizeRel/test-predicates - - -PostBuild.uscxmlNativeJava.MinSizeRel: -PostBuild.uscxml.MinSizeRel: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/src/bindings/swig/java/MinSizeRel/libuscxmlNativeJava.jnilib -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/src/bindings/swig/java/MinSizeRel/libuscxmlNativeJava.jnilib:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/MinSizeRel/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/src/bindings/swig/java/MinSizeRel/libuscxmlNativeJava.jnilib - - -PostBuild.uscxml.RelWithDebInfo: -PostBuild.test-apache-commons.RelWithDebInfo: -PostBuild.uscxml.RelWithDebInfo: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-apache-commons -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-apache-commons:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/RelWithDebInfo/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-apache-commons - - -PostBuild.test-communication.RelWithDebInfo: -PostBuild.uscxml.RelWithDebInfo: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-communication -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-communication:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/RelWithDebInfo/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-communication - - -PostBuild.test-ecmascript-v8.RelWithDebInfo: -PostBuild.uscxml.RelWithDebInfo: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-ecmascript-v8 -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-ecmascript-v8:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/RelWithDebInfo/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-ecmascript-v8 - - -PostBuild.test-eventdelay.RelWithDebInfo: -PostBuild.uscxml.RelWithDebInfo: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-eventdelay -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-eventdelay:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/RelWithDebInfo/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-eventdelay - - -PostBuild.test-execution.RelWithDebInfo: -PostBuild.uscxml.RelWithDebInfo: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-execution -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-execution:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/RelWithDebInfo/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-execution - - -PostBuild.test-predicates.RelWithDebInfo: -PostBuild.uscxml.RelWithDebInfo: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-predicates -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-predicates:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/RelWithDebInfo/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/test/RelWithDebInfo/test-predicates - - -PostBuild.uscxmlNativeJava.RelWithDebInfo: -PostBuild.uscxml.RelWithDebInfo: /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/src/bindings/swig/java/RelWithDebInfo/libuscxmlNativeJava.jnilib -/Users/sradomski/Documents/TK/Code/uscxml/build/xcode/src/bindings/swig/java/RelWithDebInfo/libuscxmlNativeJava.jnilib:\ - /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/RelWithDebInfo/libuscxml.a\ - /opt/local/lib/libxml2.dylib\ - /Users/sradomski/Documents/TK/Code/glog/.libs/libglog.a\ - /usr/local/lib/libarabica.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent.a\ - /Users/sradomski/Documents/TK/Code/libevent/.libs/libevent_pthreads.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_base.a\ - /Users/sradomski/Documents/TK/Code/v8/out/native/libv8_snapshot.a - /bin/rm -f /Users/sradomski/Documents/TK/Code/uscxml/build/xcode/src/bindings/swig/java/RelWithDebInfo/libuscxmlNativeJava.jnilib - - diff --git a/build/xcode/Debug/libuscxml.a b/build/xcode/Debug/libuscxml.a deleted file mode 100644 index 4cdc8d0..0000000 Binary files a/build/xcode/Debug/libuscxml.a and /dev/null differ diff --git a/src/uscxml/Factory.cpp b/src/uscxml/Factory.cpp index ee2a3bd..b2346c2 100644 --- a/src/uscxml/Factory.cpp +++ b/src/uscxml/Factory.cpp @@ -10,7 +10,8 @@ namespace uscxml { _dataModels["ecmascript"] = new V8DataModel(); // _ioProcessors["basichttp"] = new PionIOProcessor(); _ioProcessors["basichttp"] = new EventIOProcessor(); - _ioProcessors["http://www.w3.org/TR/scxml/#SCXMLEventProcessor"] = new EventIOProcessor(); + // use basichttp for transporting to/from scxml sessions as well + _ioProcessors["http://www.w3.org/TR/scxml/#SCXMLEventProcessor"] = _ioProcessors["basichttp"]; _invoker["scxml"] = new USCXMLInvoker(); _invoker["http://www.w3.org/TR/scxml/"] = _invoker["scxml"]; } diff --git a/src/uscxml/Interpreter.cpp b/src/uscxml/Interpreter.cpp index 267d53f..b1c504c 100644 --- a/src/uscxml/Interpreter.cpp +++ b/src/uscxml/Interpreter.cpp @@ -278,6 +278,12 @@ void Interpreter::normalize(const Arabica::DOM::Node& node) { if (!invokeElem.hasAttribute("id") && !invokeElem.hasAttribute("idlocation")) { invokeElem.setAttribute("id", getUUID()); } +// // make sure every finalize element contained has the invoke id as an attribute +// Arabica::XPath::NodeSet finalizes = _xpath.evaluate("" + _nsPrefix + "finalize", invokeElem).asNodeSet(); +// for (int j = 0; j < finalizes.size(); j++) { +// Arabica::DOM::Element finalizeElem = Arabica::DOM::Element(finalizes[j]); +// finalizeElem.setAttribute("invokeid", invokeElem.getAttribute("id")); +// } } Arabica::XPath::NodeSet finals = _xpath.evaluate("//" + _nsPrefix + "final", _doc).asNodeSet(); @@ -311,7 +317,7 @@ void Interpreter::mainEventLoop() { // Here we handle eventless transitions and transitions // triggered by internal events until machine is stable while(_running && !_stable) { -#if 0 +#if 1 std::cout << "Configuration: "; for (int i = 0; i < _configuration.size(); i++) { std::cout << ((Arabica::DOM::Element)_configuration[i]).getAttribute("id") << ", "; @@ -325,6 +331,9 @@ void Interpreter::mainEventLoop() { } else { Event internalEvent = _internalQueue.front(); _internalQueue.pop_front(); +#if 1 + std::cout << "Received internal event " << internalEvent.name << std::endl; +#endif _dataModel->setEvent(internalEvent); enabledTransitions = selectTransitions(internalEvent.name); } @@ -357,16 +366,26 @@ void Interpreter::mainEventLoop() { break; if (_dataModel) - _dataModel->setEvent(externalEvent); + try { + _dataModel->setEvent(externalEvent); + } catch (Event e) { + LOG(ERROR) << "Syntax error while setting external event:" << std::endl << e << std::endl; + } for (unsigned int i = 0; i < _configuration.size(); i++) { NodeSet invokes = _xpath.evaluate("" + _nsPrefix + "invoke", _configuration[i]).asNodeSet(); for (unsigned int j = 0; j < invokes.size(); j++) { - std::string invokeId = ((Arabica::DOM::Element)invokes[i]).getAttribute("id"); - std::string autoForward = ((Arabica::DOM::Element)invokes[i]).getAttribute("autoforward"); + Arabica::DOM::Element invokeElem = (Arabica::DOM::Element)invokes[j]; + std::string invokeId = invokeElem.getAttribute("id"); + std::string autoForward = invokeElem.getAttribute("autoforward"); if (boost::iequals(invokeId, externalEvent.invokeid)) { - // @TODO - // boost::shared_ptr invoke = boost::static_pointer_cast(interpreter::Factory::create("invoke", invokes[j])); - // invoke->applyFinalize(this); + + Arabica::XPath::NodeSet finalizes = _xpath.evaluate("" + _nsPrefix + "finalize", invokeElem).asNodeSet(); + for (int k = 0; k < finalizes.size(); k++) { + Arabica::DOM::Element finalizeElem = Arabica::DOM::Element(finalizes[k]); + executeContent(finalizeElem); + } + + } if (autoForward.length() > 0) { // @TODO @@ -381,6 +400,61 @@ void Interpreter::mainEventLoop() { exitInterpreter(); } +void Interpreter::internalDoneSend(const Arabica::DOM::Node& state) { + if (!isState(state)) + return; + + Arabica::DOM::Element stateElem = (Arabica::DOM::Element)state; + Arabica::DOM::Element parent = (Arabica::DOM::Element)stateElem.getParentNode(); + Event event; + + Arabica::XPath::NodeSet doneDatas = _xpath.evaluate("" + _nsPrefix + "donedata", stateElem).asNodeSet(); + if (doneDatas.size() > 0) { + // only process first donedata element + Arabica::DOM::Node doneData = doneDatas[0]; + NodeList doneChilds = doneData.getChildNodes(); + for (int i = 0; i < doneChilds.getLength(); i++) { + if (!doneChilds.item(i).getNodeType() == Node_base::ELEMENT_NODE) + continue; + if (boost::iequals(TAGNAME(doneChilds.item(i)), "param")) { + if (!HAS_ATTR(doneChilds.item(i), "name")) { + LOG(ERROR) << "param element is missing name attribut"; + continue; + } + std::string paramValue; + if (HAS_ATTR(doneChilds.item(i), "expr") && _dataModel) { + std::string location = _dataModel->evalAsString(ATTR(doneChilds.item(i), "expr")); + paramValue = _dataModel->evalAsString(location); + } else if(HAS_ATTR(doneChilds.item(i), "location") && _dataModel) { + paramValue = _dataModel->evalAsString(ATTR(doneChilds.item(i), "location")); + } else { + LOG(ERROR) << "param element is missing expr or location or no datamodel is specified"; + continue; + } + event.compound[ATTR(doneChilds.item(i), "name")] = paramValue; + } + if (boost::iequals(TAGNAME(doneChilds.item(i)), "content")) { + if (HAS_ATTR(doneChilds.item(i), "expr")) { + if (_dataModel) { + event.compound["content"] = Data(_dataModel->evalAsString(ATTR(doneChilds.item(i), "expr")), Data::VERBATIM); + } else { + LOG(ERROR) << "content element has expr attribute but no datamodel is specified."; + } + } else if (doneChilds.item(i).hasChildNodes()) { + event.compound["content"] = Data(doneChilds.item(i).getFirstChild().getNodeValue(), Data::VERBATIM); + } else { + LOG(ERROR) << "content element does not specify any content."; + } + + } + } + } + + event.name = "done.state." + parent.getAttribute("id"); + _internalQueue.push_back(event); + +} + void Interpreter::send(const Arabica::DOM::Node& element) { SendRequest sendReq; try { @@ -627,9 +701,8 @@ void Interpreter::invoke(const Arabica::DOM::Node& element) { } catch (Event e) { LOG(ERROR) << "Syntax error in invoke element:" << std::endl << e << std::endl; } - } - + void Interpreter::cancelInvoke(const Arabica::DOM::Node& element) { std::string invokeId; if (HAS_ATTR(element, "idlocation") && _dataModel) { @@ -780,13 +853,13 @@ bool Interpreter::isPreemptingTransition(const Arabica::DOM::Node& } void Interpreter::microstep(const Arabica::XPath::NodeSet& enabledTransitions) { -#if 0 +#if 1 std::cout << "Transitions: "; for (int i = 0; i < enabledTransitions.size(); i++) { std::cout << ((Arabica::DOM::Element)getSourceState(enabledTransitions[i])).getAttribute("id") << " -> " << std::endl; NodeSet targetSet = getTargetStates(enabledTransitions[i]); for (int j = 0; j < targetSet.size(); j++) { - std::cout << " " << ((Arabica::DOM::Element)targetSet[i]).getAttribute("id") << std::endl; + std::cout << " " << ((Arabica::DOM::Element)targetSet[j]).getAttribute("id") << std::endl; } } std::cout << std::endl; @@ -1186,16 +1259,9 @@ void Interpreter::enterStates(const Arabica::XPath::NodeSet& enable } if (isFinal(stateElem)) { + internalDoneSend(stateElem); Arabica::DOM::Element parent = (Arabica::DOM::Element)stateElem.getParentNode(); - Event event; - event.name = "done.state." + parent.getAttribute("id"); - Arabica::XPath::NodeSet doneData = _xpath.evaluate("" + _nsPrefix + "donedata", stateElem).asNodeSet(); - if (doneData.size() > 0) { - event.dom = doneData[0]; - } - _internalQueue.push_back(event); - if (isParallel(parent.getParentNode())) { Arabica::DOM::Element grandParent = (Arabica::DOM::Element)parent.getParentNode(); @@ -1208,9 +1274,7 @@ void Interpreter::enterStates(const Arabica::XPath::NodeSet& enable } } if (inFinalState) { - Event event; - event.name = "done.state." + grandParent.getAttribute("id"); - _internalQueue.push_back(event); + internalDoneSend(parent); } } } @@ -1231,6 +1295,7 @@ bool Interpreter::parentIsScxmlState(Arabica::DOM::Node state) { } bool Interpreter::isInFinalState(const Arabica::DOM::Node& state) { +// std::cout << ATTR(state, "id") << std::endl; if (isCompound(state)) { Arabica::XPath::NodeSet childs = getChildStates(state); for (int i = 0; i < childs.size(); i++) { @@ -1283,10 +1348,15 @@ void Interpreter::addStatesToEnter(const Arabica::DOM::Node& state, statesToEnter.push_back(state); if (isCompound(state)) { statesForDefaultEntry.push_back(state); +#if 0 NodeSet tStates = getTargetStates(getInitialState(state)); for (int i = 0; i < tStates.size(); i++) { addStatesToEnter(tStates[i], statesToEnter, statesForDefaultEntry); } +#endif + addStatesToEnter(getInitialState(state), statesToEnter, statesForDefaultEntry); +// NodeSet tStates = getTargetStates(getInitialState(state)); + } else if(isParallel(state)) { NodeSet childStates = getChildStates(state); for (int i = 0; i < childStates.size(); i++) { @@ -1300,9 +1370,11 @@ Arabica::XPath::NodeSet Interpreter::getChildStates(const Arabica:: Arabica::XPath::NodeSet childs; Arabica::XPath::NodeSet stateChilds = _xpath.evaluate("" + _nsPrefix + "state", state).asNodeSet(); Arabica::XPath::NodeSet parallelChilds = _xpath.evaluate("" + _nsPrefix + "parallel", state).asNodeSet(); + Arabica::XPath::NodeSet finalChilds = _xpath.evaluate("" + _nsPrefix + "final", state).asNodeSet(); childs.insert(childs.begin(), stateChilds.begin(), stateChilds.end()); childs.insert(childs.begin(), parallelChilds.begin(), parallelChilds.end()); + childs.insert(childs.begin(), finalChilds.begin(), finalChilds.end()); return childs; } @@ -1406,7 +1478,9 @@ NodeSet Interpreter::getTargetStates(const Arabica::DOM::Node targetIds = Interpreter::tokenizeIdRefs(ATTR(transition, "target")); for (int i = 0; i < targetIds.size(); i++) { - targetStates.push_back(getState(targetIds[i])); + Arabica::DOM::Node state = getState(targetIds[i]); + assert(HAS_ATTR(state, "id")); + targetStates.push_back(state); } return targetStates; } @@ -1567,7 +1641,7 @@ void Interpreter::setupIOProcessors() { try { // _dataModel->setData("_ioprocessors", ioProcIter->first, _ioProcessors[ioProcIter->first]->getDataModelVariables()); _dataModel->assign("_ioprocessors['" + ioProcIter->first + "']", _ioProcessors[ioProcIter->first]->getDataModelVariables()); - std::cout << _dataModel->evalAsString("_ioprocessors['basichttp'].location") << std::endl; +// std::cout << _dataModel->evalAsString("_ioprocessors['basichttp'].location") << std::endl; } catch (Event e) { LOG(ERROR) << "Syntax error when setting _ioprocessors:" << std::endl << e << std::endl; } diff --git a/src/uscxml/Interpreter.h b/src/uscxml/Interpreter.h index a60f9f6..9447498 100644 --- a/src/uscxml/Interpreter.h +++ b/src/uscxml/Interpreter.h @@ -132,6 +132,7 @@ namespace uscxml { void invoke(const Arabica::DOM::Node& element); void cancelInvoke(const Arabica::DOM::Node& element); void returnDoneEvent(const Arabica::DOM::Node& state); + void internalDoneSend(const Arabica::DOM::Node& state); static void delayedSend(void* userdata, std::string eventName); static bool nameMatch(const std::string& transitionEvent, const std::string& event); diff --git a/src/uscxml/Message.cpp b/src/uscxml/Message.cpp index f7e7a5a..9b713ca 100644 --- a/src/uscxml/Message.cpp +++ b/src/uscxml/Message.cpp @@ -101,6 +101,7 @@ Arabica::DOM::Document Event::toDocument() { Arabica::DOM::Document document = Data::toDocument(); Arabica::DOM::Element scxmlMsg = document.getDocumentElement(); + scxmlMsg.setAttribute("source", origin); scxmlMsg.setAttribute("name", name); @@ -112,6 +113,40 @@ Arabica::DOM::Document SendRequest::toDocument() { Arabica::DOM::Document document = Event::toDocument(); Arabica::DOM::Element scxmlMsg = document.getDocumentElement(); + // add params and namelist + if (params.size() > 0 || namelist.size() > 0) { + Arabica::DOM::NodeList payload = scxmlMsg.getElementsByTagName("scxml:payload"); + if (payload.getLength() == 0) { + Arabica::DOM::Element payloadElem = document.createElementNS("http://www.w3.org/2005/07/scxml", "scxml:payload"); + scxmlMsg.appendChild(payloadElem); + } + Arabica::DOM::Node payloadElem = scxmlMsg.getElementsByTagName("scxml:payload").item(0); + + // add parameters + std::map::iterator paramIter = params.begin(); + while(paramIter != params.end()) { + Arabica::DOM::Element propertyElem = document.createElementNS("http://www.w3.org/2005/07/scxml", "scxml:property"); + propertyElem.setAttribute("name", paramIter->first); + Arabica::DOM::Text textElem = document.createTextNode(paramIter->second); + propertyElem.appendChild(textElem); + payloadElem.appendChild(propertyElem); + paramIter++; + } + + // add namelist elements + std::map::iterator namelistIter = namelist.begin(); + while(namelistIter != namelist.end()) { + Arabica::DOM::Element propertyElem = document.createElementNS("http://www.w3.org/2005/07/scxml", "scxml:property"); + propertyElem.setAttribute("name", namelistIter->first); + Arabica::DOM::Text textElem = document.createTextNode(namelistIter->second); + propertyElem.appendChild(textElem); + payloadElem.appendChild(propertyElem); + namelistIter++; + } + + } + + scxmlMsg.setAttribute("sendid", sendid); return document; @@ -146,6 +181,31 @@ Event Event::fromXML(const std::string& xmlString) { event.name = ATTR(scxmlMsg, "name"); if (HAS_ATTR(scxmlMsg, "sendid")) event.sendid = ATTR(scxmlMsg, "sendid"); + + Arabica::DOM::NodeList payloads = scxmlMsg.getElementsByTagName("scxml:payload"); + if (payloads.getLength() > 0) { + Arabica::DOM::Node payload = payloads.item(0); + if (payload.getNodeType() == Arabica::DOM::Node_base::ELEMENT_NODE) { + Arabica::DOM::Element payloadElem = (Arabica::DOM::Element)payload; + Arabica::DOM::NodeList properties = payloadElem.getElementsByTagName("scxml:property"); + if (properties.getLength() > 0) { + for (int i = 0; i < properties.getLength(); i++) { + if (HAS_ATTR(properties.item(i), "name")) { + std::string key = ATTR(properties.item(i), "name"); + std::string value; + Arabica::DOM::NodeList childs = properties.item(i).getChildNodes(); + for (int j = 0; j < childs.getLength(); j++) { + if (childs.item(j).getNodeType() == Arabica::DOM::Node_base::TEXT_NODE) { + value = childs.item(j).getNodeValue(); + break; + } + } + event.compound[key] = Data(value, VERBATIM); + } + } + } + } + } } return event; } @@ -160,7 +220,7 @@ InvokeRequest InvokeRequest::fromXML(const std::string& xmlString) { #ifndef SWIGJAVA std::ostream& operator<< (std::ostream& os, const Event& event) { - os << (event.type == Event::EXTERNAL ? "External" : "Internal") << " Event " << (event.dom ? "with DOM attached" : "") << std::endl; + os << (event.type == Event::EXTERNAL ? "External" : "Internal") << " Event " /* << (event.dom ? "with DOM attached" : "")*/ << std::endl; if (event.name.size() > 0) os << " name: " << event.name << std::endl; diff --git a/src/uscxml/Message.h b/src/uscxml/Message.h index cd10c05..34b85e1 100644 --- a/src/uscxml/Message.h +++ b/src/uscxml/Message.h @@ -57,12 +57,13 @@ public: }; Event() : type(INTERNAL) {} - + Event(const Arabica::DOM::Node& xmlString) : type(INTERNAL) {}; + std::string name; Type type; std::string origin; std::string origintype; - Arabica::DOM::Node dom; +// Arabica::DOM::Node dom; std::string sendid; std::string invokeid; @@ -85,7 +86,6 @@ public: std::string src; std::string namelist; bool autoForward; - Arabica::DOM::Node finalize; std::map params; std::string content; @@ -113,6 +113,7 @@ public: std::string toXMLString() { std::stringstream ss; ss << toDocument(); +// std::cout << ss.str() << std::endl; return ss.str(); } diff --git a/src/uscxml/concurrency/eventqueue/libevent/DelayedEventQueue.cpp b/src/uscxml/concurrency/eventqueue/libevent/DelayedEventQueue.cpp index 647380e..c5e7c3b 100644 --- a/src/uscxml/concurrency/eventqueue/libevent/DelayedEventQueue.cpp +++ b/src/uscxml/concurrency/eventqueue/libevent/DelayedEventQueue.cpp @@ -11,7 +11,7 @@ namespace uscxml { } DelayedEventQueue::~DelayedEventQueue() { - std::cout << "Deleting DelayedEventQueue" << std::endl; +// std::cout << "Deleting DelayedEventQueue" << std::endl; stop(); if (_thread) _thread->join(); diff --git a/src/uscxml/invoker/scxml/USCXMLInvoker.cpp b/src/uscxml/invoker/scxml/USCXMLInvoker.cpp index 2f5a0b6..1403d99 100644 --- a/src/uscxml/invoker/scxml/USCXMLInvoker.cpp +++ b/src/uscxml/invoker/scxml/USCXMLInvoker.cpp @@ -3,8 +3,7 @@ namespace uscxml { -USCXMLInvoker::USCXMLInvoker() { - +USCXMLInvoker::USCXMLInvoker() { } @@ -24,18 +23,20 @@ Data USCXMLInvoker::getDataModelVariables() { } void USCXMLInvoker::send(SendRequest& req) { - + assert(false); } void USCXMLInvoker::cancel(const std::string sendId) { - + assert(false); } void USCXMLInvoker::sendToParent(SendRequest& req) { + req.invokeid = _invokeId; _parentInterpreter->receive(req); } void USCXMLInvoker::invoke(InvokeRequest& req) { + _invokeId = req.invokeid; _invokedInterpreter = Interpreter::fromURI(req.src); DataModel* dataModel = _invokedInterpreter->getDataModel(); if (dataModel != NULL) { diff --git a/src/uscxml/invoker/scxml/USCXMLInvoker.h b/src/uscxml/invoker/scxml/USCXMLInvoker.h index 2fc9d25..76657d8 100644 --- a/src/uscxml/invoker/scxml/USCXMLInvoker.h +++ b/src/uscxml/invoker/scxml/USCXMLInvoker.h @@ -20,6 +20,7 @@ public: virtual void sendToParent(SendRequest& req); protected: + std::string _invokeId; Interpreter* _invokedInterpreter; Interpreter* _parentInterpreter; }; diff --git a/src/uscxml/ioprocessor/basichttp/libevent/EventIOProcessor.cpp b/src/uscxml/ioprocessor/basichttp/libevent/EventIOProcessor.cpp index 4daf179..d0adcb3 100644 --- a/src/uscxml/ioprocessor/basichttp/libevent/EventIOProcessor.cpp +++ b/src/uscxml/ioprocessor/basichttp/libevent/EventIOProcessor.cpp @@ -159,7 +159,8 @@ void EventIOProcessor::httpRecvReq(struct evhttp_request *req, void *arg) { Event reqEvent; reqEvent.type = Event::EXTERNAL; - + bool scxmlStructFound = false; + // map headers to event structure headers = evhttp_request_get_input_headers(req); for (header = headers->tqh_first; header; @@ -168,6 +169,7 @@ void EventIOProcessor::httpRecvReq(struct evhttp_request *req, void *arg) { // std::cout << "Value: " << evhttp_decode_uri(header->value) << std::endl; if (boost::iequals("_scxmleventstruct", header->key)) { reqEvent = Event::fromXML(evhttp_decode_uri(header->value)); + scxmlStructFound = true; break; } else if (boost::iequals("_scxmleventname", header->key)) { reqEvent.name = evhttp_decode_uri(header->value); @@ -176,18 +178,20 @@ void EventIOProcessor::httpRecvReq(struct evhttp_request *req, void *arg) { } } - // get content into event - std::string content; - buf = evhttp_request_get_input_buffer(req); - while (evbuffer_get_length(buf)) { - int n; - char cbuf[128]; - n = evbuffer_remove(buf, cbuf, sizeof(buf)-1); - if (n > 0) { - content.append(cbuf, n); + if (!scxmlStructFound) { + // get content into event + std::string content; + buf = evhttp_request_get_input_buffer(req); + while (evbuffer_get_length(buf)) { + int n; + char cbuf[128]; + n = evbuffer_remove(buf, cbuf, sizeof(buf)-1); + if (n > 0) { + content.append(cbuf, n); + } } - } - reqEvent.compound["content"] = Data(content, Data::VERBATIM); + reqEvent.compound["content"] = Data(content, Data::VERBATIM); + } EventIOProcessor* THIS = (EventIOProcessor*)arg; THIS->_interpreter->receive(reqEvent); diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 297428c..bea3b53 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -27,3 +27,8 @@ add_executable(test-eventdelay src/test-eventdelay.cpp) target_link_libraries(test-eventdelay uscxml) add_test(test-eventdelay test-eventdelay) set_target_properties(test-eventdelay PROPERTIES FOLDER "Tests") + +add_executable(test-completion src/test-completion.cpp) +target_link_libraries(test-completion uscxml) +add_test(test-completion ${CMAKE_SOURCE_DIR}/test/src/test-donedata.scxml) +set_target_properties(test-completion PROPERTIES FOLDER "Tests") diff --git a/test/src/test-communication.scxml b/test/src/test-communication.scxml index bd3c00d..c1c1f65 100644 --- a/test/src/test-communication.scxml +++ b/test/src/test-communication.scxml @@ -1,5 +1,8 @@ + + + @@ -10,7 +13,7 @@ - + @@ -20,7 +23,7 @@ This is some content you got there dude! - + @@ -35,7 +38,11 @@ This is some content you got there dude! - + + + + + diff --git a/test/src/test-completion.cpp b/test/src/test-completion.cpp new file mode 100644 index 0000000..33056f3 --- /dev/null +++ b/test/src/test-completion.cpp @@ -0,0 +1,16 @@ +#include "uscxml/Interpreter.h" +#include + +int main(int argc, char** argv) { + if (argc != 2) { + std::cerr << "Expected path to scxml document" << std::endl; + exit(EXIT_FAILURE); + } + + using namespace uscxml; + + Interpreter* interpreter = Interpreter::fromURI(argv[1]); + interpreter->interpret(); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/test/src/test-donedata.scxml b/test/src/test-donedata.scxml new file mode 100644 index 0000000..c48b6de --- /dev/null +++ b/test/src/test-donedata.scxml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- cgit v0.12