NorMIT-nav  2023.01.05-dev+develop.0da12
An IGT application
cxFileManagerServicePluginActivator.cpp
Go to the documentation of this file.
1 /*=========================================================================
2 This file is part of CustusX, an Image Guided Therapy Application.
3 
4 Copyright (c) SINTEF Department of Medical Technology.
5 All rights reserved.
6 
7 CustusX is released under a BSD 3-Clause license.
8 
9 See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10 =========================================================================*/
11 
13 
14 #include <QtPlugin>
15 
18 #include "cxMetaImageReader.h"
19 #include "cxPNGImageReader.h"
20 #include "cxPolyDataMeshReader.h"
22 #include "cxStlMeshReader.h"
23 #include "cxNIfTIReader.h"
24 #include "cxMNIReaderWriter.h"
25 #include "cxDICOMReader.h"
26 #include "cxLogger.h"
28 #include "cxViewServiceProxy.h"
29 
30 namespace cx
31 {
32 
34 {
35 }
36 
38 {
39  if(!mRegisteredFileReaderWriterServices.empty())
40  CX_LOG_ERROR() << "FileReaderWriterServices is not empty.";
41 }
42 
43 void FileManagerServicePluginActivator::start(ctkPluginContext* context)
44 {
45  FileManagerImpService *filemanager = new FileManagerImpService(context);
46  mRegisteredFileManagerService = RegisteredService::create<FileManagerImpService>(context, filemanager, FileManagerService_iid);
47 
48  PatientModelServicePtr patientModelService = PatientModelServiceProxy::create(context);
49  ViewServicePtr viewService = ViewServiceProxy::create(context);
50 
51  mRegisteredFileReaderWriterServices.push_back(RegisteredService::create<MetaImageReader>(context, new MetaImageReader(patientModelService), FileReaderWriterService_iid));
52  mRegisteredFileReaderWriterServices.push_back(RegisteredService::create<PNGImageReader>(context, new PNGImageReader(patientModelService), FileReaderWriterService_iid));
53  mRegisteredFileReaderWriterServices.push_back(RegisteredService::create<PolyDataMeshReader>(context, new PolyDataMeshReader(patientModelService), FileReaderWriterService_iid));
54  mRegisteredFileReaderWriterServices.push_back(RegisteredService::create<XMLPolyDataMeshReader>(context, new XMLPolyDataMeshReader(patientModelService), FileReaderWriterService_iid));
55  mRegisteredFileReaderWriterServices.push_back(RegisteredService::create<StlMeshReader>(context, new StlMeshReader(patientModelService), FileReaderWriterService_iid));
56  mRegisteredFileReaderWriterServices.push_back(RegisteredService::create<NIfTIReader>(context, new NIfTIReader(patientModelService), FileReaderWriterService_iid));
57  mRegisteredFileReaderWriterServices.push_back(RegisteredService::create<MNIReaderWriter>(context, new MNIReaderWriter(patientModelService, viewService), FileReaderWriterService_iid));
58  mRegisteredFileReaderWriterServices.push_back(RegisteredService::create<DICOMReader>(context, new DICOMReader(patientModelService), FileReaderWriterService_iid));
59 
60  mRegisteredGuiExtenderService = RegisteredService::create<ImportExportGuiExtenderService>(context, new ImportExportGuiExtenderService(context), GUIExtenderService_iid);
61 }
62 
63 void FileManagerServicePluginActivator::stop(ctkPluginContext* context)
64 {
65 
66  for(std::vector<RegisteredServicePtr>::iterator it = mRegisteredFileReaderWriterServices.begin(); it != mRegisteredFileReaderWriterServices.end(); )
67  {
68  (*it).reset();
69  it = mRegisteredFileReaderWriterServices.erase(it);
70  }
71 
72  mRegisteredGuiExtenderService.reset();
73  mRegisteredFileManagerService.reset();
74 
75  Q_UNUSED(context);
76 }
77 
78 } // cx
cx::ImportExportGuiExtenderService
Definition: cxImportExportGuiExtenderService.h:23
FileReaderWriterService_iid
#define FileReaderWriterService_iid
Definition: cxFileReaderWriterService.h:20
cx::StlMeshReader
Reader for STL files.
Definition: cxStlMeshReader.h:24
cxLogger.h
cx::PatientModelServiceProxy::create
static PatientModelServicePtr create(ctkPluginContext *pluginContext)
Definition: cxPatientModelServiceProxy.cpp:24
cxXMLPolyDataMeshReader.h
cx::ViewServiceProxy::create
static ViewServicePtr create(ctkPluginContext *pluginContext)
Definition: cxViewServiceProxy.cpp:23
cx::NIfTIReader
Reader for NIfTI files.
Definition: cxNIfTIReader.h:24
cx
Namespace for all CustusX production code.
Definition: cx_dev_group_definitions.h:13
cxFileManagerServicePluginActivator.h
cx::FileManagerServicePluginActivator::stop
void stop(ctkPluginContext *context)
Definition: cxFileManagerServicePluginActivator.cpp:63
cxPNGImageReader.h
cxNIfTIReader.h
cx::PolyDataMeshReader
Reader for .vtk files.
Definition: cxPolyDataMeshReader.h:25
cx::FileManagerServicePluginActivator::FileManagerServicePluginActivator
FileManagerServicePluginActivator()
Definition: cxFileManagerServicePluginActivator.cpp:33
cx::DICOMReader
Definition: cxDICOMReader.h:23
cx::FileManagerServicePluginActivator::~FileManagerServicePluginActivator
~FileManagerServicePluginActivator()
Definition: cxFileManagerServicePluginActivator.cpp:37
cx::FileManagerServicePluginActivator::start
void start(ctkPluginContext *context)
Definition: cxFileManagerServicePluginActivator.cpp:43
cxMNIReaderWriter.h
cxFileManagerImplService.h
cxPatientModelServiceProxy.h
cx::PNGImageReader
Reader for portable network graphics .png files.
Definition: cxPNGImageReader.h:23
cx::PatientModelServicePtr
boost::shared_ptr< class PatientModelService > PatientModelServicePtr
Definition: cxLogicManager.h:25
cx::ViewServicePtr
boost::shared_ptr< class ViewService > ViewServicePtr
Definition: cxLogicManager.h:28
cxDICOMReader.h
CX_LOG_ERROR
#define CX_LOG_ERROR
Definition: cxLogger.h:99
cxStlMeshReader.h
cx::MNIReaderWriter
Definition: cxMNIReaderWriter.h:24
cx::XMLPolyDataMeshReader
Reader for .vtp files.
Definition: cxXMLPolyDataMeshReader.h:26
cxMetaImageReader.h
FileManagerService_iid
#define FileManagerService_iid
Definition: cxFileManagerService.h:20
cxPolyDataMeshReader.h
cx::MetaImageReader
Definition: cxMetaImageReader.h:24
cxViewServiceProxy.h
GUIExtenderService_iid
#define GUIExtenderService_iid
Definition: cxGUIExtenderService.h:23
cx::FileManagerImpService
Definition: cxFileManagerImplService.h:29
cxImportExportGuiExtenderService.h