Version: 8.3.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
SUIT_Session.h
Go to the documentation of this file.
1
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
2
//
3
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5
//
6
// This library is free software; you can redistribute it and/or
7
// modify it under the terms of the GNU Lesser General Public
8
// License as published by the Free Software Foundation; either
9
// version 2.1 of the License, or (at your option) any later version.
10
//
11
// This library is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
// Lesser General Public License for more details.
15
//
16
// You should have received a copy of the GNU Lesser General Public
17
// License along with this library; if not, write to the Free Software
18
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
//
20
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21
//
22
23
#ifndef SUIT_SESSION_H
24
#define SUIT_SESSION_H
25
26
#include "
SUIT.h
"
27
#include "
SUIT_Application.h
"
28
29
#include <QList>
30
#include <QObject>
31
#include <QString>
32
#include <QStringList>
33
34
#ifdef WIN32
35
#include <windows.h>
36
#endif
37
38
#ifdef WIN32
39
#define LIB_HANDLE HINSTANCE
40
#else
41
#define LIB_HANDLE void*
42
#endif
43
44
class
SUIT_ResourceMgr
;
45
class
SUIT_ExceptionHandler
;
46
47
#ifdef WIN32
48
#pragma warning( disable:4251 )
49
#endif
50
55
class
SUIT_EXPORT
SUIT_Session
:
public
QObject
56
{
57
Q_OBJECT
58
59
public
:
60
typedef
LIB_HANDLE
AppLib
;
61
62
enum
{ ASK = 0,
SAVE
, DONT_SAVE } CloseMode;
63
enum
{ NORMAL = 0, FORCED } ExitStatus;
64
65
public
:
66
SUIT_Session
();
67
SUIT_Session
(
int
,
char
** );
68
virtual
~
SUIT_Session
();
69
70
static
SUIT_Session
* session();
71
72
QStringList arguments();
73
74
SUIT_Application
* startApplication(
const
QString&,
int
= 0,
char
** = 0 );
75
76
QList<SUIT_Application*>
applications()
const
;
77
SUIT_Application
* activeApplication()
const
;
78
79
SUIT_ResourceMgr
* resourceMgr()
const
;
80
81
void
closeSession(
int
mode = ASK,
int
flags = 0 );
82
int
exitFlags()
const
;
83
84
SUIT_ExceptionHandler
* handler()
const
;
85
86
void
insertApplication(
SUIT_Application
* );
87
88
signals:
89
void
applicationClosed(
SUIT_Application
* );
90
91
protected
:
92
virtual
SUIT_ResourceMgr
* createResourceMgr(
const
QString& )
const
;
93
94
private
slots:
95
void
onApplicationClosed(
SUIT_Application
* );
96
void
onApplicationActivated(
SUIT_Application
* );
97
98
private
:
99
typedef
QList<SUIT_Application*>
AppList
;
100
typedef
QMap<QString, AppLib>
AppLibMap
;
101
102
private
:
103
QString lastError()
const
;
104
AppLib
loadLibrary(
const
QString&, QString& );
105
QString applicationName(
const
QString& )
const
;
106
107
private
:
108
QStringList
myArguments
;
109
110
SUIT_ResourceMgr
*
myResMgr
;
111
AppList
myAppList
;
112
AppLibMap
myAppLibs
;
113
SUIT_Application
*
myActiveApp
;
114
115
SUIT_ExceptionHandler
*
myHandler
;
116
static
SUIT_Session
*
mySession
;
117
118
int
myExitStatus
;
119
int
myExitFlags
;
120
};
121
122
#endif
src
SUIT
SUIT_Session.h
Copyright © 2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS