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 
38  using Discovered = Delegate<bool(Client&)>;
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 
Definition: Delegate.h:20
Definition: App.h:38
Definition: Libraries/DIAL/src/Dial/Client.h:34
Url getApplicationUrl() const
Definition: Libraries/DIAL/src/Dial/Client.h:67
App & getApp(const String &applicationId)
Get application object by name.
static UPnP::Object * createObject(UPnP::DeviceControl *owner)
Definition: Libraries/DIAL/src/Dial/Client.h:47
static const UPnP::ObjectClass class_
Definition: Libraries/DIAL/src/Dial/Client.h:40
bool sendRequest(HttpRequest *request)
Definition: Libraries/DIAL/src/Dial/Client.h:60
const UPnP::ObjectClass & getClass() const override
Definition: Libraries/DIAL/src/Dial/Client.h:42
void onConnected(HttpConnection &connection) override
Inherited classes may override this to pull out any additional information from received response hea...
Provides http base used for client and server connections.
Definition: HttpConnection.h:28
Encapsulates an incoming or outgoing request.
Definition: HttpRequest.h:37
The String class.
Definition: WString.h:137
Definition: ControlPoint.h:36
bool sendRequest(HttpRequest *request)
Send a request.
Definition: DeviceControl.h:32
ControlPoint & controlPoint() const
Get managing control point for this device.
Definition: DeviceControl.h:92
Definition: Libraries/UPnP/src/include/Network/UPnP/Object.h:38
Class to manage URL instance.
Definition: Url.h:67
Definition: App.h:34
bool discover(UPnP::ControlPoint &controlPoint, Client::Discovered callback)
Describes device or service class.
Definition: ObjectClass.h:36