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