Client.h
Go to the documentation of this file.
1 
20 #pragma once
21 
22 #include <Network/UPnP/ControlPoint.h>
23 #include "App.h"
24 
31 namespace Dial
32 {
33 class Client : public UPnP::DeviceControl
34 {
35 public:
36  using DeviceControl::DeviceControl;
37 
39 
40  static const UPnP::ObjectClass class_;
41 
42  const UPnP::ObjectClass& getClass() const override
43  {
44  return class_;
45  }
46 
47  static UPnP::Object* createObject(UPnP::DeviceControl* owner)
48  {
49  return new Client(owner);
50  }
51 
58  App& getApp(const String& applicationId);
59 
60  bool sendRequest(HttpRequest* request)
61  {
62  return controlPoint().sendRequest(request);
63  }
64 
65  void onConnected(HttpConnection& connection) override;
66 
68  {
69  return applicationUrl;
70  }
71 
72 private:
74 
75  Url applicationUrl;
76  AppMap apps; // <<< list of invoked apps
77 };
78 
79 bool discover(UPnP::ControlPoint& controlPoint, Client::Discovered callback);
80 
81 } // namespace Dial
82 
Class to manage URL instance.
Definition: Url.h:66
Definition: Client.h:33
Url getApplicationUrl() const
Definition: Client.h:67
The String class.
Definition: WString.h:136
const UPnP::ObjectClass & getClass() const override
Definition: Client.h:42
Definition: Delegate.h:20
bool discover(UPnP::ControlPoint &controlPoint, Client::Discovered callback)
static const UPnP::ObjectClass class_
Definition: Client.h:40
App & getApp(const String &applicationId)
Get application object by name.
Definition: App.h:37
Encapsulates an incoming or outgoing request.
Definition: HttpRequest.h:36
Provides http base used for client and server connections.
Definition: HttpConnection.h:27
Definition: App.h:33
bool sendRequest(HttpRequest *request)
Definition: Client.h:60
void onConnected(HttpConnection &connection) override
static UPnP::Object * createObject(UPnP::DeviceControl *owner)
Definition: Client.h:47