CustusX  18.04-rc5
An IGT application
cxTrackerConfiguration.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 CXTRACKERCONFIGURATION_H
13 #define CXTRACKERCONFIGURATION_H
14 
15 #include "cxResourceExport.h"
16 
17 #include "boost/shared_ptr.hpp"
18 #include <QStringList>
19 
21 
22 namespace cx
23 {
24 typedef boost::shared_ptr<class TrackerConfiguration> TrackerConfigurationPtr;
25 
33 class cxResource_EXPORT TrackerConfiguration
34 {
35 public:
37  {
38  QString mUid;
39  QString mName;
41  QString mTrackingSystemName;//Tracking system name (polaris, aurora, ...)
42  QStringList mTools;
43  QString mReferenceTool;
44  QString mTrackingSystemImplementation;//Tracking system implementation (igstk or openigtlink)
45  std::vector<cx::ConfigurationFileParser::ToolStructure> mToolList;
46  };
47  struct Tool
48  {
49  QString mUid; // absolute filename
50  QString mName; // User-friendly name
54  };
55 
56  virtual ~TrackerConfiguration();
57 
58  virtual QString getConfigurationApplicationsPath() = 0;
59  virtual void saveConfiguration(const Configuration& config) = 0;
60  virtual Configuration getConfiguration(QString uid) = 0;
61 
62  virtual QStringList getConfigurationsGivenApplication() = 0;
63  virtual QStringList getAllConfigurations() = 0;
64 
65  virtual QStringList getSupportedTrackingSystems() = 0;
66  virtual QStringList getToolsGivenFilter(QStringList applicationsFilter,
67  QStringList trackingsystemsFilter) = 0;
68  virtual QStringList getAllTools() = 0;
69  virtual QStringList getAllApplications() = 0;
70 
71  virtual Tool getTool(QString uid) = 0;
72  virtual bool verifyTool(QString uid) = 0;
73 
74  virtual QString getTrackingSystemImplementation() = 0;
75  virtual void setTrackingSystemImplementation(QString trackingSystemImplementation) = 0;
76 
77  virtual bool isNull() = 0;
78  static TrackerConfigurationPtr getNullObject();
79 
80 protected:
82 };
83 
84 } // namespace cx
85 
86 #endif // CXTRACKERCONFIGURATION_H
boost::shared_ptr< class TrackerConfiguration > TrackerConfigurationPtr
std::vector< cx::ConfigurationFileParser::ToolStructure > mToolList
QString mUid
absolute path and filename for the new config file
Namespace for all CustusX production code.