Medical Imaging Interaction Toolkit
2023.12.00
Medical Imaging Interaction Toolkit
berryIServiceFactory.h
Go to the documentation of this file.
1
/*============================================================================
2
3
The Medical Imaging Interaction Toolkit (MITK)
4
5
Copyright (c) German Cancer Research Center (DKFZ)
6
All rights reserved.
7
8
Use of this source code is governed by a 3-clause BSD license that can be
9
found in the LICENSE file.
10
11
============================================================================*/
12
13
14
#ifndef BERRYISERVICEFACTORY_H_
15
#define BERRYISERVICEFACTORY_H_
16
17
#include <
org_blueberry_ui_qt_Export.h
>
18
19
#include <QObject>
20
21
namespace
berry
{
22
23
struct
IServiceLocator;
24
25
class
Object;
26
33
struct
BERRY_UI_QT
IServiceFactory
{
34
35
virtual
~
IServiceFactory
();
36
57
template
<
class
S>
58
S*
Create
(
IServiceLocator
* parentLocator,
IServiceLocator
* locator)
const
59
{
60
return
dynamic_cast<
S*
>
(this->Create(qobject_interface_iid<S*>(), parentLocator, locator));
61
}
62
63
virtual
Object
* Create(
const
QString& serviceInterface,
64
IServiceLocator
* parentLocator,
IServiceLocator
* locator)
const
= 0;
65
};
66
67
}
68
69
Q_DECLARE_INTERFACE(
berry::IServiceFactory
,
"org.blueberry.ui.IServiceFactory"
)
70
71
#endif
/* BERRYISERVICEFACTORY_H_ */
org_blueberry_ui_qt_Export.h
berry::IServiceLocator
Definition:
berryIServiceLocator.h:43
berry::IServiceFactory
Definition:
berryIServiceFactory.h:33
berry::Object
Light weight base class for most BlueBerry classes.
Definition:
berryObject.h:72
berry::IServiceFactory::Create
S * Create(IServiceLocator *parentLocator, IServiceLocator *locator) const
Definition:
berryIServiceFactory.h:58
BERRY_UI_QT
#define BERRY_UI_QT
Definition:
org_blueberry_ui_qt_Export.h:26
berry
Definition:
QmitkPropertyItemModel.h:24
src
MITK
Plugins
org.blueberry.ui.qt
src
services
berryIServiceFactory.h
Generated on Thu Nov 30 2023 15:58:48 for Medical Imaging Interaction Toolkit by
1.8.17