Salome HOME
0021133: EDF 1605 ALL: Space in dump files instead of tabulations
[modules/kernel.git] / src / SALOMEDSImpl / SALOMEDSImpl_Attributes.hxx
index 118cdf3d81613d80e314b26c028be8d25a7ddd34..e05ccf061b933189e4beffba90f179d51517ee59 100644 (file)
@@ -1,31 +1,36 @@
-// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-// 
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either 
-// version 2.1 of the License.
-// 
-// This library is distributed in the hope that it will be useful 
-// but WITHOUT ANY WARRANTY; without even the implied warranty of 
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-// Lesser General Public License for more details.
+//  Copyright (C) 2007-2010  CEA/DEN, EDF R&D, OPEN CASCADE
 //
-// You should have received a copy of the GNU Lesser General Public  
-// License along with this library; if not, write to the Free Software 
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 //
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//  This library is free software; you can redistribute it and/or
+//  modify it under the terms of the GNU Lesser General Public
+//  License as published by the Free Software Foundation; either
+//  version 2.1 of the License.
 //
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
 //  File   : SALOMEDSImpl_Attributes.hxx
 //  Author : Sergey RUIN
 //  Module : SALOME
-
+//
 #ifndef __SALOMEDSIMPL_ATTRIBUTES__H__
 #define __SALOMEDSIMPL_ATTRIBUTES__H__
 
+#include "SALOMEDSImpl_Defines.hxx"
+
 #include <iostream>
