CppUnit project page
FAQ
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
include
cppunit
plugin
PlugInManager.h
Go to the documentation of this file.
1
#ifndef CPPUNIT_PLUGIN_PLUGINMANAGER_H
2
#define CPPUNIT_PLUGIN_PLUGINMANAGER_H
3
4
#include <
cppunit/Portability.h
>
5
6
#if !defined(CPPUNIT_NO_TESTPLUGIN)
7
8
#if CPPUNIT_NEED_DLL_DECL
9
#pragma warning( push )
10
#pragma warning( disable: 4251 ) // X needs to have dll-interface to be used by clients of class Z
11
#endif
12
13
#include <
cppunit/plugin/PlugInParameters.h
>
14
struct
CppUnitTestPlugIn
;
15
16
CPPUNIT_NS_BEGIN
17
18
19
class
DynamicLibraryManager
;
20
class
TestResult
;
21
class
XmlOutputter
;
22
23
26
class
CPPUNIT_API
PlugInManager
27
{
28
public
:
31
PlugInManager
();
32
34
virtual
~
PlugInManager
();
35
46
void
load(
const
std::string &libraryFileName,
47
const
PlugInParameters
¶meters =
PlugInParameters
() );
48
53
void
unload(
const
std::string &libraryFileName );
54
59
void
addListener(
TestResult
*eventManager );
60
64
void
removeListener(
TestResult
*eventManager );
65
68
void
addXmlOutputterHooks(
XmlOutputter
*outputter );
69
74
void
removeXmlOutputterHooks();
75
76
protected
:
79
struct
PlugInInfo
80
{
81
std::string
m_fileName
;
82
DynamicLibraryManager
*
m_manager
;
83
CppUnitTestPlugIn
*
m_interface
;
84
};
85
89
void
unload(
PlugInInfo
&plugIn );
90
91
private
:
93
PlugInManager
(
const
PlugInManager
© );
94
96
void
operator =(
const
PlugInManager
© );
97
98
private
:
99
typedef
CppUnitDeque<PlugInInfo>
PlugIns
;
100
PlugIns
m_plugIns
;
101
};
102
103
104
CPPUNIT_NS_END
105
106
#if CPPUNIT_NEED_DLL_DECL
107
#pragma warning( pop )
108
#endif
109
110
#endif // !defined(CPPUNIT_NO_TESTPLUGIN)
111
112
113
#endif // CPPUNIT_PLUGIN_PLUGINMANAGER_H
Send comments to:
CppUnit Developers