// Copyright (C) 2003 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org // // // // File : SALOME_Session.idl // Author : Paul RASCLE, EDF // $Header$ #include "SALOME_Component.idl" /*! 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, /*! Session is inactive */ running /*! Session is running */ } ; /*! \brief %Session State and Statistics 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 */ short runningStudies ; /*! 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). The %session can be active without GUI (It can contain one or more running studies) */ interface Session { /*! 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 {} ; /*! Launches GUI in the session */ void GetInterface(); /*! Returns a standalone component */ Engines::Component GetComponent(in string theLibraryName); /*! Stops the %Session (It must be idle) */ void StopSession() raises(GUIActive, RunningStudies) ; /*! Gets Session State */ StatSession GetStatSession() ; /*! Determines whether the server has already been loaded or not. */ void ping(); /*! Get Active study ID */ long GetActiveStudyId(); } ; } ;