Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitkCoreActivator.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 mitkCoreActivator_h
14 #define mitkCoreActivator_h
15 
16 // File IO
17 #include <mitkAbstractFileIO.h>
18 #include <mitkIFileReader.h>
19 #include <mitkIFileWriter.h>
20 
21 #include "mitkMimeTypeProvider.h"
24 #include <mitkPropertyAliases.h>
27 #include <mitkPropertyExtensions.h>
28 #include <mitkPropertyFilters.h>
30 #include <mitkPropertyRelations.h>
31 #include <mitkPropertyTransience.h>
32 #include "mitkPreferencesService.h"
33 
34 // Micro Services
35 #include <usModuleActivator.h>
36 #include <usModuleEvent.h>
37 #include <usServiceRegistration.h>
38 #include <usServiceTracker.h>
39 
40 #include <memory>
41 
56 {
57 public:
68  void Load(us::ModuleContext *context) override;
69 
76  void Unload(us::ModuleContext *) override;
77 
78 private:
84  void HandleModuleEvent(const us::ModuleEvent moduleEvent);
85 
87  void RegisterDefaultMimeTypes();
88 
90  void RegisterItkReaderWriter();
91 
93  void RegisterVtkReaderWriter();
94 
95  // mitk::RenderingManager::Pointer m_RenderingManager;
96  std::unique_ptr<mitk::NodeSelectionService> m_NodeSelectionService;
97  std::unique_ptr<mitk::PlanePositionManagerService> m_PlanePositionManager;
98  std::unique_ptr<mitk::PropertyAliases> m_PropertyAliases;
99  std::unique_ptr<mitk::PropertyDescriptions> m_PropertyDescriptions;
100  std::unique_ptr<mitk::PropertyDeserialization> m_PropertyDeserialization;
101  std::unique_ptr<mitk::PropertyExtensions> m_PropertyExtensions;
102  std::unique_ptr<mitk::PropertyFilters> m_PropertyFilters;
103  std::unique_ptr<mitk::PropertyPersistence> m_PropertyPersistence;
104  std::unique_ptr<mitk::PropertyRelations> m_PropertyRelations;
105  std::unique_ptr<mitk::PropertyTransience> m_PropertyTransience;
106  std::unique_ptr<mitk::MimeTypeProvider> m_MimeTypeProvider;
107  std::unique_ptr<mitk::PreferencesService> m_PreferencesService;
108 
109  // File IO
110  std::vector<mitk::IFileReader *> m_FileReaders;
111  std::vector<mitk::IFileWriter *> m_FileWriters;
112  std::vector<mitk::AbstractFileIO *> m_FileIOs;
113 
114  std::vector<mitk::CustomMimeType *> m_DefaultMimeTypes;
115 
117 
118  us::ModuleContext *m_Context;
119 };
120 
121 #endif
Module activator for the MitkCore module.
void Load(us::ModuleContext *context) override
Load and register all core services.
void Unload(us::ModuleContext *) override
Unload and clean up all registered services.
An event from the Micro Services framework describing a module lifecycle change.
Definition: usModuleEvent.h:38
Customizes the starting and stopping of a CppMicroServices module.