4#ifndef _Stroika_Frameworks_UPnP_GENA_Publisher_h_
5#define _Stroika_Frameworks_UPnP_GENA_Publisher_h_ 1
7#include "Stroika/Frameworks/StroikaPreComp.h"
13#include "Stroika/Foundation/Containers/Mapping.h"
14#include "Stroika/Foundation/IO/Network/Transfer/Connection.h"
18#include "Stroika/Frameworks/WebServer/Message.h"
26namespace Stroika::Frameworks::UPnP::GENA {
28 using Foundation::Characters::String;
29 using Foundation::Containers::Mapping;
30 using Foundation::IO::Network::URI;
97 static const Options kDefaultOptions;
128 unique_ptr<Rep_> fRep_;
131 inline const Publisher::Options Publisher::kDefaultOptions;
chrono::duration< double > DurationSeconds
chrono::duration<double> - a time span (length of time) measured in seconds, but high precision.
A Mapping uniquely associates two elements: a key and a value (use Assocation to allow multiple value...
The eventing of one UPnP service (UPnP Device Architecture 1.1, section 4): control points SUBSCRIBE ...
nonvirtual void Notify(const Mapping< String, String > &changed)
Send every subscriber these state variables' new values, by name.
nonvirtual void HandleRequest(WebServer::Message &m)
A SUBSCRIBE - a new subscription, or the renewal of one by its SID - or UNSUBSCRIBE,...
function< Foundation::IO::Network::Transfer::Connection::Ptr(const URI &to)> fConnectionFactory
How each NOTIFY gets its connection, given the callback URL it goes to - by default a new one,...
Foundation::Time::DurationSeconds fTimeout