[Mobies-commit] [commit] r4080 - in UDM/trunk: include src/UdmBase

ksmyth at redhat1.isis.vanderbilt.edu ksmyth at redhat1.isis.vanderbilt.edu
Fri Aug 3 17:34:23 CDT 2012


Author: ksmyth
Date: Fri Aug  3 17:34:22 2012
New Revision: 4080

Log:
SmartDataNetwork::GetAssociationRoleInfo. Add CreateSmartDataNetwork for future backwards-compatibility

Modified:
   UDM/trunk/include/UdmBase.h
   UDM/trunk/src/UdmBase/UdmBase.cpp

Modified: UDM/trunk/include/UdmBase.h
==============================================================================
--- UDM/trunk/include/UdmBase.h	Fri Aug  3 17:34:11 2012	(r4079)
+++ UDM/trunk/include/UdmBase.h	Fri Aug  3 17:34:22 2012	(r4080)
@@ -3320,7 +3320,11 @@
 	friend void ::Uml::Initialize();
 };
 
-
+// This function is provided for backwards-compatibility:
+//  If a virtual function is added to DataNetwork, programs that are compiled against the augmented version and
+//  instantiate a SmartDataNetwork will not link against older version of Udm
+// TLDR: use CreateSmartDataNetwork instead of new SmartDataNetwork
+UDM_DLL DataNetwork* CreateSmartDataNetwork(const UdmDiagram &metainfo, UdmProject * pr = NULL);
 
 class SmartDataNetwork : public DataNetwork 
 {
@@ -3508,6 +3512,10 @@
 	virtual const string & Str(){return str;};
 	virtual set<Object> GetAllInstancesOf(const ::Uml::Class& meta){return testdn()->GetAllInstancesOf(meta);};
 
+	virtual UDM_DLL struct AssociationRoleInfo GetAssociationRoleInfo(const ::Uml::AssociationRole &role) const
+	{
+		return testdn()->GetAssociationRoleInfo(role);
+	}
 };
 
 	class UDM_DLL  MetaDepository

Modified: UDM/trunk/src/UdmBase/UdmBase.cpp
==============================================================================
--- UDM/trunk/src/UdmBase/UdmBase.cpp	Fri Aug  3 17:34:11 2012	(r4079)
+++ UDM/trunk/src/UdmBase/UdmBase.cpp	Fri Aug  3 17:34:22 2012	(r4080)
@@ -1957,6 +1957,11 @@
 			}
 
 		};
+
+		UDM_DLL DataNetwork* CreateSmartDataNetwork(const UdmDiagram &metainfo, UdmProject * pr)
+		{
+			return new SmartDataNetwork(metainfo, pr);
+		}
 }
 
 


More information about the Mobies-commit mailing list