X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FSALOME_SDS.idl;h=97ed6aa90d2ff6d6a002276bc8b34cf7e80fce20;hb=0228e8fb8ae8081f76c262cbfd3e8ae8902aa64b;hp=762f46e01e7ab646941efc439cfb2e5baaf6dbac;hpb=199307b6efc4a9abfc7b65ab3eefba2034a78f2d;p=modules%2Fkernel.git diff --git a/idl/SALOME_SDS.idl b/idl/SALOME_SDS.idl index 762f46e01..97ed6aa90 100644 --- a/idl/SALOME_SDS.idl +++ b/idl/SALOME_SDS.idl @@ -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 @@ -25,6 +25,7 @@ module SALOME { typedef sequence StringVec; typedef sequence ByteVec; + typedef sequence SeqOfByteVec; interface DataScopeServer; @@ -33,6 +34,7 @@ module SALOME DataScopeServer getMyDataScopeServer(); string getVarName(); string getScopeName(); + long getRCValue(); }; interface PickelizedPyObjServer : BasicDataServer @@ -44,11 +46,19 @@ module SALOME { }; - interface PickelizedPyObjRdExtServer : PickelizedPyObjServer + interface PickelizedPyObjRdExtBaseServer : PickelizedPyObjServer + { + }; + + interface PickelizedPyObjRdExtServer : PickelizedPyObjRdExtBaseServer { PickelizedPyObjRdExtServer invokePythonMethodOn(in string method, in ByteVec args) raises (SALOME::SALOME_Exception); }; + interface PickelizedPyObjRdExtInitServer : PickelizedPyObjRdExtBaseServer + { + }; + interface PickelizedPyObjRdWrServer : PickelizedPyObjServer { void setSerializedContent(in ByteVec newValue) raises (SALOME::SALOME_Exception); @@ -57,17 +67,94 @@ module SALOME interface DataServerManager; - interface DataScopeServer + interface DataScopeKiller + { + void shutdown(); + }; + + interface RequestSwitcherBase + { + void holdRequests(); + void activeRequests(); + }; + + interface RequestSwitcher : RequestSwitcherBase + { + StringVec listVars(); + ByteVec fetchSerializedContent(in string varName) raises (SALOME::SALOME_Exception); + void fetchAndGetAccessOfVar(in string varName, out string access, out ByteVec data) raises (SALOME::SALOME_Exception); + }; + + interface DataScopeServerTransaction; + + interface RequestSwitcherDSM : RequestSwitcherBase + { + StringVec listScopes(); + DataScopeServerTransaction giveADataScopeTransactionCalled(in string scopeName, out boolean isCreated) raises (SALOME::SALOME_Exception); + }; + + interface DataScopeServerBase { void ping(); string getScopeName(); StringVec listVars(); - BasicDataServer retrieveVar(in string varName) raises (SALOME::SALOME_Exception); + boolean existVar(in string varName) raises (SALOME::SALOME_Exception); void deleteVar(in string varName) raises (SALOME::SALOME_Exception); + boolean shutdownIfNotHostedByDSM(out DataScopeKiller killer) raises (SALOME::SALOME_Exception); + ByteVec fetchSerializedContent(in string varName) raises (SALOME::SALOME_Exception); + SeqOfByteVec getAllKeysOfVarWithTypeDict(in string varName) raises (SALOME::SALOME_Exception); + void takeANap(in double napDurationInSec) raises (SALOME::SALOME_Exception); + }; + + interface DataScopeServer : DataScopeServerBase + { + BasicDataServer retrieveVar(in string varName) raises (SALOME::SALOME_Exception); PickelizedPyObjRdOnlyServer createRdOnlyVar(in string varName, in ByteVec constValue) raises (SALOME::SALOME_Exception); PickelizedPyObjRdExtServer createRdExtVar(in string varName, in ByteVec constValue) raises (SALOME::SALOME_Exception); - //PickelizedPyObjRdWrServer createRdWrVar(in string typeName, in string varName) raises (SALOME::SALOME_Exception); - void shutdownIfNotHostedByDSM(); + }; + + interface Transaction + { + }; + + interface TransactionRdWrAccess : Transaction + { + PickelizedPyObjRdWrServer getVar() raises (SALOME::SALOME_Exception); + }; + + interface TransactionMultiKeyAddSession : Transaction + { + void addKeyValueInVarErrorIfAlreadyExistingNow(in SALOME::ByteVec keyValue, in ByteVec constValue) raises (SALOME::SALOME_Exception); + }; + + typedef sequence ListOfTransaction; + + interface KeyWaiter + { + void waitFor() raises (SALOME::SALOME_Exception); + }; + + interface DataScopeServerTransaction : DataScopeServerBase + { + string getAccessOfVar(in string varName) raises (SALOME::SALOME_Exception); + void fetchAndGetAccessOfVar(in string varName, out string access, out ByteVec data) raises (SALOME::SALOME_Exception); + Transaction createRdOnlyVarTransac(in string varName, in ByteVec constValue) raises (SALOME::SALOME_Exception); + Transaction createRdExtVarTransac(in string varName, in ByteVec constValue) raises (SALOME::SALOME_Exception); + Transaction createRdExtVarFreeStyleTransac(in string varName, in ByteVec constValue, in string compareFuncContent) raises (SALOME::SALOME_Exception); + Transaction createRdExtInitVarTransac(in string varName, in ByteVec constValue) raises (SALOME::SALOME_Exception); + Transaction createRdWrVarTransac(in string varName, in ByteVec constValue) raises (SALOME::SALOME_Exception); + Transaction addKeyValueInVarHard(in string varName, in ByteVec keyValue, in ByteVec constValue) raises (SALOME::SALOME_Exception); + Transaction addKeyValueInVarErrorIfAlreadyExisting(in string varName, in ByteVec keyValue, in ByteVec constValue) raises (SALOME::SALOME_Exception); + TransactionMultiKeyAddSession addMultiKeyValueSession(in string varName) raises (SALOME::SALOME_Exception); + Transaction removeKeyInVarErrorIfNotAlreadyExisting(in string varName, in ByteVec keyValue) raises (SALOME::SALOME_Exception); + TransactionRdWrAccess createWorkingVarTransac(in string varName, in ByteVec constValue) raises (SALOME::SALOME_Exception); + Transaction killVarTransac(in string varName) raises (SALOME::SALOME_Exception); + KeyWaiter waitForKeyInVar(in string varName, in ByteVec keyVal) raises (SALOME::SALOME_Exception); + KeyWaiter waitForKeyInVarAndKillIt(in string varName, in ByteVec keyVal, out Transaction transac) raises (SALOME::SALOME_Exception); + void atomicApply(in ListOfTransaction transactions) raises (SALOME::SALOME_Exception); + ByteVec waitForMonoThrRev(in KeyWaiter kw) raises (SALOME::SALOME_Exception); + ByteVec waitForAndKill(in KeyWaiter kw) raises (SALOME::SALOME_Exception); + RequestSwitcher getRequestSwitcher(); }; interface DataServerManager @@ -76,11 +163,17 @@ module SALOME StringVec listAliveAndKickingScopes() raises (SALOME::SALOME_Exception); DataScopeServer getDefaultScope() raises (SALOME::SALOME_Exception); boolean isAliveAndKicking(in string scopeName) raises (SALOME::SALOME_Exception); + // DataScopeServer createDataScope(in string scopeName) raises (SALOME::SALOME_Exception); - DataScopeServer retriveDataScope(in string scopeName) raises (SALOME::SALOME_Exception); - DataScopeServer giveADataScopeCalled(in string scopeName, out boolean isCreated); + DataScopeServer giveADataScopeCalled(in string scopeName, out boolean isCreated) raises (SALOME::SALOME_Exception); + // + DataScopeServerTransaction createDataScopeTransaction(in string scopeName) raises (SALOME::SALOME_Exception); + DataScopeServerTransaction giveADataScopeTransactionCalled(in string scopeName, out boolean isCreated) raises (SALOME::SALOME_Exception); + // + DataScopeServerBase retriveDataScope(in string scopeName) raises (SALOME::SALOME_Exception); void removeDataScope(in string scopeName) raises (SALOME::SALOME_Exception); void cleanScopesInNS(); void shutdownScopes() raises (SALOME::SALOME_Exception); + RequestSwitcherDSM getRequestSwitcher(); }; };