-class LockProtection
+class SALOMEDSIMPL_EXPORT LockProtection
 {
 public :
   LockProtection(const char *message) {
@@ -64,43 +69,45 @@ public :
 #include "SALOMEDSImpl_AttributeFlags.hxx"
 #include "SALOMEDSImpl_AttributeGraphic.hxx"
 #include "SALOMEDSImpl_AttributeParameter.hxx"
+#include "SALOMEDSImpl_AttributeString.hxx"
 
 
 #define __AttributeTypeToGUIDForSObject \
-       if(theType == "AttributeReal") return SALOMEDSImpl_AttributeReal::GetID(); \
-       if(theType == "AttributeInteger") return SALOMEDSImpl_AttributeInteger::GetID(); \
-       if(theType == "AttributeSequenceOfReal") return SALOMEDSImpl_AttributeSequenceOfReal::GetID(); \
-       if(theType == "AttributeSequenceOfInteger") return SALOMEDSImpl_AttributeSequenceOfInteger::GetID(); \
-       if(theType == "AttributeName") return SALOMEDSImpl_AttributeName::GetID(); \
+        if(theType == "AttributeReal") return SALOMEDSImpl_AttributeReal::GetID(); \
+        if(theType == "AttributeInteger") return SALOMEDSImpl_AttributeInteger::GetID(); \
+        if(theType == "AttributeSequenceOfReal") return SALOMEDSImpl_AttributeSequenceOfReal::GetID(); \
+        if(theType == "AttributeSequenceOfInteger") return SALOMEDSImpl_AttributeSequenceOfInteger::GetID(); \
+        if(theType == "AttributeName") return SALOMEDSImpl_AttributeName::GetID(); \
         if(theType == "AttributeComment") return SALOMEDSImpl_AttributeComment::GetID(); \
         if(theType == "AttributeIOR") return SALOMEDSImpl_AttributeIOR::GetID(); \
         if(theType == "AttributePersistentRef") return SALOMEDSImpl_AttributePersistentRef::GetID(); \
         if(theType == "AttributeDrawable") return SALOMEDSImpl_AttributeDrawable::GetID(); \
         if(theType == "AttributeSelectable") return SALOMEDSImpl_AttributeSelectable::GetID(); \
-       if(theType == "AttributeExpandable") return SALOMEDSImpl_AttributeExpandable::GetID(); \
-       if(theType == "AttributeOpened") return SALOMEDSImpl_AttributeOpened::GetID(); \
-       if(theType == "AttributeTextColor") return SALOMEDSImpl_AttributeTextColor::GetID(); \
-       if(theType == "AttributeTextHighlightColor") return SALOMEDSImpl_AttributeTextHighlightColor::GetID(); \
-       if(theType == "AttributePixMap") return SALOMEDSImpl_AttributePixMap::GetID(); \
-       if(theType == "AttributeLocalID") return SALOMEDSImpl_AttributeLocalID::GetID(); \
-       if(theType == "AttributeTarget") return SALOMEDSImpl_AttributeTarget::GetID(); \
-       if(theType == "AttributeTableOfInteger") return SALOMEDSImpl_AttributeTableOfInteger::GetID(); \
-       if(theType == "AttributeTableOfReal") return SALOMEDSImpl_AttributeTableOfReal::GetID();  \
+        if(theType == "AttributeExpandable") return SALOMEDSImpl_AttributeExpandable::GetID(); \
+        if(theType == "AttributeOpened") return SALOMEDSImpl_AttributeOpened::GetID(); \
+        if(theType == "AttributeTextColor") return SALOMEDSImpl_AttributeTextColor::GetID(); \
+        if(theType == "AttributeTextHighlightColor") return SALOMEDSImpl_AttributeTextHighlightColor::GetID(); \
+        if(theType == "AttributePixMap") return SALOMEDSImpl_AttributePixMap::GetID(); \
+        if(theType == "AttributeLocalID") return SALOMEDSImpl_AttributeLocalID::GetID(); \
+        if(theType == "AttributeTarget") return SALOMEDSImpl_AttributeTarget::GetID(); \
+        if(theType == "AttributeTableOfInteger") return SALOMEDSImpl_AttributeTableOfInteger::GetID(); \
+        if(theType == "AttributeTableOfReal") return SALOMEDSImpl_AttributeTableOfReal::GetID();  \
         if(theType == "AttributeTableOfString") return SALOMEDSImpl_AttributeTableOfString::GetID(); \
-       if(theType == "AttributeStudyProperties") return SALOMEDSImpl_AttributeStudyProperties::GetID(); \
-       if(theType == "AttributePythonObject") return SALOMEDSImpl_AttributePythonObject::GetID(); \
-       if(theType == "AttributeUserID") return Standard_GUID("FFFFFFFF-D9CD-11d6-945D-1050DA506788"); \
-       if(theType == "AttributeExternalFileDef") return SALOMEDSImpl_AttributeExternalFileDef::GetID(); \
-       if(theType == "AttributeFileType") return SALOMEDSImpl_AttributeFileType::GetID(); \
-       if(theType == "AttributeFlags") return SALOMEDSImpl_AttributeFlags::GetID(); \
+        if(theType == "AttributeStudyProperties") return SALOMEDSImpl_AttributeStudyProperties::GetID(); \
+        if(theType == "AttributePythonObject") return SALOMEDSImpl_AttributePythonObject::GetID(); \
+        if(theType == "AttributeUserID") return std::string("FFFFFFFF-D9CD-11d6-945D-1050DA506788"); \
+        if(theType == "AttributeExternalFileDef") return SALOMEDSImpl_AttributeExternalFileDef::GetID(); \
+        if(theType == "AttributeFileType") return SALOMEDSImpl_AttributeFileType::GetID(); \
+        if(theType == "AttributeFlags") return SALOMEDSImpl_AttributeFlags::GetID(); \
         if(theType == "AttributeGraphic") return SALOMEDSImpl_AttributeGraphic::GetID(); \
-       if(theType == "AttributeReference") return SALOMEDSImpl_AttributeReference::GetID(); \
-       if(theType == "AttributeParameter") return SALOMEDSImpl_AttributeParameter::GetID();
+        if(theType == "AttributeReference") return SALOMEDSImpl_AttributeReference::GetID(); \
+        if(theType == "AttributeParameter") return SALOMEDSImpl_AttributeParameter::GetID(); \
+        if(theType == "AttributeString") return SALOMEDSImpl_AttributeString::GetID();
 
 
-#define __FindOrCreateAttributeLocked(ClassName) if (strcmp(aTypeOfAttribute.ToCString(), #ClassName) == 0) { \
-    Handle(SALOMEDSImpl_##ClassName) anAttr; \
-    if (!Lab.FindAttribute(SALOMEDSImpl_##ClassName::GetID(), anAttr)) { \
+#define __FindOrCreateAttributeLocked(ClassName) if (strcmp(aTypeOfAttribute.c_str(), #ClassName) == 0) { \
+    SALOMEDSImpl_##ClassName* anAttr; \
+    if (!(anAttr=(SALOMEDSImpl_##ClassName*)Lab.FindAttribute(SALOMEDSImpl_##ClassName::GetID()))) { \
       CheckLocked(); \
       anAttr = new SALOMEDSImpl_##ClassName; \
       Lab.AddAttribute(anAttr); \
@@ -108,9 +115,9 @@ public :
     return anAttr; \
   }   
 
-#define __FindOrCreateAttribute(ClassName) if (strcmp(aTypeOfAttribute.ToCString(), #ClassName) == 0) { \
-    Handle(SALOMEDSImpl_##ClassName) anAttr; \
-    if (!Lab.FindAttribute(SALOMEDSImpl_##ClassName::GetID(), anAttr)) { \
+#define __FindOrCreateAttribute(ClassName) if (strcmp(aTypeOfAttribute.c_str(), #ClassName) == 0) { \
+    SALOMEDSImpl_##ClassName* anAttr; \
+    if (!(anAttr=(SALOMEDSImpl_##ClassName*)Lab.FindAttribute(SALOMEDSImpl_##ClassName::GetID()))) { \
       anAttr = new SALOMEDSImpl_##ClassName; \
       Lab.AddAttribute(anAttr); \
     } \
@@ -132,6 +139,7 @@ __FindOrCreateAttributeLocked(AttributeTableOfReal) \
 __FindOrCreateAttributeLocked(AttributeTableOfString) \
 __FindOrCreateAttributeLocked(AttributePythonObject) \
 __FindOrCreateAttributeLocked(AttributeParameter) \
+__FindOrCreateAttributeLocked(AttributeString) \
 __FindOrCreateAttribute(AttributePersistentRef) \
 __FindOrCreateAttribute(AttributeDrawable) \
 __FindOrCreateAttribute(AttributeSelectable) \