]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
Improve AttributeUserID management: implement the GUIDs repository
authorvsr <vsr@opencascade.com>
Wed, 27 Jan 2010 08:25:19 +0000 (08:25 +0000)
committervsr <vsr@opencascade.com>
Wed, 27 Jan 2010 08:25:19 +0000 (08:25 +0000)
src/Basics/Basics_Utils.cxx
src/Basics/Basics_Utils.hxx
src/SALOMEDSImpl/Makefile.am
src/SALOMEDSImpl/SALOMEDSImpl_AttributeUserID.cxx
src/SALOMEDSImpl/SALOMEDSImpl_AttributeUserID.hxx
src/SALOMEDSImpl/SALOMEDSImpl_SObject.cxx

index 3be1e68c2721427a229add1cfe8f6cf43dc08021..8d05d65e56baee50fd58782deabe44bb79f05028 100644 (file)
@@ -92,4 +92,19 @@ namespace Kernel_Utils
   {
     setlocale(LC_NUMERIC, myCurLocale.c_str());
   }
+
+  std::string GetGUID( GUIDtype type )
+  {
+    std::string guid;
+
+    switch ( type ) {
+    case DefUserID:
+      guid = "FFFFFFFF-D9CD-11d6-945D-1050DA506788"; break;
+    case ObjectdID:
+      guid = "C08F3C95-F112-4023-8776-78F1427D0B6D"; break;
+    }
+
+    return guid;
+  }
+
 }
index 7ca83964a81a3bfe12b58367f3d3b772df3fbaf2..d0e793817871972ac05909a8e2f59203431c3790 100644 (file)
@@ -43,6 +43,15 @@ namespace Kernel_Utils
   private:
     std::string myCurLocale;
   };
+  
+  //! GUID type
+  enum GUIDtype {
+    DefUserID = 1,  //!< Default user attribute ID
+    ObjectdID       //!< Global usage object identifier ID
+  };
+
+  //! Get predefined GUID
+  BASICS_EXPORT std::string GetGUID( GUIDtype );
 }
 
 #endif //_Basics_UTILS_HXX_
index 731cf625a890c36f9e0364e65cea0b227cd75a7d..f0cc66340d24a7a5eabd755661030ecec15e6019 100644 (file)
@@ -102,6 +102,7 @@ COMMON_CPPFLAGS=\
 
 # This local variable defines the list of dependant libraries common to all target in this package.
 COMMON_LIBS =\
+       ../Basics/libSALOMEBasics.la \
        ../HDFPersist/libSalomeHDFPersist.la \
        ../DF/libDF.la \
     ../GenericObj/libSalomeGenericObj.la \
index 7087c5e4d87cfc7e8eeb067a3391b9039d58a4ee..96cdbbc4f967d92fdac24cf9d490e6d5d806c577 100644 (file)
 //  Module : SALOME
 //
 #include "SALOMEDSImpl_AttributeUserID.hxx"
+#include "Basics_Utils.hxx"
 
 using namespace std;
 
+std::string SALOMEDSImpl_AttributeUserID::DefaultID()
+{
+  return Kernel_Utils::GetGUID(Kernel_Utils::DefUserID);
+}   
+
 SALOMEDSImpl_AttributeUserID* SALOMEDSImpl_AttributeUserID::Set (const DF_Label& L, const std::string& ID) 
 {
   SALOMEDSImpl_AttributeUserID* A = NULL;
index 4a768fe80f1aeee9d5d409d5750c486214bf2769..3eece5637f704c6eecf1ab344c0fe35df4d3d6fb 100644 (file)
@@ -42,11 +42,7 @@ private:
 public:
   SALOMEDSImpl_AttributeUserID():SALOMEDSImpl_GenericAttribute("AttributeUserID") {}
   static SALOMEDSImpl_AttributeUserID* Set (const DF_Label& L, const std::string& ID);
-  static const std::string& DefaultID() 
-  {
-    static std::string SALOMEDSImpl_DefaultUserAttributeID ("FFFFFFFF-D9CD-11d6-945D-1050DA506788");
-    return SALOMEDSImpl_DefaultUserAttributeID;
-  }   
+  static std::string DefaultID();
 
   const std::string& Value() const { return ID(); }
   void SetValue(const std::string& value);
index 68fa75f94d108d163a2c0f2c24a758e81067e929..4ec2311a3e0dea50b488dc1ba4341ae2e69e325f 100644 (file)
@@ -247,6 +247,9 @@ std::string SALOMEDSImpl_SObject::GetGUID(const string& theType)
   if (strncmp(theType.c_str(), "AttributeTreeNodeGUID",21) == 0) {
     return theType.substr(21, theType.size()); 
   }
+  if (strncmp(theType.c_str(), "AttributeUserID",15) == 0) {
+    return theType.substr(15, theType.size()); 
+  }
   return "";
 }