summaryrefslogtreecommitdiffstats
path: root/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler
diff options
context:
space:
mode:
Diffstat (limited to 'sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler')
-rw-r--r--sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/Makefile.am2
-rw-r--r--sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.cdtbuild39
-rw-r--r--sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.cdtproject15
-rw-r--r--sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.project19
-rw-r--r--sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.settings/org.eclipse.cdt.managedbuilder.core.prefs9
-rw-r--r--sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/Makefile.am9
-rw-r--r--sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/SCAWSHandler.cpp154
-rw-r--r--sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/SCAWSHandler.h79
8 files changed, 326 insertions, 0 deletions
diff --git a/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/Makefile.am b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/Makefile.am
new file mode 100644
index 0000000000..956b824d5c
--- /dev/null
+++ b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/Makefile.am
@@ -0,0 +1,2 @@
+SUBDIRS = src
+
diff --git a/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.cdtbuild b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.cdtbuild
new file mode 100644
index 0000000000..55590cf0c8
--- /dev/null
+++ b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.cdtbuild
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?fileVersion 3.0.0?>
+
+<ManagedProjectBuildInfo>
+<project id="tuscany_sca_axis_handler.cdt.managedbuild.target.gnu.so.124845918" name="Shared Library (Gnu)" projectType="cdt.managedbuild.target.gnu.so">
+<configuration artifactExtension="so" artifactName="tuscany_sca_axis_handler" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.config.gnu.so.debug.2106566379" name="Debug" parent="cdt.managedbuild.config.gnu.so.debug">
+<toolChain id="cdt.managedbuild.toolchain.gnu.so.debug.1396429365" name="GCC Tool Chain" superClass="cdt.managedbuild.toolchain.gnu.so.debug">
+<tool command="gcc" id="cdt.managedbuild.tool.gnu.c.compiler.so.debug.2071328545" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.so.debug"/>
+<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.compiler.so.debug.1635475070" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.so.debug">
+<option id="gnu.cpp.compiler.option.preprocessor.def.1293358265" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+<listOptionValue builtIn="false" value="_DEBUG"/>
+</option>
+<option id="gnu.cpp.compiler.option.include.paths.1368705467" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+<listOptionValue builtIn="false" value="${AXISCPP_DEPLOY}/include"/>
+</option>
+</tool>
+<tool command="gcc" id="cdt.managedbuild.tool.gnu.c.linker.so.debug.381547341" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.so.debug"/>
+<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.linker.so.debug.794316354" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.so.debug"/>
+<tool command="as" id="cdt.managedbuild.tool.gnu.assembler.so.debug.68244965" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.so.debug"/>
+<macros/>
+</toolChain>
+</configuration>
+<configuration artifactExtension="so" artifactName="tuscany_sca_axis_handler" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.config.gnu.so.release.221779505" name="Release" parent="cdt.managedbuild.config.gnu.so.release">
+<toolChain id="cdt.managedbuild.toolchain.gnu.so.release.1798353066" name="GCC Tool Chain" superClass="cdt.managedbuild.toolchain.gnu.so.release">
+<tool command="gcc" id="cdt.managedbuild.tool.gnu.c.compiler.so.release.361313298" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.so.release"/>
+<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.compiler.so.release.1236253117" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.so.release">
+<option id="gnu.cpp.compiler.option.include.paths.1090562118" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+<listOptionValue builtIn="false" value="${AXISCPP_DEPLOY}/include"/>
+</option>
+</tool>
+<tool command="gcc" id="cdt.managedbuild.tool.gnu.c.linker.so.release.1432689629" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.so.release"/>
+<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.linker.so.release.681065405" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.so.release"/>
+<tool command="as" id="cdt.managedbuild.tool.gnu.assembler.so.release.1255538075" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.so.release"/>
+<macros/>
+</toolChain>
+</configuration>
+<macros/>
+</project>
+</ManagedProjectBuildInfo>
diff --git a/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.cdtproject b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.cdtproject
new file mode 100644
index 0000000000..48a12e6664
--- /dev/null
+++ b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.cdtproject
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse-cdt version="2.0"?>
+
+<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">
+<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.domsourceindexer" point="org.eclipse.cdt.core.CIndexer"/>
+<data>
+<item id="org.eclipse.cdt.core.pathentry">
+<pathentry kind="src" path=""/>
+<pathentry kind="out" path=""/>
+<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>
+</item>
+</data>
+</cdtproject>
diff --git a/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.project b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.project
new file mode 100644
index 0000000000..a2718eca4f
--- /dev/null
+++ b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.project
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>tuscany_sca_axis_handler</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ </natures>
+</projectDescription>
diff --git a/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.settings/org.eclipse.cdt.managedbuilder.core.prefs
new file mode 100644
index 0000000000..1023be0afa
--- /dev/null
+++ b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/.settings/org.eclipse.cdt.managedbuilder.core.prefs
@@ -0,0 +1,9 @@
+#Thu Feb 16 14:40:27 GMT 2006
+eclipse.preferences.version=1
+environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.so.debug.2106566379=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable name\="CPATH" operation\="remove"/>\n<variable name\="CPLUS_INCLUDE_PATH" operation\="remove"/>\n</environment>\n
+environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.so.release.221779505=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable name\="CPATH" operation\="remove"/>\n<variable name\="CPLUS_INCLUDE_PATH" operation\="remove"/>\n</environment>\n
+environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.so.debug.2106566379=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable name\="LIBRARY_PATH" operation\="remove"/>\n</environment>\n
+environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.so.release.221779505=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable name\="LIBRARY_PATH" operation\="remove"/>\n</environment>\n
+environment/project=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment/>\n
+environment/project/cdt.managedbuild.config.gnu.so.debug.2106566379=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment/>\n
+environment/project/cdt.managedbuild.config.gnu.so.release.221779505=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment/>\n
diff --git a/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/Makefile.am b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/Makefile.am
new file mode 100644
index 0000000000..6054ec7b31
--- /dev/null
+++ b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/Makefile.am
@@ -0,0 +1,9 @@
+lib_LTLIBRARIES = libtuscany_sca_axis_handler.la
+
+libtuscany_sca_axis_handler_la_SOURCES = SCAWSHandler.cpp
+
+libtuscany_sca_axis_handler_la_LIBADD = -lstdc++
+
+INCLUDES = -I$(top_builddir)/runtime/core/src \
+ -I${AXISCPP_DEPLOY}/include
+
diff --git a/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/SCAWSHandler.cpp b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/SCAWSHandler.cpp
new file mode 100644
index 0000000000..ed57c0677e
--- /dev/null
+++ b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/SCAWSHandler.cpp
@@ -0,0 +1,154 @@
+/*
+ *
+ * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Rev$ $Date$ */
+
+#include "SCAWSHandler.h"
+#include <axis/Handler.hpp>
+#include <string>
+
+AXIS_CPP_NAMESPACE_USE
+using std::string;
+
+/** Construct an SCAWSHandler.
+ */
+SCAWSHandler::SCAWSHandler()
+{
+ return;
+}
+
+/** Destruct an SCAWSHandler.
+ */
+SCAWSHandler::~SCAWSHandler()
+{
+}
+
+
+/** Perform any necessary initialization.
+ */
+int SCAWSHandler::init()
+{
+ return AXIS_SUCCESS;
+}
+
+/** Perform any necessary finalization.
+ */
+int SCAWSHandler::fini()
+{
+ return AXIS_SUCCESS;
+}
+
+/** Get the SCA specific properties that were set in the deployment
+ * descriptor (server.wsdd) and set them into the MessageData where
+ * they can be retrieved by the SCAWSWrapper to invoke the correct
+ * SCA Entry Point.
+ * @param pvIMsg - pointer to IMessageData
+ *
+ * @see SCAWSWrapper
+ */
+int SCAWSHandler::invoke(void *pvIMsg)
+{
+ IMessageData *pIMsg = (IMessageData*) pvIMsg;
+
+ if(pIMsg->isPastPivot())
+ {
+ // This is a response.
+ }
+ else
+ {
+ // This is a request
+
+ //
+ // Get the SCA specific properties from the handler.
+ //
+
+ // NOTE: WE CANNOT MAKE THE SIMPLE 'GETOPTION' CALLS BECAUSE THE
+ // STD::MAP CODE WILL CAUSE AN ACCESS VIOLATION IN AXISSERVER.DLL.
+ // THE GETOPTION METHOD IN HANDLER.HPP NEEDS TO BE MOVED INTO
+ // AXISSERVER.DLL AND BE EXPORTED.
+ //const string& strTargetNamespace = getOption("targetNamespace");
+ //const string& strSCAEntryPoint = getOption("scaEntryPoint");
+
+ // HACK
+ // BECAUSE WE CANNOT MAKE ANY MAP CALLS THAT REQUIRE PARAMETERS AND
+ // CANNOT SEEM TO ITERATE OVER THE MAP IN A FOR LOOP EITHER WITHOUT
+ // TRAPPING, WE RESORT TO READING THE FIRST AND LAST PROPERTIES.
+ // THIS IS ACCEPTABLE AS A WORKAROUND FOR NOW BECAUSE WE ONLY
+ // HAVE TWO PROPERTIES.
+ string strName;
+ string strValue;
+ // Read the first property in the map and set its name and value
+ // into the IMessageData.
+ map<string, string>::const_iterator it = m_pOption->begin();
+ strName = (*it).first;
+ strValue = (*it).second;
+ pIMsg->setProperty(strName.c_str(), strValue.c_str());
+ // Read the last property in the map and set its name and value
+ // into the IMessageData.
+ map<string, string>::const_reverse_iterator itr = m_pOption->rbegin();
+ strName = (*itr).first;
+ strValue = (*itr).second;
+ pIMsg->setProperty(strName.c_str(), strValue.c_str());
+ // END HACK
+ }
+
+ return AXIS_SUCCESS;
+}
+
+/** Handle Faults.
+ */
+void SCAWSHandler::onFault(void *pvIMsg)
+{
+
+}
+
+//
+// These functions are exported from the SCAWSHandler DLL and are called by the Axis Engine
+// to create/destroy instances of the SCAWSHandler class.
+//
+extern "C"
+{
+STORAGE_CLASS_INFO
+int GetClassInstance(BasicHandler **inst)
+{
+ *inst = new BasicHandler();
+
+ SCAWSHandler* pSCAWSHandler = new SCAWSHandler();
+ (*inst)->_functions = 0;
+ if (pSCAWSHandler)
+ {
+ (*inst)->_object = pSCAWSHandler;
+ return pSCAWSHandler->init();
+ }
+
+ return AXIS_FAIL;
+}
+
+STORAGE_CLASS_INFO
+int DestroyInstance(BasicHandler *inst)
+{
+ if (inst)
+ {
+ Handler* pH = static_cast<Handler*>(inst->_object);
+ pH->fini();
+ delete pH;
+ delete inst;
+ return AXIS_SUCCESS;
+ }
+ return AXIS_FAIL;
+}
+} // extern "C"
diff --git a/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/SCAWSHandler.h b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/SCAWSHandler.h
new file mode 100644
index 0000000000..3f0c576921
--- /dev/null
+++ b/sca-cpp/tags/cpp-stable-20060304/sca/runtime/axis_binding/handler/src/SCAWSHandler.h
@@ -0,0 +1,79 @@
+/*
+ *
+ * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Rev$ $Date: 2005/12/22 11:33:21 $ */
+
+#if !defined(SCAWSHANDLER_H_INCLUDED)
+#define SCAWSHANDLER_H_INCLUDED
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include <axis/Handler.hpp>
+
+/** The SCAWSHandler class is an Axis Handler that retrieves properties set
+ * in the deployment descriptor (server.wsdd) and sets them into the
+ * MessageData for use by the SCAWSWrapper which invokes SCA Entry Points.
+ *
+ * @see SCAWSWrapper
+ */
+AXIS_CPP_NAMESPACE_USE
+
+class SCAWSHandler : public Handler
+{
+ public:
+ /** Construct an SCAWSHandler.
+ */
+ SCAWSHandler(void);
+
+ /** Destruct an SCAWSHandler.
+ */
+ virtual ~SCAWSHandler(void);
+
+ // Axis WrapperClassHandler interface.
+
+ /** Perform an necessary initialization.
+ */
+ int AXISCALL init();
+
+ /** Perform any necessary finalization.
+ */
+ int AXISCALL fini();
+
+ /** Get the SCA specific properties that were set in the deployment
+ * descriptor (server.wsdd) and set them into the MessageData where
+ * they can be retrieved by the SCAWSWrapper to invoke the correct
+ * SCA Entry Point.
+ * @param pvIMsg - pointer to IMessageData
+ *
+ * @see SCAWSWrapper
+ */
+ int AXISCALL invoke(void* pvIMsg);
+
+ /** Handle Faults.
+ */
+ void AXISCALL onFault(void* pvIMsg);
+
+ private:
+
+};
+
+
+#endif // !defined(SCAWSHANDLER_H_INCLUDED)
+
+