X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FSALOME_Session.idl;h=09ca45cf267520be876d772e263f4079732b8898;hb=6d28eef5383c39a56291493bd979631155208116;hp=81c95996c466b0b324340b982ef34a9824e9da87;hpb=61d4fc88c862e718985aa6e9b1bf72f055553eee;p=modules%2Fkernel.git diff --git a/idl/SALOME_Session.idl b/idl/SALOME_Session.idl index 81c95996c..09ca45cf2 100644 --- a/idl/SALOME_Session.idl +++ b/idl/SALOME_Session.idl @@ -1,52 +1,64 @@ -//============================================================================= -// File : SALOME_Session.idl -// Created : mar jun 19 09:15:07 CEST 2001 -// Author : Paul RASCLE, EDF -// Project : SALOME -// Copyright : EDF 2001 -// $Header$ -//============================================================================= - - -//***//#include "VISU_Gen.idl" -/*! \defgroup Kernel SALOME KERNEL module -*/ +// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// +// File : SALOME_Session.idl +// Author : Paul RASCLE, EDF + +#include "SALOME_Component.idl" + +/*! \file SALOME_Session.idl \brief file that contains interface of the session + */ -/*! \ingroup Kernel - - This package contains interfaces used for management of the session in %SALOME application. -*/ module SALOME { /*! \brief State of the session - + This enumeration contains values defining the state of the session - -*/ - enum SessionState {asleep, running} ; -/*! \brief %Session State and Statistics +*/ + enum SessionState {asleep, /*!< Session is inactive */ + running, /*!< Session is running */ + shutdown /*!< Session is shutting down */ + } ; +/*! \brief %Session State and Statistics - This struct contains a field list with general information about the session + This struct contains a field list with general information about the session */ - + struct StatSession { /*! \brief State of the session - + It can be: - * -# asleep : no running study - * -# running : one or more running studies -*/ - SessionState state ; -/*! Number of running studies + -# asleep : no running study + -# running : one or more running studies */ + SessionState state ; + //! Number of running studies short runningStudies ; -/*! It is True if GUI is active in the session -*/ + //! It is True if GUI is active in the session boolean activeGUI ; } ; + /*! \brief Interface of the session The %session Server launches and stops GUI (Graphical User Interface). @@ -55,34 +67,55 @@ module SALOME interface Session { -/*! - This exception is raised when trying to stop the %session with active GUI -*/ +//! This exception is raised when trying to stop the %session with active GUI exception GUIActive {} ; -/*! - This exception is raised when trying to stop the %session with a number of running studies. -*/ - exception RunningStudies {} ; +//! This exception is raised when trying to stop the %session with a number of running studies. + exception RunningStudies {} ; -/*! - Launches GUI in the session -*/ - void GetInterface(); - //***// VISU::VISU_Gen GetVisuGen(); +//! Launches GUI in the session + void GetInterface(); -/*! - Stops the %Session (It must be idle) -*/ +//! Returns a standalone component + Engines::EngineComponent GetComponent(in string theLibraryName); + +//! Stops the %Session (It must be idle) void StopSession() raises(GUIActive, RunningStudies) ; -/*! - Gets Session State -*/ +//! Gets Session State StatSession GetStatSession() ; -/*! - Determines whether the server has already been loaded or not. -*/ + +//! Shutdowns Session server + void Shutdown(); + +//! Determines whether the server has already been loaded or not. void ping(); - } ; +//! Returns the PID of the server + long getPID(); +//! Returns host name + string getHostname(); +//! Get Active study ID + long GetActiveStudyId(); +//! Restores a state of the study at theSavePoint + boolean restoreVisualState(in long theSavePoint); + + //! Send a message to the session GUI desktop that will emit a qt signal +/*! + This method can be used to send a message to the GUI from the standalone + container. + Caution: this method can block the Session and the calling container + if it is called when container processes some request from the GUI + (mutual lock takes place). + In such a case it is recommended to use oneway method. +*/ + void emitMessage(in string theMessage); + //! same as emitMessage but in a non blocking way +/*! + Emit a qt signal from the session GUI desktop window. + This method can be used to send a message to the GUI from the standalone + container. + This method never blocks the Session and the calling container. +*/ + oneway void emitMessageOneWay(in string theMessage); + } ; } ;