Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
Home
Manual
API Reference
Download
Bugzilla
Groups
Namespace List
Class List
File List
Examples
File List
File Members
usModuleActivator.h
Go to the documentation of this file.
1
/*=============================================================================
2
3
Library: CppMicroServices
4
5
Copyright (c) German Cancer Research Center,
6
Division of Medical and Biological Informatics
7
8
Licensed under the Apache License, Version 2.0 (the "License");
9
you may not use this file except in compliance with the License.
10
You may obtain a copy of the License at
11
12
http://www.apache.org/licenses/LICENSE-2.0
13
14
Unless required by applicable law or agreed to in writing, software
15
distributed under the License is distributed on an "AS IS" BASIS,
16
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
See the License for the specific language governing permissions and
18
limitations under the License.
19
20
=============================================================================*/
21
22
#ifndef USMODULEACTIVATOR_H_
23
#define USMODULEACTIVATOR_H_
24
25
#ifndef US_MODULE_NAME
26
#error Missing US_MODULE_NAME preprocessor define
27
#endif
28
29
#include <usGlobalConfig.h>
30
#include <usModuleUtils_p.h>
31
32
US_BEGIN_NAMESPACE
33
34
class
ModuleContext
;
35
63
struct
ModuleActivator
64
{
65
66
virtual
~ModuleActivator
() {}
67
82
virtual
void
Load(
ModuleContext
* context) = 0;
83
99
virtual
void
Unload(
ModuleContext
* context) = 0;
100
101
};
102
103
US_END_NAMESPACE
104
105
119
#define US_EXPORT_MODULE_ACTIVATOR(_activator_type) \
120
extern "C" US_ABI_EXPORT US_PREPEND_NAMESPACE(ModuleActivator)* US_CONCAT(_us_module_activator_instance_, US_MODULE_NAME) () \
121
{ \
122
struct ScopedPointer \
123
{ \
124
ScopedPointer(US_PREPEND_NAMESPACE(ModuleActivator)* activator = 0) : m_Activator(activator) {} \
125
~ScopedPointer() { delete m_Activator; } \
126
US_PREPEND_NAMESPACE(ModuleActivator)* m_Activator; \
127
}; \
128
\
129
static ScopedPointer activatorPtr; \
130
if (activatorPtr.m_Activator == 0) activatorPtr.m_Activator = new _activator_type; \
131
return activatorPtr.m_Activator; \
132
}
133
134
#endif
/* USMODULEACTIVATOR_H_ */
ModuleContext
Definition:
usModuleContext.h:91
us::ModuleActivator::~ModuleActivator
virtual ~ModuleActivator()
Definition:
usModuleActivator.h:66
us::ModuleActivator
Definition:
usModuleActivator.h:63
git
MITK
Modules
CppMicroServices
core
include
usModuleActivator.h
Generated on Fri Feb 3 2017 20:52:17 for Medical Imaging Interaction Toolkit by
1.8.9.1