Author: robbinspg
Date: Thu May  4 06:33:51 2006
New Revision: 399700

URL: http://svn.apache.org/viewcvs?rev=399700&view=rev
Log:
TUSCANY-272 add copy constructors/operator= methods

Modified:
    
incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/PropertyDefinition.cpp
    incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/PropertyDefinition.h
    incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinition.cpp
    incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinition.h
    incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinitions.cpp
    incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinitions.h

Modified: 
incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/PropertyDefinition.cpp
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/PropertyDefinition.cpp?rev=399700&r1=399699&r2=399700&view=diff
==============================================================================
--- 
incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/PropertyDefinition.cpp 
(original)
+++ 
incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/PropertyDefinition.cpp 
Thu May  4 06:33:51 2006
@@ -26,7 +26,6 @@
     {
 
         PropertyDefinition::PropertyDefinition()
-
         {
             propertydefinition = new PropertyDefinitionImpl();
         }
@@ -36,6 +35,26 @@
             if (propertydefinition) delete propertydefinition;
         }
  
+        void PropertyDefinition::copy (const PropertyDefinition& pd)
+        {
+            if (propertydefinition != 0) delete propertydefinition;
+            propertydefinition = new 
PropertyDefinitionImpl(*(pd.propertydefinition));
+        }
+ 
+        PropertyDefinition::PropertyDefinition(const PropertyDefinition& pd)
+        {
+            copy(pd);
+        }
+        
+        PropertyDefinition& PropertyDefinition::operator=(const 
PropertyDefinition& pd)
+        {
+            if (this != &pd)
+            {
+                copy(pd);
+            }
+            return *this;
+        }
+
         PropertyDefinitionImpl* PropertyDefinition::getPropertyDefinition()
         {
             return propertydefinition;

Modified: 
incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/PropertyDefinition.h
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/PropertyDefinition.h?rev=399700&r1=399699&r2=399700&view=diff
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/PropertyDefinition.h 
(original)
+++ incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/PropertyDefinition.h 
Thu May  4 06:33:51 2006
@@ -47,6 +47,9 @@
 
 
             /*SDO_API*/ PropertyDefinition();
+            PropertyDefinition(const PropertyDefinition& pd);
+            PropertyDefinition& operator=(const PropertyDefinition& pd);
+
             /*SDO_API*/ virtual ~PropertyDefinition();
 
             PropertyDefinitionImpl* getPropertyDefinition();
@@ -111,6 +114,7 @@
 
         private:
             PropertyDefinitionImpl* propertydefinition;
+            void copy(const PropertyDefinition& pd);
         };
     } // End - namespace sdo
 } // End - namespace commonj

Modified: 
incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinition.cpp
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinition.cpp?rev=399700&r1=399699&r2=399700&view=diff
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinition.cpp 
(original)
+++ incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinition.cpp 
Thu May  4 06:33:51 2006
@@ -32,7 +32,27 @@
         {
             if (typedefinition != 0) delete typedefinition;
         }
+
+        void TypeDefinition::copy (const TypeDefinition& td)
+        {
+            if (typedefinition != 0) delete typedefinition;
+            typedefinition = new TypeDefinitionImpl(*(td.typedefinition));
+        }
+ 
+        TypeDefinition::TypeDefinition(const TypeDefinition& td)
+        {
+            copy(td);
+        }
         
+        TypeDefinition& TypeDefinition::operator=(const TypeDefinition& td)
+        {
+            if (this != &td)
+            {
+                copy(td);
+            }
+            return *this;
+        }
+
         TypeDefinitionImpl* TypeDefinition::getTypeDefinition()
         {
             return typedefinition;

Modified: 
incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinition.h
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinition.h?rev=399700&r1=399699&r2=399700&view=diff
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinition.h 
(original)
+++ incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinition.h Thu 
May  4 06:33:51 2006
@@ -46,8 +46,12 @@
 
 
             /*SDO_API*/ TypeDefinition();
+            TypeDefinition(const TypeDefinition& td);
+            TypeDefinition& operator=(const TypeDefinition& td);
+
             /*SDO_API*/ virtual ~TypeDefinition();
 
+
             TypeDefinitionImpl* getTypeDefinition();       
         
             /*SDO_API*/ void setUri(const char * inuri) ;
@@ -96,6 +100,7 @@
 
         private :
             TypeDefinitionImpl *typedefinition;
+            void copy(const TypeDefinition& td);
         };
     } // End - namespace sdo
 } // End - namespace commonj

Modified: 
incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinitions.cpp
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinitions.cpp?rev=399700&r1=399699&r2=399700&view=diff
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinitions.cpp 
(original)
+++ incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinitions.cpp 
Thu May  4 06:33:51 2006
@@ -36,6 +36,26 @@
             if (typedefinitions != 0) delete typedefinitions;
         }
 
+        void TypeDefinitions::copy (const TypeDefinitions& tds)
+        {
+            if (typedefinitions != 0) delete typedefinitions;
+            typedefinitions = new TypeDefinitionsImpl(*(tds.typedefinitions));
+        }
+ 
+        TypeDefinitions::TypeDefinitions(const TypeDefinitions& tds)
+        {
+            copy(tds);
+        }
+        
+        TypeDefinitions& TypeDefinitions::operator=(const TypeDefinitions& tds)
+        {
+            if (this != &tds)
+            {
+                copy(tds);
+            }
+            return *this;
+        }
+
         void TypeDefinitions::addTypeDefinition(TypeDefinition& t)
         {
             if (typedefinitions == 0)

Modified: 
incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinitions.h
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinitions.h?rev=399700&r1=399699&r2=399700&view=diff
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinitions.h 
(original)
+++ incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/TypeDefinitions.h 
Thu May  4 06:33:51 2006
@@ -40,6 +40,9 @@
             
         public:
             /*SDO_API*/ TypeDefinitions();
+            TypeDefinitions(const TypeDefinitions& tds);
+            TypeDefinitions& operator=(const TypeDefinitions& tds);
+
             /*SDO_API*/ virtual ~TypeDefinitions();
 
             /*SDO_API*/ void addTypeDefinition(TypeDefinition& t);
@@ -48,6 +51,7 @@
  
         private:
             TypeDefinitionsImpl* typedefinitions;
+            void copy(const TypeDefinitions& tds);
 
             
         };


Reply via email to