Salome HOME
Merge branch 'BR_HYDRO_IMPS_2016' of ssh://gitolite3@git.salome-platform.org/modules...
[modules/hydro.git] / src / HYDROData / HYDROData_Application.h
index b0fa53db4a5adb69840cbe6ed81308a4521c2514..37eb02c23ee18ea136ee2c21f277404b83cd6702 100644 (file)
@@ -1,3 +1,21 @@
+// Copyright (C) 2014-2015  EDF-R&D
+// 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, or (at your option) any later version.
+//
+// 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
+//
+
 #ifndef HYDROData_Application_HeaderFile
 #define HYDROData_Application_HeaderFile
 
@@ -24,27 +42,31 @@ public: // useful methods inside of the package
 
 public: // Redefined OCAF methods
   //! Return name of resource (i.e. "Standard")
-  Standard_CString ResourcesName();
+  HYDRODATA_EXPORT Standard_CString ResourcesName();
   //! Return format (i.e "MDTV-Standard")
   //! \param theFormats sequence of allowed formats for input/output
-  virtual void Formats(TColStd_SequenceOfExtendedString& theFormats);    
+  HYDRODATA_EXPORT virtual void Formats(TColStd_SequenceOfExtendedString& theFormats);    
   //! Constructor
   //! Use method GetInstance() method to obtain 
   //! the static instance of the object (or derive your own application)
-  HYDROData_Application();
+  HYDRODATA_EXPORT HYDROData_Application();
 
   // CASCADE RTTI
-  DEFINE_STANDARD_RTTI(HYDROData_Application)
+  DEFINE_STANDARD_RTTIEXT(HYDROData_Application, TDocStd_Application)
 
 private:
   //! Returns document by its study ID, if document doesn't exists return null
-  Handle(HYDROData_Document) GetDocument(int theStudyID);
+  Handle(HYDROData_Document) GetDocument(int theStudyID) const;
+
+  //! Get study id by document instance, if document doesn't exists return false
+  bool GetDocumentId(const Handle(HYDROData_Document)& theDocument,
+                     int&                              theDocId) const;
 
   //! Appends document to the application
-  void AddDocument(int theStudyID, Handle(HYDROData_Document) theDocument);
+  void AddDocument(int theStudyID, const Handle(HYDROData_Document)& theDocument);
 
   //! Removes document from the application
-  void RemoveDocument(Handle(HYDROData_Document) theDocument);
+  void RemoveDocument( const Handle(HYDROData_Document)& theDocument );
 
   //! map from SALOME study ID to the document
   DataMapOfStudyIDDocument myDocuments;
@@ -52,7 +74,4 @@ private:
   friend class HYDROData_Document; // to manipulate documents of application
 };
 
-// Define handle class 
-DEFINE_STANDARD_HANDLE(HYDROData_Application,TDocStd_Application)
-
 #endif