CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxTrackerConfigurationImpl.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 CXTRACKERCONFIGURATIONIMPL_H
12 #define CXTRACKERCONFIGURATIONIMPL_H
13 
14 #include "cxResourceExport.h"
15 
16 #include <QDir>
17 #include "cxTrackerConfiguration.h"
18 #include "cxToolFileParser.h"
19 
20 namespace cx
21 {
22 
26 class cxResource_EXPORT TrackerConfigurationImpl : public TrackerConfiguration
27 {
28 public:
30 
31  virtual void saveConfiguration(const Configuration& config);
32  virtual Configuration getConfiguration(QString uid);
33 
34  virtual QStringList getSupportedTrackingSystems();
35  virtual QStringList getToolsGivenFilter(QStringList applicationsFilter,
36  QStringList trackingsystemsFilter);
37  virtual Tool getTool(QString uid);
38  virtual bool verifyTool(QString uid);
39 
40  virtual QString getConfigurationApplicationsPath();
41  virtual QStringList getConfigurationsGivenApplication();
42  virtual QStringList getAllConfigurations();
43  virtual QStringList getAllTools();
44  virtual QStringList getAllApplications();
45 
46  virtual QString getTrackingSystemImplementation();
47  virtual void setTrackingSystemImplementation(QString trackingSystemImplementation);
48 
49  virtual bool isNull() { return false; }
50 
51 private:
52  QStringList filter(QStringList toolsToFilter, QStringList applicationsFilter,
53  QStringList trackingsystemsFilter);
54  ToolFileParser::ToolInternalStructurePtr getToolInternal(QString toolAbsoluteFilePath);
55 
56 };
57 
58 
59 } // namespace cx
60 
61 
62 
63 #endif // CXTRACKERCONFIGURATIONIMPL_H
boost::shared_ptr< ToolInternalStructure > ToolInternalStructurePtr
Namespace for all CustusX production code.