CustusX  18.04
An IGT application
cxNetworkService.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 CXNETWORKSERVICE_H
12 #define CXNETWORKSERVICE_H
13 
14 
15 #include "cxResourceExport.h"
16 #include "boost/shared_ptr.hpp"
17 #include <QString>
18 #include <QStringList>
19 #include <QObject>
20 
21 #define NetworkService_iid "cx::NetworkService"
22 
23 namespace cx
24 {
25 typedef boost::shared_ptr<class NetworkServiceImpl> NetworkServiceImplPtr;
26 typedef boost::shared_ptr<class NetworkConnectionHandle> NetworkConnectionHandlePtr;
27 
33 class cxResource_EXPORT NetworkService : public QObject
34 {
35  Q_OBJECT
36 public:
37  virtual ~NetworkService() {}
38  virtual QStringList getConnectionUids() const = 0; // TODO use impl in this class
39  virtual std::vector<NetworkConnectionHandlePtr> getConnections() const = 0;
40  virtual NetworkConnectionHandlePtr getConnection(QString uid) = 0;
41 signals:
42  void connectionsChanged();
43 };
44 
45 } // namespace cx
46 Q_DECLARE_INTERFACE(cx::NetworkService, NetworkService_iid)
47 
48 
49 #endif // CXNETWORKSERVICE_H
#define NetworkService_iid
boost::shared_ptr< class NetworkConnectionHandle > NetworkConnectionHandlePtr
boost::shared_ptr< class NetworkServiceImpl > NetworkServiceImplPtr
Namespace for all CustusX production code.