CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxWebServerWidget.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 CXWEBSERVERWIDGET_H_
13 #define CXWEBSERVERWIDGET_H_
14 
15 #include "cxWebServerWidgetBase.h"
16 
17 class QHttpServer;
18 class QHttpRequest;
19 class QHttpResponse;
20 
21 namespace cx
22 {
23 
24 typedef boost::shared_ptr<class RemoteAPI> RemoteAPIPtr;
25 typedef boost::shared_ptr<class HttpRequestHandler> HttpRequestHandlerPtr;
26 
36 {
37 // Q_OBJECT
38 public:
39  WebServerWidget(cx::VisServicesPtr services, QWidget* parent = nullptr);
40  virtual ~WebServerWidget();
41 
42 protected:
43  virtual void startServer();
44  virtual void stopServer();
45 
46 private:
47  HttpRequestHandlerPtr mRequestHandler;
48  RemoteAPIPtr mAPI;
49  QHttpServer *mServer;
50  quint16 mPort;
51 
52  void initServer();
53  void shutdownServer();
54  QString defaultWhatsThis() const;
55 };
56 
57 } /* namespace cx */
58 
59 #endif /* CXWEBSERVERWIDGET_H_ */
virtual void startServer()
boost::shared_ptr< class VisServices > VisServicesPtr
Definition: cxMainWindow.h:40
virtual void stopServer()
WebServerWidget(cx::VisServicesPtr services, QWidget *parent=nullptr)
boost::shared_ptr< class RemoteAPI > RemoteAPIPtr
boost::shared_ptr< class HttpRequestHandler > HttpRequestHandlerPtr
Namespace for all CustusX production code.