CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxAcquisitionImplService.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 CXACQUISITIONIMPLSERVICE_H
13 #define CXACQUISITIONIMPLSERVICE_H
14 
15 #include "cxAcquisitionService.h"
16 class ctkPluginContext;
17 class QDomElement;
18 
19 namespace cx
20 {
21 typedef boost::shared_ptr<class Acquisition> AcquisitionPtr;
22 typedef boost::shared_ptr<class AcquisitionData> AcquisitionDataPtr;
23 typedef boost::shared_ptr<class USAcquisition> USAcquisitionPtr;
24 typedef boost::shared_ptr<class UsReconstructionService> UsReconstructionServicePtr;
25 typedef boost::shared_ptr<class PatientModelService> PatientModelServicePtr;
26 typedef boost::shared_ptr<class SessionStorageService> SessionStorageServicePtr;
27 typedef boost::shared_ptr<class VisServices> VisServicesPtr;
28 
35 class org_custusx_acquisition_EXPORT AcquisitionImplService : public AcquisitionService
36 {
37  Q_INTERFACES(cx::AcquisitionService)
38 public:
39  AcquisitionImplService(ctkPluginContext *context);
40  virtual ~AcquisitionImplService();
41  virtual bool isNull();
42 
43  virtual RecordSessionPtr getLatestSession();
44  virtual std::vector<RecordSessionPtr> getSessions();
45 
46  virtual bool isReady(TYPES context) const;
47  virtual QString getInfoText(TYPES context) const;
48  virtual STATE getState() const;
49  virtual void startRecord(TYPES context, QString category, RecordSessionPtr session);
50  virtual void stopRecord();
51  virtual void cancelRecord();
52  virtual void startPostProcessing();
53  virtual void stopPostProcessing();
54 
55  virtual int getNumberOfSavingThreads() const;
56 
57 
58 private slots:
59  void duringClearPatientSlot();
60  void duringSavePatientSlot(QDomElement& node);
61  void duringLoadPatientSlot(QDomElement& node);
62 private:
63  ctkPluginContext* mContext;
64  AcquisitionDataPtr mAcquisitionData;
65  AcquisitionPtr mAcquisition;
66  UsReconstructionServicePtr mUsReconstructService;
67  USAcquisitionPtr mUsAcquisition;
68  VisServicesPtr mServices;
69 
70  void addXml(QDomNode& dataNode);
71  void parseXml(QDomNode& dataNode);
72 };
73 
74 typedef boost::shared_ptr<AcquisitionImplService> AcquisitionImplServicePtr;
75 
76 } //cx
77 
78 #endif // CXACQUISITIONIMPLSERVICE_H
Acqusition services abstract interface.
boost::shared_ptr< class UsReconstructionService > UsReconstructionServicePtr
Implementation for Acqusition service.
boost::shared_ptr< class VisServices > VisServicesPtr
Definition: cxMainWindow.h:40
boost::shared_ptr< class Acquisition > AcquisitionPtr
boost::shared_ptr< class USAcquisition > USAcquisitionPtr
boost::shared_ptr< class AcquisitionData > AcquisitionDataPtr
boost::shared_ptr< class RecordSession > RecordSessionPtr
boost::shared_ptr< class PatientModelService > PatientModelServicePtr
boost::shared_ptr< AcquisitionImplService > AcquisitionImplServicePtr
boost::shared_ptr< class SessionStorageService > SessionStorageServicePtr
Namespace for all CustusX production code.