VR-Forces 4.1.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
tmqt
tmPluginManager.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 2006 MAK Technologies, Inc.
3
** All rights reserved.
4
*********************************************************************/
5
/*********************************************************************
6
** $RCSfile: tmPluginManager.h,v $ $Revision: 1.17 $ $State: Exp $
7
*********************************************************************/
8
11
12
#ifndef DTTMPLUGINMANAGER_H_
13
#define DTTMPLUGINMANAGER_H_
14
15
#include <QtCore/QObject>
16
#include <QtCore/QStringList>
17
18
#include <vector>
19
#include <mtl/lispEnv.h>
20
21
#include "
tmqt/pluginExtension.h
"
22
23
class
DtTMApplication
;
24
class
DtFilename;
25
class
DtMtlEnvironment;
26
class
DtDynamicLibrary;
27
42
#include "
tmqt/tmqtDefines.h
"
43
44
class
DT_DLL_tmqt
DtTMPlugin
45
{
46
public
:
47
DtTMPlugin
(
const
DtString
&libName,
48
bool
addPlatExt =
true
,
49
bool
useLazyEval =
true
);
50
51
virtual
~
DtTMPlugin
();
52
53
virtual
bool
init
();
54
virtual
bool
init
(
DtTMApplication
*);
55
virtual
bool
postAppInitialize(
DtTMApplication
*);
56
virtual
void
unloadPlugin();
57
58
DtTMApplication
* createApplication(
int
argc,
char
** argv);
59
60
const
DtPluginInformation
& pluginInformation()
const
;
61
virtual
void
pluginInformation(std::string& str)
const
;
62
64
virtual
bool
checkVersion(
const
QString& curVersion);
65
66
public
:
67
virtual
bool
isValid()
const
;
68
virtual
DtString
libraryName()
const
;
69
virtual
const
char
*
error
()
const
;
70
71
protected
:
72
DtPluginInformation
myPluginInformation
;
73
DtInitializePluginFcn
myPluginInit
;
74
DtPostAppInitializeFcn
myPostAppInitialize
;
75
DtUnloadPluginFcn
myUnloadPlugin
;
76
DtDynamicLibrary*
myDynamicLibrary
;
77
};
78
79
class
DT_DLL_tmqt
DtTMPluginManager
:
public
QObject
80
{
81
Q_OBJECT
82
83
public
:
84
85
DtTMPluginManager
();
86
88
virtual
~
DtTMPluginManager
();
89
90
const
QList<DtTMPlugin*>
& plugins()
const
;
91
93
virtual
DtTMPlugin
* loadPlugin(
const
QString&,
DtTMApplication
* app);
94
95
virtual
void
postAppInitialize(
DtTMApplication
*);
96
100
void
setLoadIfVersionMismatch(
bool
);
101
bool
loadIfVersionMismatch()
const
;
102
103
public
:
104
virtual
bool
init
(
const
DtFilename& pluginFile,
DtTMApplication
* app,
int
argc,
char
** argv);
105
106
static
DtlObjPtr addMtlPlugin(
const
DtlObjPtr& args,
const
DtlObjPtr&);
107
static
DtTMPluginManager
* create();
108
109
protected
:
111
virtual
void
readPluginsFromPluginFile(
const
DtString
&);
112
115
virtual
void
readPluginsFromCommandLine(
DtTMApplication
* app,
int
argc,
char
** argv);
116
120
virtual
void
loadAllPlugins(
DtTMApplication
* app);
121
125
virtual
void
initPluginVariables(
DtTMApplication
* app);
126
127
virtual
void
unloadPlugins();
128
130
virtual
void
processPluginsDirectory(
const
DtFilename&);
131
132
signals:
134
void
pluginLoaded(
const
DtTMPlugin
*);
135
136
protected
:
137
QString
myPluginFile
;
138
QList<DtTMPlugin*>
myPlugins
;
139
DtMtlEnvironment*
myMtlEnv
;
140
static
std::vector<DtString>
thePluginsFromPluginFile
;
141
bool
myLoadIfVersionMismatch
;
142
};
143
144
inline
const
QList<DtTMPlugin*>
&
DtTMPluginManager::plugins
()
const
145
{
146
return
myPlugins
;
147
}
148
149
inline
const
DtPluginInformation
&
DtTMPlugin::pluginInformation
()
const
150
{
151
return
myPluginInformation
;
152
}
153
154
inline
void
DtTMPluginManager::setLoadIfVersionMismatch
(
bool
b)
155
{
156
myLoadIfVersionMismatch
= b;
157
}
158
159
inline
bool
DtTMPluginManager::loadIfVersionMismatch
()
const
160
{
161
return
myLoadIfVersionMismatch
;
162
}
163
164
#endif
Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)