-// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Author : Anthony GEAY (EDF R&D)
+#ifndef __SALOME_SDS_IDL__
+#define __SALOME_SDS_IDL__
+
#include "SALOME_GenericObj.idl"
#include "SALOME_Exception.idl"
+#include "SALOME_CommonTypes.idl"
module SALOME
{
- typedef sequence<string> StringVec;
- typedef sequence<octet> ByteVec;
typedef sequence<ByteVec> SeqOfByteVec;
interface DataScopeServer;
{
};
- 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);
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();
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);
+ ByteVec getValueOfVarWithTypeDict(in string varName, in ByteVec constKey) raises (SALOME::SALOME_Exception);
+ void takeANap(in double napDurationInSec) raises (SALOME::SALOME_Exception);
};
interface DataScopeServer : DataScopeServerBase
PickelizedPyObjRdWrServer getVar() raises (SALOME::SALOME_Exception);
};
+ interface TransactionMultiKeyAddSession : Transaction
+ {
+ void addKeyValueInVarErrorIfAlreadyExistingNow(in SALOME::ByteVec keyValue, in ByteVec constValue) raises (SALOME::SALOME_Exception);
+ };
+
typedef sequence<Transaction> ListOfTransaction;
interface KeyWaiter
{
- ByteVec waitFor() raises (SALOME::SALOME_Exception);
+ 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);
- void addKeyValueInVarErrorIfAlreadyExistingNow(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
boolean isAliveAndKicking(in string scopeName) raises (SALOME::SALOME_Exception);
//
DataScopeServer createDataScope(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);
+ 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();
};
};
+
+#endif