Salome HOME
This commit was generated by cvs2git to track changes on a CVS vendor
[modules/kernel.git] / src / Session / SALOME_Session_i.hxx
1 //=============================================================================
2 // File      : SALOME_Session_i.hxx
3 // Created   : mar jun 19 13:42:55 CEST 2001
4 // Author    : Paul RASCLE, EDF
5 // Project   : SALOME
6 // Copyright : EDF 2001
7 // $Header$
8 //=============================================================================
9
10 #ifndef _SALOME_SESSION_I_HXX_
11 #define _SALOME_SESSION_I_HXX_
12
13 #include <qthread.h> 
14
15 #include <SALOMEconfig.h>
16 //***//#include CORBA_SERVER_HEADER(VISU_Gen)
17 #include CORBA_SERVER_HEADER(SALOME_Session)
18 class SALOME_NamingService;
19 class SALOME_Session_QThread;
20
21 //! CORBA SALOME Session Servant
22
23 class SALOME_Session_i:  public POA_SALOME::Session,
24                          public PortableServer::RefCountServantBase
25 {
26 public:
27   SALOME_Session_i(int argc, char ** argv, CORBA::ORB_ptr orb, PortableServer::POA_ptr poa) ;
28   ~SALOME_Session_i() ;
29
30   //! Launch Graphical User Interface
31   void GetInterface();
32   //***//VISU::VISU_Gen_ptr GetVisuGen();
33
34   //! Stop the Session (must be idle): kill servant & server
35   void StopSession();
36
37   //! Get session state
38   SALOME::StatSession GetStatSession();
39
40   //! Register the servant to Naming Service
41   void NSregister();
42   
43   void ping(){};
44
45 protected:
46   //! A QT Thread for the GUI
47   SALOME_Session_QThread *_IAPPThread ;
48
49   //! Naming service interface
50   SALOME_NamingService *_NS;
51
52   int _argc ;
53   char **_argv;
54   CORBA::Boolean _isGUI ;
55   QMutex _GUIMutex ;
56   int _runningStudies ;
57   CORBA::ORB_var _orb;
58   PortableServer::POA_var _poa;
59 };
60
61 #endif
62