Salome HOME
added menu item "refresh" and slot onRefresh().
[modules/gui.git] / idl / SALOME_Session.idl
1 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
3 // 
4 //  This library is free software; you can redistribute it and/or 
5 //  modify it under the terms of the GNU Lesser General Public 
6 //  License as published by the Free Software Foundation; either 
7 //  version 2.1 of the License. 
8 // 
9 //  This library is distributed in the hope that it will be useful, 
10 //  but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12 //  Lesser General Public License for more details. 
13 // 
14 //  You should have received a copy of the GNU Lesser General Public 
15 //  License along with this library; if not, write to the Free Software 
16 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
17 // 
18 //  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
19 //
20 //
21 //
22 //  File   : SALOME_Session.idl
23 //  Author : Paul RASCLE, EDF
24 //  $Header$
25
26 #include "SALOME_Component.idl"
27
28 /*!   
29   This package contains interfaces used for management of the session in %SALOME application.
30 */
31 module SALOME
32 {
33 /*! \brief State of the session
34    
35    This enumeration contains values defining the state of the session
36   
37 */ 
38   enum SessionState {asleep, /*! Session is inactive */
39                      running /*! Session is running */
40   } ;
41
42 /*! \brief %Session State and Statistics
43
44
45     This struct contains a field list with general information about the session 
46 */
47    
48   struct StatSession
49   {
50 /*! \brief State of the session
51   
52    It can be:
53    *     -# asleep  : no running study
54    *     -# running : one or more running studies
55 */
56     SessionState state ; 
57 /*! Number of running studies
58 */
59     short        runningStudies ;
60 /*! It is True if GUI is active in the session
61 */
62     boolean      activeGUI ;
63   } ;
64 /*! \brief Interface of the session
65
66     The %session Server launches and stops GUI (Graphical User Interface).
67     The %session can be active without GUI (It can contain one or more running studies)
68 */
69
70   interface Session
71   {
72 /*! 
73    This exception is raised when trying to stop the %session with active GUI
74 */
75     exception GUIActive {} ;
76 /*! 
77    This exception is raised when trying to stop the %session with a number of running studies.
78 */
79     exception RunningStudies {} ;  
80
81 /*! 
82    Launches GUI in the session
83 */
84     void GetInterface(); 
85
86 /*! 
87    Returns a standalone component
88 */
89     Engines::Component GetComponent(in string theLibraryName);
90
91 /*! 
92   Stops the %Session (It must be idle)
93 */
94     void StopSession() raises(GUIActive, RunningStudies) ;
95
96 /*! 
97   Gets Session State
98 */
99     StatSession GetStatSession() ;
100 /*! 
101     Determines whether the server has already been loaded or not.
102 */ 
103     void ping();
104 /*!
105     Get Active study ID
106 */
107     long GetActiveStudyId();
108   } ;
109
110 } ;