CustusX  2021.04.21-dev+develop.337f9
An IGT application
cxOpenIGTLinkPluginActivator.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 CXOpenIGTLinkPluginActivator_H_
13 #define CXOpenIGTLinkPluginActivator_H_
14 
15 #include "igtlioBaseConverter.h"
16 
17 #include <ctkPluginActivator.h>
18 #include "boost/shared_ptr.hpp"
19 #include <QThread>
20 
21 #include "cxNetworkHandler.h"
22 
23 namespace cx
24 {
25 
26 typedef boost::shared_ptr<class NetworkConnectionHandle> NetworkConnectionHandlePtr;
27 typedef boost::shared_ptr<class OpenIGTLinkTrackingSystemService> OpenIGTLinkTrackingSystemServicePtr;
28 typedef boost::shared_ptr<class RegisteredService> RegisteredServicePtr;
29 typedef boost::shared_ptr<class NetworkServiceImpl> NetworkServiceImplPtr;
30 
39 class OpenIGTLinkPluginActivator : public QObject, public ctkPluginActivator
40 {
41  Q_OBJECT
42  Q_INTERFACES(ctkPluginActivator)
43  Q_PLUGIN_METADATA(IID "org_custusx_core_openigtlink3")
44 
45 public:
46 
49 
50  void start(ctkPluginContext* context);
51  void stop(ctkPluginContext* context);
52 
53 private:
54  RegisteredServicePtr mRegistrationGui;
55  NetworkHandlerPtr mNetworkHandler;
56  RegisteredServicePtr mRegistrationTracking;
57  RegisteredServicePtr mRegistrationStreaming;
58 
59  NetworkServiceImplPtr mNetworkConnections;
60 };
61 
62 } // namespace cx
63 
64 #endif /* CXOpenIGTLinkPluginActivator_H_ */
boost::shared_ptr< class NetworkHandler > NetworkHandlerPtr
boost::shared_ptr< class RegisteredService > RegisteredServicePtr
boost::shared_ptr< class NetworkConnectionHandle > NetworkConnectionHandlePtr
boost::shared_ptr< class NetworkServiceImpl > NetworkServiceImplPtr
boost::shared_ptr< class OpenIGTLinkTrackingSystemService > OpenIGTLinkTrackingSystemServicePtr
Namespace for all CustusX production code.