NorMIT-nav  18.04
An IGT application
cxStreamerServiceProxy.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 CXSTREAMERINTERFACEPROXY_H
12 #define CXSTREAMERINTERFACEPROXY_H
13 
14 #include "cxStreamerService.h"
16 
17 namespace cx
18 {
27 class cxResource_EXPORT StreamerServiceProxy : public StreamerService
28 {
29 public:
30 
31  StreamerServiceProxy(ctkPluginContext *context, QString name);
32  virtual ~StreamerServiceProxy() {}
33  virtual QString getName();
34  virtual QString getType() const;
35  virtual void stop();
36 
37  virtual std::vector<PropertyPtr> getSettings(QDomElement root);
38  virtual StreamerPtr createStreamer(QDomElement root);
39 private:
40  void initServiceListener();
41  void onServiceAdded(StreamerService *service);
42  void onServiceRemoved(StreamerService *service);
43 
44  ctkPluginContext *mPluginContext;
45  QString mServiceName;
46  StreamerServicePtr mStreamerService;
47  boost::shared_ptr<ServiceTrackerListener<StreamerService> > mServiceListener;
48 };
49 
50 } //end namespace cx
51 
52 #endif // CXSTREAMERINTERFACEPROXY_H
Proxy for StreamerServices.
boost::shared_ptr< class StreamerService > StreamerServicePtr
Abstract class. Interface to Streamers.
boost::shared_ptr< class Streamer > StreamerPtr
Namespace for all CustusX production code.