CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxCoreServices.h
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 #ifndef CXCORESERVICES_H
12 #define CXCORESERVICES_H
13 
14 #include "cxResourceExport.h"
15 #include <boost/shared_ptr.hpp>
16 class ctkPluginContext;
17 
18 namespace cx
19 {
20 
21 typedef boost::shared_ptr<class PatientModelService> PatientModelServicePtr;
22 typedef boost::shared_ptr<class TrackingService> TrackingServicePtr;
23 typedef boost::shared_ptr<class VideoService> VideoServicePtr;
24 typedef boost::shared_ptr<class SpaceProvider> SpaceProviderPtr;
25 typedef boost::shared_ptr<class CoreServices> CoreServicesPtr;
26 typedef boost::shared_ptr<class SessionStorageService> SessionStorageServicePtr;
27 typedef boost::shared_ptr<class StateService> StateServicePtr;
28 typedef boost::shared_ptr<class FileManagerService> FileManagerServicePtr;
29 
38 class cxResource_EXPORT CoreServices
39 {
40 public:
41  static CoreServicesPtr create(ctkPluginContext* context);
42  CoreServices(ctkPluginContext* context);
43  static CoreServicesPtr getNullObjects();
44 
45  PatientModelServicePtr patient() { return mPatientModelService; }
46  TrackingServicePtr tracking() { return mTrackingService; }
47  VideoServicePtr video() { return mVideoService; }
48  SpaceProviderPtr spaceProvider() { return mSpaceProvider; }
49  SessionStorageServicePtr session() { return mSessionStorageService; }
50  StateServicePtr state() { return mStateService; }
51  FileManagerServicePtr file() {return mFileManagerService;}
52 
53 protected:
54  PatientModelServicePtr mPatientModelService;
55  TrackingServicePtr mTrackingService;
56  VideoServicePtr mVideoService;
57  SpaceProviderPtr mSpaceProvider;
58  SessionStorageServicePtr mSessionStorageService;
59  StateServicePtr mStateService;
60  FileManagerServicePtr mFileManagerService;
61 
62 protected:
63  CoreServices();
64 };
65 
66 }
67 
68 
69 #endif // CXCORESERVICES_H
boost::shared_ptr< class SpaceProvider > SpaceProviderPtr
boost::shared_ptr< class FileManagerService > FileManagerServicePtr
boost::shared_ptr< class VideoService > VideoServicePtr
SessionStorageServicePtr mSessionStorageService
boost::shared_ptr< class StateService > StateServicePtr
boost::shared_ptr< class TrackingService > TrackingServicePtr
VideoServicePtr mVideoService
TrackingServicePtr mTrackingService
SpaceProviderPtr mSpaceProvider
PatientModelServicePtr mPatientModelService
PatientModelServicePtr patient()
StateServicePtr state()
boost::shared_ptr< class PatientModelService > PatientModelServicePtr
StateServicePtr mStateService
FileManagerServicePtr mFileManagerService
VideoServicePtr video()
SpaceProviderPtr spaceProvider()
TrackingServicePtr tracking()
boost::shared_ptr< class CoreServices > CoreServicesPtr
Definition: cxCameraStyle.h:37
SessionStorageServicePtr session()
FileManagerServicePtr file()
boost::shared_ptr< class SessionStorageService > SessionStorageServicePtr
Namespace for all CustusX production code.