X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FSALOME_SDS.idl;h=a01e1576c2114c777c4f66fff1919b8a695bab2e;hb=ac6d547502bd1beccfc5fc37a745a78c490e45e3;hp=762f46e01e7ab646941efc439cfb2e5baaf6dbac;hpb=8a89a50b36a47cba1839646c0623562f30af9c28;p=modules%2Fkernel.git diff --git a/idl/SALOME_SDS.idl b/idl/SALOME_SDS.idl index 762f46e01..a01e1576c 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-2015 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,67 @@ module SALOME interface DataServerManager; - interface DataScopeServer + interface DataScopeKiller + { + void shutdown(); + }; + + 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); + }; + + 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 + { + ByteVec waitFor() raises (SALOME::SALOME_Exception); + }; + + interface DataScopeServerTransaction : DataScopeServerBase + { + string getAccessOfVar(in string varName) 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 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); + 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); }; interface DataServerManager @@ -76,9 +136,14 @@ 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);