NorMIT-nav  18.04
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 
37 class cxResource_EXPORT CoreServices
38 {
39 public:
40  static CoreServicesPtr create(ctkPluginContext* context);
41  CoreServices(ctkPluginContext* context);
42  static CoreServicesPtr getNullObjects();
43 
44  PatientModelServicePtr patient() { return mPatientModelService; }
45  TrackingServicePtr tracking() { return mTrackingService; }
46  VideoServicePtr video() { return mVideoService; }
47  SpaceProviderPtr spaceProvider() { return mSpaceProvider; }
48  SessionStorageServicePtr session() { return mSessionStorageService; }
49  StateServicePtr state() { return mStateService; }
50 
51 protected:
52  PatientModelServicePtr mPatientModelService;
53  TrackingServicePtr mTrackingService;
54  VideoServicePtr mVideoService;
55  SpaceProviderPtr mSpaceProvider;
56  SessionStorageServicePtr mSessionStorageService;
57  StateServicePtr mStateService;
58 
59 protected:
60  CoreServices();
61 };
62 
63 }
64 
65 
66 #endif // CXCORESERVICES_H
boost::shared_ptr< class SpaceProvider > SpaceProviderPtr
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
VideoServicePtr video()
SpaceProviderPtr spaceProvider()
TrackingServicePtr tracking()
boost::shared_ptr< class CoreServices > CoreServicesPtr
Definition: cxCameraStyle.h:38
SessionStorageServicePtr session()
boost::shared_ptr< class SessionStorageService > SessionStorageServicePtr
Namespace for all CustusX production code.