You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ro...@apache.org on 2006/08/28 08:32:37 UTC
svn commit: r437563 - in /incubator/tuscany/cpp/sca: projects/tuscany_sca/
projects/tuscany_sca/tuscany_sca/ projects/tuscany_sca/tuscany_sca_cpp/
runtime/core/src/tuscany/sca/model/ runtime/extensions/cpp/
runtime/extensions/cpp/src/ runtime/extension...
Author: robbinspg
Date: Sun Aug 27 23:32:36 2006
New Revision: 437563
URL: http://svn.apache.org/viewvc?rev=437563&view=rev
Log:
Load extension schema
move cpp specific schema to extensions
Added:
incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/
incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPExtension.cpp (with props)
incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPExtension.h (with props)
incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPImplementationExtension.cpp (with props)
incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPImplementationExtension.h (with props)
incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPInterfaceExtension.cpp (with props)
incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPInterfaceExtension.h (with props)
incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/Makefile.am (with props)
incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/
incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPImplementation.cpp (with props)
incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPImplementation.h (with props)
incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPInterface.cpp (with props)
incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPInterface.h (with props)
incubator/tuscany/cpp/sca/runtime/extensions/cpp/xsd/
incubator/tuscany/cpp/sca/runtime/extensions/cpp/xsd/sca-implementation-cpp.xsd (with props)
incubator/tuscany/cpp/sca/runtime/extensions/cpp/xsd/sca-interface-cpp.xsd (with props)
Removed:
incubator/tuscany/cpp/sca/runtime/extensions/cpp/CPPExtension.cpp
incubator/tuscany/cpp/sca/runtime/extensions/cpp/CPPExtension.h
incubator/tuscany/cpp/sca/runtime/extensions/cpp/CPPImplementationExtension.cpp
incubator/tuscany/cpp/sca/runtime/extensions/cpp/CPPImplementationExtension.h
incubator/tuscany/cpp/sca/runtime/extensions/cpp/CPPInterfaceExtension.cpp
incubator/tuscany/cpp/sca/runtime/extensions/cpp/CPPInterfaceExtension.h
incubator/tuscany/cpp/sca/runtime/extensions/cpp/Makefile.am
incubator/tuscany/cpp/sca/xsd/sca-implementation-cpp.xsd
incubator/tuscany/cpp/sca/xsd/sca-interface-cpp.xsd
Modified:
incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.ncb
incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.opt
incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca/tuscany_sca.dsp
incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_cpp/tuscany_sca_cpp.dsp
incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/ModelLoader.cpp
incubator/tuscany/cpp/sca/xsd/sca.xsd
Modified: incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.ncb
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.ncb?rev=437563&r1=437562&r2=437563&view=diff
==============================================================================
Binary files - no diff available.
Modified: incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.opt
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.opt?rev=437563&r1=437562&r2=437563&view=diff
==============================================================================
Binary files - no diff available.
Modified: incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca/tuscany_sca.dsp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca/tuscany_sca.dsp?rev=437563&r1=437562&r2=437563&view=diff
==============================================================================
--- incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca/tuscany_sca.dsp (original)
+++ incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca/tuscany_sca.dsp Sun Aug 27 23:32:36 2006
@@ -530,15 +530,7 @@
# End Source File
# Begin Source File
-SOURCE="..\..\..\xsd\sca-implementation-cpp.xsd"
-# End Source File
-# Begin Source File
-
SOURCE="..\..\..\xsd\sca-implementation-java.xsd"
-# End Source File
-# Begin Source File
-
-SOURCE="..\..\..\xsd\sca-interface-cpp.xsd"
# End Source File
# Begin Source File
Modified: incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_cpp/tuscany_sca_cpp.dsp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_cpp/tuscany_sca_cpp.dsp?rev=437563&r1=437562&r2=437563&view=diff
==============================================================================
--- incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_cpp/tuscany_sca_cpp.dsp (original)
+++ incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_cpp/tuscany_sca_cpp.dsp Sun Aug 27 23:32:36 2006
@@ -43,7 +43,7 @@
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_CPP_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../runtime/extensions/cpp/model" /I "../../../deploy/include" /I "$(TUSCANY_SDOCPP)/include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_CPP_EXPORTS" /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../runtime/extensions/cpp/src/model" /I "../../../deploy/include" /I "$(TUSCANY_SDOCPP)/include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_CPP_EXPORTS" /FD /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
@@ -57,7 +57,7 @@
# ADD LINK32 tuscany_sca.lib tuscany_sdo.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /libpath:"..\..\..\deploy\lib" /libpath:"$(TUSCANY_SDOCPP)\lib"
# Begin Special Build Tool
SOURCE="$(InputPath)"
-PostBuild_Cmds=copy Release\tuscany_sca_cpp.dll ..\..\..\deploy\extensions
+PostBuild_Cmds=copy Release\tuscany_sca_cpp.dll ..\..\..\deploy\extensions copy ..\..\..\runtime\extensions\cpp\xsd\*.xsd ..\..\..\deploy\extensions
# End Special Build Tool
!ELSEIF "$(CFG)" == "tuscany_sca_cpp - Win32 Debug"
@@ -74,7 +74,7 @@
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_CPP_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../runtime/extensions/cpp/model" /I "../../../deploy/include" /I "$(TUSCANY_SDOCPP)/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_CPP_EXPORTS" /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../runtime/extensions/cpp/src/model" /I "../../../deploy/include" /I "$(TUSCANY_SDOCPP)/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_CPP_EXPORTS" /FD /GZ /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
@@ -88,7 +88,7 @@
# ADD LINK32 tuscany_sca.lib tuscany_sdo.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\deploy\lib" /libpath:"$(TUSCANY_SDOCPP)\lib"
# Begin Special Build Tool
SOURCE="$(InputPath)"
-PostBuild_Cmds=copy Debug\tuscany_sca_cpp.dll ..\..\..\deploy\extensions copy Debug\tuscany_sca_cpp.pdb ..\..\..\deploy\extensions
+PostBuild_Cmds=copy Debug\tuscany_sca_cpp.dll ..\..\..\deploy\extensions copy Debug\tuscany_sca_cpp.pdb ..\..\..\deploy\extensions copy ..\..\..\runtime\extensions\cpp\xsd\*.xsd ..\..\..\deploy\extensions
# End Special Build Tool
!ENDIF
@@ -102,23 +102,23 @@
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
-SOURCE=..\..\..\runtime\extensions\cpp\CPPExtension.cpp
+SOURCE=..\..\..\runtime\extensions\cpp\src\CPPExtension.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\runtime\extensions\cpp\model\CPPImplementation.cpp
+SOURCE=..\..\..\runtime\extensions\cpp\src\model\CPPImplementation.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\runtime\extensions\cpp\CPPImplementationExtension.cpp
+SOURCE=..\..\..\runtime\extensions\cpp\src\CPPImplementationExtension.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\runtime\extensions\cpp\model\CPPInterface.cpp
+SOURCE=..\..\..\runtime\extensions\cpp\src\model\CPPInterface.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\runtime\extensions\cpp\CPPInterfaceExtension.cpp
+SOURCE=..\..\..\runtime\extensions\cpp\src\CPPInterfaceExtension.cpp
# End Source File
# End Group
# Begin Group "Header Files"
@@ -126,23 +126,35 @@
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
-SOURCE=..\..\..\runtime\extensions\cpp\CPPExtension.h
+SOURCE=..\..\..\runtime\extensions\cpp\src\CPPExtension.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\runtime\extensions\cpp\model\CPPImplementation.h
+SOURCE=..\..\..\runtime\extensions\cpp\src\model\CPPImplementation.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\runtime\extensions\cpp\CPPImplementationExtension.h
+SOURCE=..\..\..\runtime\extensions\cpp\src\CPPImplementationExtension.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\runtime\extensions\cpp\model\CPPInterface.h
+SOURCE=..\..\..\runtime\extensions\cpp\src\model\CPPInterface.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\runtime\extensions\cpp\CPPInterfaceExtension.h
+SOURCE=..\..\..\runtime\extensions\cpp\src\CPPInterfaceExtension.h
+# End Source File
+# End Group
+# Begin Group "xsd"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE="..\..\..\runtime\extensions\cpp\xsd\sca-implementation-cpp.xsd"
+# End Source File
+# Begin Source File
+
+SOURCE="..\..\..\runtime\extensions\cpp\xsd\sca-interface-cpp.xsd"
# End Source File
# End Group
# End Target
Modified: incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/ModelLoader.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/ModelLoader.cpp?rev=437563&r1=437562&r2=437563&view=diff
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/ModelLoader.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/ModelLoader.cpp Sun Aug 27 23:32:36 2006
@@ -796,8 +796,9 @@
// Create an xsd helper
myXSDHelper = HelperProvider::getXSDHelper();
- // Now add to it some xsd files
try {
+
+ // Load the Assembly model schema
string root = SCARuntime::getInstance()->getInstallRoot();
string filename = root + "/xsd/sca.xsd";
@@ -808,6 +809,17 @@
myXSDHelper->defineFile(filename.c_str());
loadWSDLTypes(myXSDHelper);
+
+ // Load any schema from the extensions directory
+ string extensionsRoot = root + "/extensions";
+
+ Files files(extensionsRoot, "*.xsd", false);
+ for (unsigned int i=0; i < files.size(); i++)
+ {
+ string extensionSchema = extensionsRoot + "/" + files[i].getFileName();
+ myXSDHelper->defineFile(extensionSchema.c_str());
+ }
+
} catch (SDOTypeNotFoundException ex)
{
Added: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPExtension.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPExtension.cpp?rev=437563&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPExtension.cpp (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPExtension.cpp Sun Aug 27 23:32:36 2006
@@ -0,0 +1,73 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you 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.
+*/
+
+#include "CPPExtension.h"
+#include "tuscany/sca/util/Logging.h"
+#include "tuscany/sca/core/SCARuntime.h"
+#include "CPPImplementationExtension.h"
+#include "CPPInterfaceExtension.h"
+
+
+
+extern "C"
+{
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void tuscany_sca_extension_initialize()
+ {
+ tuscany::sca::cpp::CPPExtension::initialize();
+ }
+}
+
+namespace tuscany
+{
+ namespace sca
+ {
+ namespace cpp
+ {
+ // ===================================================================
+ // Constructor for the CPPExtension class.
+ // ===================================================================
+ CPPExtension::CPPExtension()
+ {
+ LOGENTRY(1, "CPPExtension::constructor");
+ LOGEXIT(1, "CPPExtension::constructor");
+ }
+
+ // ===================================================================
+ // Destructor for the CPPExtension class.
+ // ===================================================================
+ CPPExtension::~CPPExtension()
+ {
+ LOGENTRY(1, "CPPExtension::destructor");;
+ LOGEXIT(1, "CPPExtension::destructor");
+ }
+
+ void CPPExtension::initialize()
+ {
+ LOGENTRY(1, "CPPExtension::initialize");;
+ SCARuntime::getInstance()->registerImplementationExtension(new CPPImplementationExtension());
+ SCARuntime::getInstance()->registerInterfaceExtension(new CPPInterfaceExtension());
+ LOGEXIT(1, "CPPExtension::initialize");;
+ }
+
+ } // End namespace cpp
+ } // End namespace sca
+} // End namespace tuscany
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPExtension.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPExtension.cpp
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPExtension.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPExtension.h?rev=437563&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPExtension.h (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPExtension.h Sun Aug 27 23:32:36 2006
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+#ifndef tuscany_sca_extension_cpp_cppextension_h
+#define tuscany_sca_extension_cpp_cppextension_h
+
+namespace tuscany
+{
+ namespace sca
+ {
+ namespace cpp
+ {
+
+ class CPPExtension
+ {
+ public:
+ /**
+ * Default constructor
+ */
+ CPPExtension();
+
+ /**
+ * Destructor
+ */
+ virtual ~CPPExtension();
+
+ static void initialize();
+ private:
+
+ };
+
+
+ } // End namespace cpp
+ } // End namespace sca
+} // End namespace tuscany
+
+#endif // tuscany_sca_extension_cpp_cppextension_h
+
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPExtension.h
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPExtension.h
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPImplementationExtension.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPImplementationExtension.cpp?rev=437563&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPImplementationExtension.cpp (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPImplementationExtension.cpp Sun Aug 27 23:32:36 2006
@@ -0,0 +1,72 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you 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.
+*/
+
+#include "CPPImplementationExtension.h"
+#include "CPPImplementation.h"
+#include "tuscany/sca/util/Logging.h"
+
+
+namespace tuscany
+{
+ namespace sca
+ {
+ namespace cpp
+ {
+ // ===================================================================
+ // Constructor for the CPPImplementationExtension class.
+ // ===================================================================
+ CPPImplementationExtension::CPPImplementationExtension()
+ {
+ LOGENTRY(1, "CPPImplementationExtension::constructor");
+ LOGEXIT(1, "CPPImplementationExtension::constructor");
+ }
+
+ // ===================================================================
+ // Destructor for the CPPImplementationExtension class.
+ // ===================================================================
+ CPPImplementationExtension::~CPPImplementationExtension()
+ {
+ LOGENTRY(1, "CPPImplementationExtension::destructor");;
+ LOGEXIT(1, "CPPImplementationExtension::destructor");
+ }
+
+ const string CPPImplementationExtension::extensionName("cpp");
+ const string CPPImplementationExtension::typeQName("http://www.osoa.org/xmlns/sca/1.0#CPPImplementation");
+
+ // ===================================================================
+ // loadModelElement - load the info from implementation.cpp
+ // ===================================================================
+ tuscany::sca::model::Implementation* CPPImplementationExtension::getImplementation(commonj::sdo::DataObjectPtr scdlImplementation)
+ {
+ string implType = scdlImplementation->getType().getName();
+ if (implType == "CPPImplementation")
+ {
+ string library = scdlImplementation->getCString("library");
+ string header = scdlImplementation->getCString("header");
+ string className = scdlImplementation->getCString("class");
+ // The following works for now ONLY bacause CPPImplementation is identical
+ // to tusscany::sca::model::CPPIplementation which will be removed soon!
+ return new CPPImplementation(library, header, className);
+ }
+ return 0;
+ }
+
+ } // End namespace cpp
+ } // End namespace sca
+} // End namespace tuscany
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPImplementationExtension.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPImplementationExtension.cpp
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPImplementationExtension.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPImplementationExtension.h?rev=437563&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPImplementationExtension.h (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPImplementationExtension.h Sun Aug 27 23:32:36 2006
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+#ifndef tuscany_sca_extension_cppimplementationextension_h
+#define tuscany_sca_extension_cppimplementationextension_h
+
+#include "tuscany/sca/extension/ImplementationExtension.h"
+
+namespace tuscany
+{
+ namespace sca
+ {
+ namespace cpp
+ {
+
+ class CPPImplementationExtension : public ImplementationExtension
+ {
+ public:
+ /**
+ * Default constructor
+ */
+ CPPImplementationExtension();
+
+ /**
+ * Destructor
+ */
+ virtual ~CPPImplementationExtension();
+
+ /**
+ * return the name of the extension
+ */
+ virtual const string& getExtensionName() {return extensionName;}
+
+ /**
+ * return the QName of schema elemant for this implementation extension
+ * (e.g. "http://www.osoa.org/xmlns/sca/1.0#implementation.cpp")
+ */
+ virtual const string& getExtensionTypeQName() {return typeQName;}
+
+ virtual tuscany::sca::model::Implementation* getImplementation(commonj::sdo::DataObjectPtr scdlImplementation);
+
+ private:
+ static const string extensionName;
+ static const string typeQName;
+
+ };
+
+
+ } // End namespace cpp
+ } // End namespace sca
+} // End namespace tuscany
+
+#endif // tuscany_sca_extension_cppimplementationextension_h
+
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPImplementationExtension.h
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPImplementationExtension.h
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPInterfaceExtension.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPInterfaceExtension.cpp?rev=437563&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPInterfaceExtension.cpp (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPInterfaceExtension.cpp Sun Aug 27 23:32:36 2006
@@ -0,0 +1,75 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you 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.
+*/
+
+#include "CPPInterfaceExtension.h"
+#include "CPPInterface.h"
+#include "tuscany/sca/util/Logging.h"
+
+
+namespace tuscany
+{
+ namespace sca
+ {
+ namespace cpp
+ {
+ // ===================================================================
+ // Constructor for the CPPInterfaceExtension class.
+ // ===================================================================
+ CPPInterfaceExtension::CPPInterfaceExtension()
+ {
+ LOGENTRY(1, "CPPInterfaceExtension::constructor");
+ LOGEXIT(1, "CPPInterfaceExtension::constructor");
+ }
+
+ // ===================================================================
+ // Destructor for the CPPInterfaceExtension class.
+ // ===================================================================
+ CPPInterfaceExtension::~CPPInterfaceExtension()
+ {
+ LOGENTRY(1, "CPPInterfaceExtension::destructor");;
+ LOGEXIT(1, "CPPInterfaceExtension::destructor");
+ }
+
+ const string CPPInterfaceExtension::extensionName("cpp");
+ const string CPPInterfaceExtension::typeQName("http://www.osoa.org/xmlns/sca/1.0#CPPInterface");
+
+ // ===================================================================
+ // loadModelElement - load the info from implementation.cpp
+ // ===================================================================
+ tuscany::sca::model::Interface* CPPInterfaceExtension::getInterface(commonj::sdo::DataObjectPtr scdlInterface)
+ {
+ // Determine the type
+ string ifType = scdlInterface->getType().getName();
+ if (ifType == "CPPInterface")
+ {
+ string header = scdlInterface->getCString("header");
+ string className = scdlInterface->getCString("class");
+ string scope = scdlInterface->getCString("scope");
+ bool remotable = scdlInterface->getBoolean("remotable");
+
+ // The following works for now ONLY bacause CPPInterface is identical
+ // to tusscany::sca::model::CPPInterface which will be removed soon!
+ return new CPPInterface(header, className, scope, remotable);
+ }
+ return 0;
+ }
+
+ } // End namespace cpp
+ } // End namespace sca
+} // End namespace tuscany
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPInterfaceExtension.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPInterfaceExtension.cpp
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPInterfaceExtension.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPInterfaceExtension.h?rev=437563&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPInterfaceExtension.h (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPInterfaceExtension.h Sun Aug 27 23:32:36 2006
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+#ifndef tuscany_sca_extension_cppinterfaceextension_h
+#define tuscany_sca_extension_cppinterfaceextension_h
+
+#include "tuscany/sca/extension/InterfaceExtension.h"
+
+namespace tuscany
+{
+ namespace sca
+ {
+ namespace cpp
+ {
+
+ class CPPInterfaceExtension : public InterfaceExtension
+ {
+ public:
+ /**
+ * Default constructor
+ */
+ CPPInterfaceExtension();
+
+ /**
+ * Destructor
+ */
+ virtual ~CPPInterfaceExtension();
+
+ /**
+ * return the name of the extension
+ */
+ virtual const string& getExtensionName() {return extensionName;}
+
+ /**
+ * return the QName of schema elemant for this implementation extension
+ * (e.g. "http://www.osoa.org/xmlns/sca/1.0#implementation.cpp")
+ */
+ virtual const string& getExtensionTypeQName() {return typeQName;}
+
+ virtual tuscany::sca::model::Interface* getInterface(commonj::sdo::DataObjectPtr scdlInterface);
+
+ private:
+ static const string extensionName;
+ static const string typeQName;
+
+ };
+
+
+ } // End namespace cpp
+ } // End namespace sca
+} // End namespace tuscany
+
+#endif // tuscany_sca_extension_cppinterfaceextension_h
+
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPInterfaceExtension.h
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/CPPInterfaceExtension.h
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/Makefile.am?rev=437563&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/Makefile.am (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/Makefile.am Sun Aug 27 23:32:36 2006
@@ -0,0 +1,19 @@
+libdir=$(prefix)/extensions
+lib_LTLIBRARIES = libtuscany_sca_cpp.la
+
+noinst_HEADERS = *.h model/*.h
+
+libtuscany_sca_cpp_la_SOURCES = \
+CPPExtension.cpp \
+CPPImplementationExtension.cpp \
+model/ImplementationCPP.cpp
+
+libtuscany_sca_cpp_la_LIBADD = -L${TUSCANY_SDOCPP}/lib -ltuscany_sdo \
+ -L$(top_builddir)/runtime/core/src -ltuscany_sca
+
+
+AM_CPPFLAGS = $(CPPFLAGS) -D_DEBUG
+
+INCLUDES = -Imodel -I$(top_builddir)/runtime/core/src \
+ -I${TUSCANY_SDOCPP}/include
+
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/Makefile.am
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPImplementation.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPImplementation.cpp?rev=437563&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPImplementation.cpp (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPImplementation.cpp Sun Aug 27 23:32:36 2006
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+#include "tuscany/sca/util/Logging.h"
+#include "CPPImplementation.h"
+#include "tuscany/sca/util/Utils.h"
+
+namespace tuscany
+{
+ namespace sca
+ {
+
+ namespace cpp
+ {
+
+ // Constructor
+ CPPImplementation::CPPImplementation(const string& libraryName, const string& head, const string& classN)
+ : Implementation(), library(libraryName), header(head), className(classN)
+ {
+ // Separate any path element
+ Utils::rTokeniseString("/", head, headerPath, headerStub);
+ if (headerPath != "")
+ {
+ headerPath += "/";
+ }
+
+ // Determine the header stub name
+ string tmp;
+ Utils::rTokeniseString(".h", headerStub, headerStub, tmp);
+ }
+
+ CPPImplementation::~CPPImplementation()
+ {
+ }
+ } // End namespace cpp
+
+ } // End namespace sca
+} // End namespace tuscany
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPImplementation.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPImplementation.cpp
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPImplementation.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPImplementation.h?rev=437563&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPImplementation.h (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPImplementation.h Sun Aug 27 23:32:36 2006
@@ -0,0 +1,128 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+#ifndef tuscany_sca_cpp_model_cppimplementation_h
+#define tuscany_sca_cpp_model_cppimplementation_h
+
+#include "tuscany/sca/model/Implementation.h"
+
+#include <map>
+using std::map;
+#include <string>
+using std::string;
+
+namespace tuscany
+{
+ namespace sca
+ {
+ namespace cpp
+ {
+ /**
+ * Holds information about an SCA implementation written in C++
+ */
+ class CPPImplementation : public model::Implementation
+ {
+
+ public:
+ /**
+ * Constructor.
+ * @param libraryName Name of the shared library.
+ * @param header Name of the header file that contains the class declaring the
+ * implementation class.
+ * @param className Name of the class in the header file (could be a blank string
+ * if this is not specified).
+ */
+ CPPImplementation(const string& libraryName, const string& header, const string& className);
+
+ /**
+ * Destructor
+ */
+ virtual ~CPPImplementation();
+
+ /**
+ * Return the implementation type.
+ * @return Always returns CPP.
+ */
+ virtual const std::string getImplementationType() {return "cpp";}
+
+ virtual std::string getComponentTypeFileName() {return getHeaderPath() + getHeaderStub();}
+ /**
+ * Returns the name of the shared library.
+ * @return The name of the shared library.
+ */
+ const string& getLibrary() {return library;}
+
+ /**
+ * Get the name of the header file.
+ * @return Name of the header file.
+ */
+ const string& getHeader() {return header;}
+
+ /**
+ * Get the header file name without the extension.
+ * @return The name of the header file without any extension.
+ */
+ const string& getHeaderStub() {return headerStub;}
+
+ /**
+ * Get the header path.
+ * @return The pathe element of the header.
+ */
+ const string& getHeaderPath() {return headerPath;}
+
+ /**
+ * Get the name of the class.
+ * @return The class name if specified.
+ */
+ const string& getClass() {return className;}
+
+ private:
+ /**
+ * Name of the shared library.
+ */
+ string library;
+
+ /**
+ * Name of the header file describing the interface.
+ */
+ string header;
+
+ /**
+ * Name of the header file without the extension.
+ */
+ string headerStub;
+
+ /**
+ * Path element of the header.
+ */
+ string headerPath;
+
+ /**
+ * Name of the class in the header file declaring the implementation.
+ * May be an empty string if not set in the SCDL file.
+ */
+ string className;
+ };
+
+ } // End namespace cpp
+ } // End namespace sca
+} // End namespace tuscany
+
+#endif // tuscany_sca_cpp_model_cppimplementation_h
+
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPImplementation.h
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPImplementation.h
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPInterface.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPInterface.cpp?rev=437563&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPInterface.cpp (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPInterface.cpp Sun Aug 27 23:32:36 2006
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+#include "tuscany/sca/util/Logging.h"
+#include "tuscany/sca/util/Utils.h"
+#include "CPPInterface.h"
+
+
+namespace tuscany
+{
+ namespace sca
+ {
+
+ namespace cpp
+ {
+
+ // Constructor
+ CPPInterface::CPPInterface(
+ const string& head,
+ const string& classN,
+ const string& scop,
+ bool remote)
+ : header(head), className(classN), remotable(remote)
+ {
+ Utils::breakpoint();
+ string::size_type dot = header.rfind(".h"); // this will also find .hpp
+ if (dot != string::npos)
+ {
+ headerStub = header.substr(0, dot);
+ }
+ else
+ {
+ headerStub = header;
+ }
+
+ if (scop == "composite")
+ {
+ scope = COMPOSITE;
+ }
+ else
+ {
+ scope = STATELESS;
+ }
+ }
+
+ CPPInterface::~CPPInterface()
+ {
+ }
+
+ } // End namespace cpp
+
+ } // End namespace sca
+} // End namespace tuscany
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPInterface.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPInterface.cpp
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPInterface.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPInterface.h?rev=437563&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPInterface.h (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPInterface.h Sun Aug 27 23:32:36 2006
@@ -0,0 +1,143 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+#ifndef tuscany_sca_cpp_model_cppinterface_h
+#define tuscany_sca_cpp_model_cppinterface_h
+
+#include "tuscany/sca/model/Interface.h"
+
+
+#include <map>
+using std::map;
+#include <string>
+using std::string;
+
+namespace tuscany
+{
+ namespace sca
+ {
+ namespace cpp
+ {
+ /**
+ * Holds information about an interface described using a C++
+ * header file.
+ */
+ class CPPInterface : public model::Interface
+ {
+
+ public:
+ /**
+ * Constuctor.
+ * @param header Name of the header file containing the class that
+ * describes the interface.
+ * @param className Name of the class in the header file that
+ * describes the interface.
+ * @param scope The scope of the interface (stateless or composite).
+ * @param remotable True if the interface is remotable.
+ */
+ CPPInterface(
+ const string& header,
+ const string& className,
+ const string& scope,
+ bool remotable);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CPPInterface();
+
+ /**
+ * Return the type of the interface.
+ * @return Always returns CPP.
+ */
+ virtual const std::string getInterfaceType() {return "cpp";}
+
+ /**
+ * Get the name of the header file.
+ * @return The name of the header file containing the definition of the
+ * interface.
+ */
+ const string& getHeader() {return header;}
+
+ /**
+ * Return the name of the header file without the extension.
+ * @return Header file name without any extension.
+ */
+ const string& getHeaderStub() {return headerStub;}
+
+ /**
+ * Get the name of the class.
+ * @return The name of the class defining the interface.
+ */
+ const string& getClass() {return className;}
+
+ /**
+ * Scope of interface.
+ */
+ enum SCOPE
+ {
+ COMPOSITE,
+ STATELESS
+ };
+
+ /**
+ * Get the scope of the interface.
+ * @return The scope of the interface.
+ */
+ SCOPE getScope() {return scope;}
+
+ /**
+ * Return whether the interface is remotable or local.
+ * @return True if the interface is remotable, otherwise false.
+ */
+ bool getRemotable() {return remotable;}
+
+ private:
+ /**
+ * Name of the header file containing the definition of the interface.
+ */
+ string header;
+
+ /**
+ * Name of the header file without the extension.
+ */
+ string headerStub;
+
+ /**
+ * Name of the class in the header file.
+ */
+ string className;
+
+ /**
+ * Scope of the interface.
+ */
+ SCOPE scope;
+
+ /**
+ * Remotable interface or not.
+ */
+ bool remotable;
+ };
+
+ } // End namespace cpp
+ } // End namespace sca
+} // End namespace tuscany
+
+#endif // tuscany_sca_cpp_model_cppinterface_h
+
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPInterface.h
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/src/model/CPPInterface.h
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/cpp/xsd/sca-implementation-cpp.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/cpp/xsd/sca-implementation-cpp.xsd?rev=437563&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/cpp/xsd/sca-implementation-cpp.xsd (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/cpp/xsd/sca-implementation-cpp.xsd Sun Aug 27 23:32:36 2006
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2006 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.
+ -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ elementFormDefault="qualified">
+
+ <element name="implementation.cpp" type="sca:CPPImplementation" substitutionGroup="sca:implementation"/>
+ <complexType name="CPPImplementation">
+ <complexContent>
+ <extension base="sca:Implementation">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attribute name="library" type="NCName" use="required"/>
+ <attribute name="path" type="NCName" use="optional"/>
+ <attribute name="header" type="NCName" use="required"/>
+ <attribute name="class" type="Name" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </extension>
+ </complexContent>
+ </complexType>
+</schema>
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/xsd/sca-implementation-cpp.xsd
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/xsd/sca-implementation-cpp.xsd
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/cpp/xsd/sca-interface-cpp.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/cpp/xsd/sca-interface-cpp.xsd?rev=437563&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/cpp/xsd/sca-interface-cpp.xsd (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/cpp/xsd/sca-interface-cpp.xsd Sun Aug 27 23:32:36 2006
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2006 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.
+-->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ elementFormDefault="qualified">
+
+ <element name="interface.cpp" type="sca:CPPInterface" substitutionGroup="sca:interface"/>
+ <complexType name="CPPInterface">
+ <complexContent>
+ <extension base="sca:Interface">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attribute name="header" type="NCName" use="required" />
+ <attribute name="class" type="Name" use="optional" />
+ <attribute name="callbackHeader" type="NCName" use="optional" />
+ <attribute name="callbackClass" type="Name" use="optional" />
+ <attribute name="scope" type="sca:CPPScope" use="optional" />
+ <attribute name="remotable" type="boolean" use="optional" />
+ <anyAttribute namespace="##any" processContents="lax" />
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <simpleType name="CPPScope">
+ <restriction base="string">
+ <enumeration value="stateless" />
+ <enumeration value="composite" />
+ </restriction>
+ </simpleType>
+</schema>
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/xsd/sca-interface-cpp.xsd
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/xsd/sca-interface-cpp.xsd
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/cpp/sca/xsd/sca.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/xsd/sca.xsd?rev=437563&r1=437562&r2=437563&view=diff
==============================================================================
--- incubator/tuscany/cpp/sca/xsd/sca.xsd (original)
+++ incubator/tuscany/cpp/sca/xsd/sca.xsd Sun Aug 27 23:32:36 2006
@@ -21,10 +21,8 @@
<include schemaLocation="sca-core.xsd" />
<include schemaLocation="sca-interface-java.xsd" />
<include schemaLocation="sca-interface-wsdl.xsd" />
- <include schemaLocation="sca-interface-cpp.xsd" />
<include schemaLocation="sca-implementation-java.xsd" />
<include schemaLocation="sca-implementation-composite.xsd" />
- <include schemaLocation="sca-implementation-cpp.xsd" />
<include schemaLocation="sca-binding-webservice.xsd" />
<include schemaLocation="sca-binding-sca.xsd" />
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org