Medical Imaging Interaction Toolkit
2024.06.00
Medical Imaging Interaction Toolkit
mitkIPropertyDeserialization.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
#ifndef mitkIPropertyDeserialization_h
14
#define mitkIPropertyDeserialization_h
15
16
#include <
mitkBaseProperty.h
>
17
#include <
mitkServiceInterface.h
>
18
#include <
MitkCoreExports.h
>
19
20
#include <itkSmartPointer.h>
21
22
#include <string>
23
#include <type_traits>
24
25
namespace
mitk
26
{
34
class
MITKCORE_EXPORT
IPropertyDeserialization
35
{
36
public
:
37
virtual
~
IPropertyDeserialization
();
38
39
virtual
BaseProperty::Pointer
CreateInstance(
const
std::string& className) = 0;
40
48
template
<
typename
T,
typename
= std::enable_if_t<std::is_base_of_v<BaseProperty, T>>>
49
void
RegisterProperty
()
50
{
51
this->InternalRegisterProperty(T::New());
52
}
53
54
protected
:
55
virtual
void
InternalRegisterProperty(
const
BaseProperty
* property) = 0;
56
};
57
}
58
59
MITK_DECLARE_SERVICE_INTERFACE
(
mitk::IPropertyDeserialization
,
"org.mitk.IPropertyDeserialization"
)
60
61
#endif
mitk::BaseProperty
Abstract base class for properties.
Definition:
mitkBaseProperty.h:36
mitkServiceInterface.h
itk::SmartPointer< Self >
mitk::IPropertyDeserialization
Interface of property deserialization service.
Definition:
mitkIPropertyDeserialization.h:34
mitk
Find image slices visible on a given plane.
Definition:
RenderingTests.dox:1
MitkCoreExports.h
mitk::IPropertyDeserialization::RegisterProperty
void RegisterProperty()
Register a custom property type for deserialization.
Definition:
mitkIPropertyDeserialization.h:49
MITK_DECLARE_SERVICE_INTERFACE
#define MITK_DECLARE_SERVICE_INTERFACE(IFace, IId)
Definition:
mitkServiceInterface.h:26
mitkBaseProperty.h
MITKCORE_EXPORT
#define MITKCORE_EXPORT
Definition:
MitkCoreExports.h:15
src
MITK
Modules
Core
include
mitkIPropertyDeserialization.h
Generated on Mon Jun 17 2024 12:43:27 for Medical Imaging Interaction Toolkit by
1.8.17