4#ifndef _Stroika_Frameworks_UPnP_SSDP_Client_Search_h_
5#define _Stroika_Frameworks_UPnP_SSDP_Client_Search_h_ 1
7#include "Stroika/Frameworks/StroikaPreComp.h"
11#include "Stroika/Foundation/IO/Network/InternetProtocol/IP.h"
13#include "Stroika/Frameworks/UPnP/Device.h"
36namespace Stroika::Frameworks::UPnP::SSDP::Client {
46 Search (
const function<
void (
const SSDP::Advertisement& d)>& callOnFinds,
48 Search (
const function<
void (
const SSDP::Advertisement& d)>& callOnFinds,
const String& initialSearch,
50 Search (
const function<
void (
const SSDP::Advertisement& d)>& callOnFinds,
const String& initialSearch,
51 const optional<Time::Duration>& autoRetryInterval,
53 Search (Search&&) =
default;
54 Search (
const Search&) =
delete;
63 nonvirtual
const Search& operator= (
const Search&) =
delete;
72 void AddOnFoundCallback (
const function<
void (
const SSDP::Advertisement& d)>& callOnFinds);
78 static const String kSSDPAny;
84 static const String kRootDevice;
119 nonvirtual
void Start (
const String& serviceType,
const optional<Time::Duration>& autoRetryInterval = nullopt);
126 nonvirtual
void Stop ();
130 shared_ptr<Rep_> fRep_;
CONTAINER::value_type * Start(CONTAINER &c)
For a contiguous container (such as a vector or basic_string) - find the pointer to the start of the ...