Salome HOME
Fix for issue #417
[modules/shaper.git] / src / ModelAPI / ModelAPI_Session.h
index 811174e7c235b4614f323824b07cacaba0a7c116..619509dd2cfdeb97f5d75ec53db32c7556aed5c5 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
 // File:        ModelAPI_Session.hxx
 // Created:     20 Mar 2014
 // Author:      Mikhail PONIKAROV
@@ -30,7 +32,6 @@ class MODELAPI_EXPORT ModelAPI_Session
 
   //! Loads the OCAF document from the file.
   //! \param theFileName full name of the file to load
-  //! \param theStudyID identifier of the SALOME study to associate with loaded file
   //! \returns true if file was loaded successfully
   virtual bool load(const char* theFileName) = 0;
 
@@ -71,6 +72,9 @@ class MODELAPI_EXPORT ModelAPI_Session
   /// Returns the root document of the application (that may contains sub-documents)
   virtual std::shared_ptr<ModelAPI_Document> moduleDocument() = 0;
 
+  /// Returns the document by ID, loads if not loaded yet. Returns null if no such document.
+  virtual std::shared_ptr<ModelAPI_Document> document(std::string theDocID) = 0;
+
   /// Return true if root document has been already created
   virtual bool hasModuleDocument() = 0;
 
@@ -91,9 +95,6 @@ class MODELAPI_EXPORT ModelAPI_Session
   /// Returns the validators factory: the only one instance per application
   virtual ModelAPI_ValidatorsFactory* validators() = 0;
 
-  /// Is needed for python wrapping by swig, call Get to get an instance
-  ModelAPI_Session();
-
   /// To virtually destroy the fields of successors
   virtual ~ModelAPI_Session()
   {
@@ -102,7 +103,7 @@ class MODELAPI_EXPORT ModelAPI_Session
  protected:
   /// Creates the feature object using plugins functionality
   virtual std::shared_ptr<ModelAPI_Feature> createFeature(std::string theFeatureID) = 0;
-
+  /// Sets the session interface implementation (once per application launch)
   static void setSession(std::shared_ptr<ModelAPI_Session> theManager);
 
   friend class Model_Document;