Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkDataStorageInspectorGenerator.cpp
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
#include "
usModuleContext.h
"
14
#include "
usGetModuleContext.h
"
15
16
#include "
mitkLogMacros.h
"
17
#include "
mitkDataStorageInspectorGenerator.h
"
18
19
mitk::IDataStorageInspectorProvider
*
mitk::DataStorageInspectorGenerator::GetProvider
(
const
IDType
&
id
)
20
{
21
mitk::IDataStorageInspectorProvider
* result =
nullptr
;
22
23
std::string filter =
"("
+
mitk::IDataStorageInspectorProvider::PROP_INSPECTOR_ID
() +
"="
+
id
+
")"
;
24
std::vector<us::ServiceReference<mitk::IDataStorageInspectorProvider> > providerRegisters =
us::GetModuleContext
()->
GetServiceReferences
<
mitk::IDataStorageInspectorProvider
>(filter);
25
26
if
(!providerRegisters.empty())
27
{
28
if
(providerRegisters.size() > 1)
29
{
30
MITK_WARN
<<
"Multiple provider for class id'"
<<
id
<<
"' found. Using just one."
;
31
}
32
result =
us::GetModuleContext
()->
GetService
<
mitk::IDataStorageInspectorProvider
>(providerRegisters.front());
33
}
34
35
return
result;
36
};
37
38
mitk::DataStorageInspectorGenerator::ProviderMapType
mitk::DataStorageInspectorGenerator::GetProviders
()
39
{
40
std::vector<us::ServiceReference<mitk::IDataStorageInspectorProvider> > providerRegisters =
us::GetModuleContext
()->
GetServiceReferences
<
mitk::IDataStorageInspectorProvider
>();
41
42
ProviderMapType
result;
43
44
for
(
auto
regs : providerRegisters)
45
{
46
auto
provider =
us::GetModuleContext
()->
GetService
<
mitk::IDataStorageInspectorProvider
>(regs);
47
result.insert(std::make_pair(provider->GetInspectorID(), provider));
48
}
49
50
return
result;
51
};
52
53
mitk::DataStorageInspectorGenerator::DataStorageInspectorGenerator
()
54
=
default
;
55
56
mitk::DataStorageInspectorGenerator::~DataStorageInspectorGenerator
()
57
=
default
;
mitk::DataStorageInspectorGenerator::DataStorageInspectorGenerator
DataStorageInspectorGenerator()
mitk::DataStorageInspectorGenerator::IDType
mitk::IDataStorageInspectorProvider::InspectorIDType IDType
Definition:
mitkDataStorageInspectorGenerator.h:26
mitk::DataStorageInspectorGenerator::GetProvider
static mitk::IDataStorageInspectorProvider * GetProvider(const IDType &id)
Definition:
mitkDataStorageInspectorGenerator.cpp:19
ModuleContext::GetService
void * GetService(const ServiceReferenceBase &reference)
Definition:
usModuleContext.cpp:103
mitk::IDataStorageInspectorProvider
The common interface for all DataStorage inspector providers.
Definition:
mitkIDataStorageInspectorProvider.h:39
MITK_WARN
#define MITK_WARN
Definition:
mitkLogMacros.h:19
mitkLogMacros.h
mitk::DataStorageInspectorGenerator::GetProviders
static ProviderMapType GetProviders()
Definition:
mitkDataStorageInspectorGenerator.cpp:38
mitk::IDataStorageInspectorProvider::PROP_INSPECTOR_ID
static std::string PROP_INSPECTOR_ID()
Service property name for the inspector ID.
Definition:
mitkIDataStorageInspectorProvider.cpp:19
mitk::DataStorageInspectorGenerator::ProviderMapType
std::map< IDType, mitk::IDataStorageInspectorProvider * > ProviderMapType
Definition:
mitkDataStorageInspectorGenerator.h:28
mitkDataStorageInspectorGenerator.h
ModuleContext::GetServiceReferences
std::vector< ServiceReferenceU > GetServiceReferences(const std::string &clazz, const std::string &filter=std::string())
Definition:
usModuleContext.cpp:84
mitk::DataStorageInspectorGenerator::~DataStorageInspectorGenerator
virtual ~DataStorageInspectorGenerator()
usGetModuleContext.h
us::GetModuleContext
static ModuleContext * GetModuleContext()
Returns the module context of the calling module.
Definition:
usGetModuleContext.h:50
usModuleContext.h
Source
Modules
QtWidgets
src
mitkDataStorageInspectorGenerator.cpp
Generated on Thu Mar 12 2020 10:23:42 for Medical Imaging Interaction Toolkit by
1.8.13