Libraries/DIAL/src/Dial/Client.h
Go to the documentation of this file.
1 
20 #pragma once
21 
23 #include "App.h"
24 
31 namespace Dial
32 {
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 
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:
73  using AppMap = ObjectMap<String, App>;
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 
bool discover(UPnP::ControlPoint &controlPoint, Client::Discovered callback)
Provides http base used for client and server connections.
Definition: HttpConnection.h:27
Class to manage URL instance.
Definition: Url.h:66
Definition: DeviceControl.h:48
The String class.
Definition: WString.h:136
bool sendRequest(HttpRequest *request)
Definition: Libraries/DIAL/src/Dial/Client.h:60
ControlPoint & controlPoint() const
Get managing control point for this device.
Definition: DeviceControl.h:109
static UPnP::Object * createObject(UPnP::DeviceControl *owner)
Definition: Libraries/DIAL/src/Dial/Client.h:47
bool sendRequest(HttpRequest *request)
Send a request.
Definition: ControlPoint.h:53
App & getApp(const String &applicationId)
Get application object by name.
Url getApplicationUrl() const
Definition: Libraries/DIAL/src/Dial/Client.h:67
Definition: App.h:33
Definition: Libraries/UPnP/src/include/Network/UPnP/Object.h:54
const UPnP::ObjectClass & getClass() const override
Definition: Libraries/DIAL/src/Dial/Client.h:42
Definition: Libraries/DIAL/src/Dial/Client.h:33
Definition: App.h:37
Describes device or service class.
Definition: ObjectClass.h:53
Delegate< bool(Client &)> Discovered
Definition: Libraries/DIAL/src/Dial/Client.h:38
static const UPnP::ObjectClass class_
Definition: Libraries/DIAL/src/Dial/Client.h:40
Encapsulates an incoming or outgoing request.
Definition: HttpRequest.h:36
Definition: Delegate.h:20
void onConnected(HttpConnection &connection) override
Inherited classes may override this to pull out any additional information from received response hea...