21 #ifndef __SALOMESDS_DATASCOPEERVER_HXX__
22 #define __SALOMESDS_DATASCOPEERVER_HXX__
24 #include "SALOMEconfig.h"
25 #include CORBA_SERVER_HEADER(SALOME_SDS)
66 void fetchAndGetAccessOfVar(
const char *
varName, CORBA::String_out access, SALOME::ByteVec_out data);
84 CORBA::Boolean existVar(
const char *
varName);
85 SALOME::BasicDataServer_ptr retrieveVarInternal(
const char *
varName);
86 void deleteVar(
const char *
varName);
87 CORBA::Boolean shutdownIfNotHostedByDSM(SALOME::DataScopeKiller_out killer);
91 void takeANap(CORBA::Double napDurationInSec);
95 void registerToSalomePiDict()
const;
96 void setPOA(PortableServer::POA_var
poa);
97 void registerInNS(SALOME::DataScopeServerBase_ptr ptr);
98 PyObject *
getGlobals()
const {
return _pyHelper->getGlobals(); }
99 PyObject *
getLocals()
const {
return _pyHelper->getLocals(); }
100 PyObject *
getPickler()
const {
return _pyHelper->getPickler(); }
104 static std::string BuildTmpVarNameFrom(
const std::string&
varName);
106 std::vector< std::string> getAllVarNames()
const;
107 bool isExistingVar(
const std::string&
varName)
const;
108 void checkNotAlreadyExistingVar(
const std::string&
varName)
const;
109 void checkExistingVar(
const std::string&
varName)
const;
112 void moveStatusOfVarFromRdWrToRdOnly(
const std::string&
varName);
113 void moveStatusOfVarFromRdOnlyToRdWr(
const std::string&
varName);
114 void moveStatusOfVarFromRdExtOrRdExtInitToRdExtInit(
const std::string&
varName);
115 void moveStatusOfVarFromRdExtOrRdExtInitToRdExt(
const std::string&
varName);
117 std::list< std::pair< SALOME::BasicDataServer_var, BasicDataServer * > >::const_iterator retrieveVarInternal3(
const std::string&
varName)
const;
118 std::list< std::pair< SALOME::BasicDataServer_var, BasicDataServer * > >::iterator retrieveVarInternal4(
const std::string&
varName);
125 std::list< std::pair< SALOME::BasicDataServer_var, BasicDataServer * > >
_vars;
136 SALOME::PickelizedPyObjRdOnlyServer_ptr createRdOnlyVar(
const char *
varName,
const SALOME::ByteVec& constValue);
137 SALOME::PickelizedPyObjRdExtServer_ptr createRdExtVar(
const char *
varName,
const SALOME::ByteVec& constValue);
138 SALOME::PickelizedPyObjRdWrServer_ptr createRdWrVar(
const char *typeName,
const char *
varName);
155 void pingKey(PyObject *keyObj);
156 void notifyKey(
const std::string&
varName, PyObject *keyObj, PyObject *valueObj);
160 char *getAccessOfVar(
const char *
varName);
161 void fetchAndGetAccessOfVar(
const char *
varName, CORBA::String_out access, SALOME::ByteVec_out data);
164 SALOME::Transaction_ptr createRdExtVarFreeStyleTransac(
const char *
varName,
const SALOME::ByteVec& constValue,
const char *compareFuncContent);
165 SALOME::Transaction_ptr createRdExtInitVarTransac(
const char *
varName,
const SALOME::ByteVec& constValue);
169 SALOME::TransactionMultiKeyAddSession_ptr addMultiKeyValueSession(
const char *
varName);
170 SALOME::Transaction_ptr removeKeyInVarErrorIfNotAlreadyExisting(
const char *
varName,
const SALOME::ByteVec& key);
171 SALOME::TransactionRdWrAccess_ptr createWorkingVarTransac(
const char *
varName,
const SALOME::ByteVec& constValue);
172 SALOME::Transaction_ptr killVarTransac(
const char *
varName);
174 SALOME::KeyWaiter_ptr waitForKeyInVarAndKillIt(
const char *
varName,
const SALOME::ByteVec& keyVal, SALOME::Transaction_out transac);
176 SALOME::RequestSwitcher_ptr getRequestSwitcher();
static PortableServer::POA_var _poa
Definition: SALOMEDS_Study_i.cxx:70
#define SALOMESDS_EXPORT
Definition: SALOMESDS_Defines.hxx:30
Definition: SALOMESDS_AutoRefCountPtr.hxx:110
Definition: SALOMESDS_BasicDataServer.hxx:36
Definition: SALOMESDS_DataScopeServer.hxx:46
DataScopeKiller(CORBA::ORB_ptr orb)
Definition: SALOMESDS_DataScopeServer.hxx:48
CORBA::ORB_var _orb
Definition: SALOMESDS_DataScopeServer.hxx:51
Definition: SALOMESDS_DataScopeServer.hxx:76
PortableServer::POA_var getPOA() const
Definition: SALOMESDS_DataScopeServer.hxx:101
PyObject * getGlobals() const
Definition: SALOMESDS_DataScopeServer.hxx:98
std::list< std::pair< SALOME::BasicDataServer_var, BasicDataServer * > > _vars
Definition: SALOMESDS_DataScopeServer.hxx:125
CORBA::ORB_var getORB()
Definition: SALOMESDS_DataScopeServer.hxx:102
std::string getScopeNameCpp() const
Definition: SALOMESDS_DataScopeServer.hxx:103
PortableServer::POA_var _poa
Definition: SALOMESDS_DataScopeServer.hxx:122
static std::size_t COUNTER
Definition: SALOMESDS_DataScopeServer.hxx:127
CORBA::ORB_var _orb
Definition: SALOMESDS_DataScopeServer.hxx:123
std::string _name
Definition: SALOMESDS_DataScopeServer.hxx:124
PyObject * getLocals() const
Definition: SALOMESDS_DataScopeServer.hxx:99
PyObject * getPickler() const
Definition: SALOMESDS_DataScopeServer.hxx:100
SALOME::DataScopeKiller_var _killer
Definition: SALOMESDS_DataScopeServer.hxx:126
Definition: SALOMESDS_DataScopeServer.hxx:143
std::list< KeyWaiter * > _waiting_keys
Definition: SALOMESDS_DataScopeServer.hxx:179
PortableServer::POA_var getPOA4KeyWaiter() const
Definition: SALOMESDS_DataScopeServer.hxx:153
AutoServantPtr< RequestSwitcher > _rs
Definition: SALOMESDS_DataScopeServer.hxx:180
PortableServer::POA_var _poa_for_key_waiter
Definition: SALOMESDS_DataScopeServer.hxx:178
Definition: SALOMESDS_DataScopeServer.hxx:131
SALOME::BasicDataServer_ptr retrieveVar(const char *varName)
Definition: SALOMESDS_DataScopeServer.hxx:135
Definition: SALOMESDS_KeyWaiter.hxx:41
Definition: SALOMESDS_AutoRefCountPtr.hxx:31
Definition: SALOMESDS_PickelizedPyObjServer.hxx:36
Servant activated by a specific POA (single thread) having itself its specific POA_manager.
Definition: SALOMESDS_RequestSwitcher.hxx:36
Servant activated by a specific POA (single thread) having itself its specific POA_manager.
Definition: SALOMESDS_DataScopeServer.hxx:61
DataScopeServerTransaction * _ds
handle on its creator to give access to services when _poa_manager_under_control is in hold mode.
Definition: SALOMESDS_DataScopeServer.hxx:69
Definition: SALOMESDS_Auto.hxx:28
Definition: SALOME_CPythonHelper.hxx:31
Definition: SALOME_NamingService_Abstract.hxx:32
Definition: SALOMESDS_AutoRefCountPtr.hxx:29
poa
Definition: SALOME_ContainerPy.py:377
sequence< string > StringVec
Definition: SALOME_CommonTypes.idl:26
sequence< ByteVec > SeqOfByteVec
Definition: SALOME_SDS.idl:31
@ shutdown
Session is shutting down.
Definition: SALOME_Session.idl:41
sequence< octet > ByteVec
Definition: SALOME_CommonTypes.idl:28
sequence< Transaction > ListOfTransaction
Definition: SALOME_SDS.idl:132
string scopeName
Definition: TestSalomeSDSHelper0.py:24
string varName
Definition: TestSalomeSDSHelper0.py:25
orb
Definition: salome.py:122