+class NormalFunctor
+{
+public:
+ typedef SALOME::DataScopeServer_ptr PtrType;
+ typedef SALOME::DataScopeServer_var VarType;
+ typedef SALOME::DataScopeServer TheType;
+ static const bool IsTransaction=false;
+ static PtrType nil() { return SALOME::DataScopeServer::_nil(); }
+ static PtrType narrow(CORBA::Object_ptr obj) { return SALOME::DataScopeServer::_narrow(obj); }
+ static PtrType duplicate(PtrType obj) { return SALOME::DataScopeServer::_duplicate(obj); }
+};
+
+class TransactionFunctor
+{
+public:
+ typedef SALOME::DataScopeServerTransaction_ptr PtrType;
+ typedef SALOME::DataScopeServerTransaction_var VarType;
+ typedef SALOME::DataScopeServerTransaction TheType;
+ static const bool IsTransaction=true;
+ static PtrType nil() { return SALOME::DataScopeServerTransaction::_nil(); }
+ static PtrType narrow(CORBA::Object_ptr obj) { return SALOME::DataScopeServerTransaction::_narrow(obj); }
+ static PtrType duplicate(PtrType obj) { return SALOME::DataScopeServerTransaction::_duplicate(obj); }
+};
+
+SALOME::DataScopeServer_ptr DataServerManager::createDataScope(const char *scopeName)
+{
+ SALOME_NamingService ns(_orb);
+ return CreateDataScope<NormalFunctor>(scopeName,listOfScopesCpp(),ns);
+}
+
+SALOME::DataScopeServer_ptr DataServerManager::giveADataScopeCalled(const char *scopeName, CORBA::Boolean& isCreated)