Salome HOME
NRI : Add Loader.
[modules/kernel.git] / idl / SALOME_Session.idl
1 //=============================================================================
2 // File      : SALOME_Session.idl
3 // Created   : mar jun 19 09:15:07 CEST 2001
4 // Author    : Paul RASCLE, EDF
5 // Project   : SALOME
6 // Copyright : EDF 2001
7 // $Header$
8 //=============================================================================
9
10
11 //***//#include "VISU_Gen.idl"
12 #include "SALOME_Component.idl"
13 /*! \defgroup Kernel SALOME KERNEL module
14 */
15
16 /*!  \ingroup Kernel 
17    
18   This package contains interfaces used for management of the session in %SALOME application.
19 */
20 module SALOME
21 {
22 /*! \brief State of the session
23    
24    This enumeration contains values defining the state of the session
25   
26 */ 
27   enum SessionState {asleep, running} ;
28
29 /*! \brief %Session State and Statistics
30
31
32     This struct contains a field list with general information about the session 
33 */
34    
35   struct StatSession
36   {
37 /*! \brief State of the session
38   
39    It can be:
40    *     -# asleep  : no running study
41    *     -# running : one or more running studies
42 */
43     SessionState state ; 
44 /*! Number of running studies
45 */
46     short        runningStudies ;
47 /*! It is True if GUI is active in the session
48 */
49     boolean      activeGUI ;
50   } ;
51 /*! \brief Interface of the session
52
53     The %session Server launches and stops GUI (Graphical User Interface).
54     The %session can be active without GUI (It can contain one or more running studies)
55 */
56
57   interface Session
58   {
59 /*! 
60    This exception is raised when trying to stop the %session with active GUI
61 */
62     exception GUIActive {} ;
63 /*! 
64    This exception is raised when trying to stop the %session with a number of running studies.
65 */
66     exception RunningStudies {} ;  
67
68 /*! 
69    Launches GUI in the session
70 */
71     void GetInterface(); 
72     //***//    VISU::VISU_Gen GetVisuGen();
73     Engines::Component GetVisuComponent();
74
75 /*! 
76   Stops the %Session (It must be idle)
77 */
78     void StopSession() raises(GUIActive, RunningStudies) ;
79
80 /*! 
81   Gets Session State
82 */
83     StatSession GetStatSession() ;
84 /*! 
85     Determines whether the server has already been loaded or not.
86 */ 
87     void ping();
88   } ;
89
90 } ;