NorMIT-nav  18.04
An IGT application
cxTrackingSystemService.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 CXTRACKINGSYSTEMSERVICE_H
13 #define CXTRACKINGSYSTEMSERVICE_H
14 
15 #include "cxResourceExport.h"
16 #include "cxTool.h"
17 
18 #define TrackingSystemService_iid "cx::TrackingSystemService"
19 
20 namespace cx
21 {
22 
23 typedef boost::shared_ptr<class TrackingSystemService> TrackingSystemServicePtr;
24 typedef boost::shared_ptr<class TrackerConfiguration> TrackerConfigurationPtr;
25 
35 class cxResource_EXPORT TrackingSystemService : public QObject
36 {
37  Q_OBJECT
38 public:
41 
42  virtual QString getUid() const = 0;
43  virtual Tool::State getState() const;
44  virtual void setState(const Tool::State val) = 0;
45  virtual std::vector<ToolPtr> getTools() = 0;
46  virtual TrackerConfigurationPtr getConfiguration() = 0;
47  virtual ToolPtr getReference() = 0;
48 
49  virtual void setConfigurationFile(QString configurationFile);
50  virtual void setLoggingFolder(QString loggingFolder);
51 
52 signals:
53  void stateChanged();
54 
55 protected slots:
56  virtual void deconfigure() {}
57  virtual void configure() {}
58 
59  virtual void initialize();
60  virtual void uninitialize();
61  virtual void startTracking();
62  virtual void stopTracking();
63 protected:
66  QString mLoggingFolder;
67 
68  virtual bool isConfigured() const;
69  virtual bool isInitialized() const;
70  virtual bool isTracking() const;
71 
72  void internalSetState(Tool::State val);
73 };
74 } //namespace cx
76 
77 #endif // CXTRACKINGSYSTEMSERVICE_H
virtual void deconfigure()
deconfigures the software
QString mConfigurationFilePath
path to the configuration file
boost::shared_ptr< class TrackerConfiguration > TrackerConfigurationPtr
QString mLoggingFolder
path to where logging should be saved
Tracking System Service.
#define TrackingSystemService_iid
virtual void configure()
sets up the software
Namespace for all CustusX production code.
boost::shared_ptr< class Tool > ToolPtr
boost::shared_ptr< class TrackingSystemService > TrackingSystemServicePtr