CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxVideoServiceBackend.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 
12 #ifndef CXVIDEOSERVICEBACKEND_H
13 #define CXVIDEOSERVICEBACKEND_H
14 
15 #include "org_custusx_core_video_Export.h"
16 #include <QSharedPointer>
17 #include "boost/shared_ptr.hpp"
18 #include "cxForwardDeclarations.h"
19 class ctkPluginFramework;
20 class ctkPluginContext;
21 
22 namespace cx
23 {
24 typedef boost::shared_ptr<class SpaceProvider> SpaceProviderPtr;
25 
26 typedef boost::shared_ptr<class VideoServiceBackend> VideoServiceBackendPtr;
34 class org_custusx_core_video_EXPORT VideoServiceBackend
35 {
36 public:
37  static VideoServiceBackendPtr create(PatientModelServicePtr dataManager,
38  TrackingServicePtr trackingService,
39  SpaceProviderPtr spaceProvider,
40  FileManagerServicePtr filemanager,
41  ctkPluginContext* context);
43  TrackingServicePtr trackingService,
44  SpaceProviderPtr spaceProvider,
45  FileManagerServicePtr filemanager,
46  ctkPluginContext* context);
47 
48  PatientModelServicePtr getDataManager();
49  TrackingServicePtr tracking();
50  SpaceProviderPtr getSpaceProvider();
51  FileManagerServicePtr file();
52  ctkPluginContext* mContext;
53 
54 private:
55  PatientModelServicePtr mDataManager;
56  TrackingServicePtr mTrackingService;
57  SpaceProviderPtr mSpaceProvider;
58  FileManagerServicePtr mFileManagerService;
59 };
60 
61 } // namespace cx
62 
63 
64 #endif // CXVIDEOSERVICEBACKEND_H
boost::shared_ptr< class SpaceProvider > SpaceProviderPtr
boost::shared_ptr< class FileManagerService > FileManagerServicePtr
boost::shared_ptr< class TrackingService > TrackingServicePtr
boost::shared_ptr< class VideoServiceBackend > VideoServiceBackendPtr
boost::shared_ptr< class PatientModelService > PatientModelServicePtr
Namespace for all CustusX production code.