Salome HOME
add method NameChanged to update title name
[modules/kernel.git] / src / SALOMESDS / SALOMESDS_DataServerManager.hxx
index cf835c486a8aa95ace516cbbc311d5c2c9e23a38..8d7a9da48509b9d1ae6d051ab8a50701747b0d92 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 #include "SALOMESDS_AutoRefCountPtr.hxx"
 #include "SALOMESDS_DataScopeServer.hxx"
 
+#include "SALOMESDS_Defines.hxx"
+
 #include <string>
 
+class SALOME_NamingService;
+
 namespace SALOMESDS
 {
   class DataScopeServer;
-  
-  class DataServerManager : public virtual POA_SALOME::DataServerManager
+    
+  class SALOMESDS_EXPORT DataServerManager : public virtual POA_SALOME::DataServerManager
   {
   public:
     DataServerManager(int argc, char *argv[], CORBA::ORB_ptr orb, PortableServer::POA_ptr poa);
@@ -41,19 +45,28 @@ namespace SALOMESDS
     SALOME::StringVec *listAliveAndKickingScopes();
     SALOME::DataScopeServer_ptr getDefaultScope();
     CORBA::Boolean isAliveAndKicking(const char *scopeName);
+    SALOME::DataScopeServerBase_ptr retriveDataScope(const char *scopeName);
+    //
     SALOME::DataScopeServer_ptr createDataScope(const char *scopeName);
-    SALOME::DataScopeServer_ptr retriveDataScope(const char *scopeName);
     SALOME::DataScopeServer_ptr giveADataScopeCalled(const char *scopeName, CORBA::Boolean& isCreated);
+    //
+    SALOME::DataScopeServerTransaction_ptr createDataScopeTransaction(const char *scopeName);
+    SALOME::DataScopeServerTransaction_ptr giveADataScopeTransactionCalled(const char *scopeName, CORBA::Boolean& isCreated);
+    //
     void removeDataScope(const char *scopeName);
     void cleanScopesInNS();
     void shutdownScopes();
+  public:
+    CORBA::ORB_var getORB() { return _orb; }
     static std::string CreateAbsNameInNSFromScopeName(const std::string& scopeName);
+    static CORBA::Boolean IsAliveAndKicking(SALOME::DataScopeServerBase_ptr scopePtr);
+    static SALOME::DataScopeServerBase_var GetScopePtrGivenName(const std::string& scopeName, const std::vector<std::string>& scopes, SALOME_NamingService& ns);
   public:
     static const char NAME_IN_NS[];
     static const char DFT_SCOPE_NAME_IN_NS[];
   private:
     std::vector<std::string> listOfScopesCpp();
-    SALOME::DataScopeServer_var getScopePtrGivenName(const std::string& scopeName);
+    SALOME::DataScopeServerBase_var getScopePtrGivenName(const std::string& scopeName);
   private:
     CORBA::ORB_var _orb;
     //! single thread poa