58 PLT_ANNOUNCETYPE_BYEBYE,
59 PLT_ANNOUNCETYPE_ALIVE,
60 PLT_ANNOUNCETYPE_UPDATE
61 } PLT_SsdpAnnounceType;
89 virtual NPT_Result ProcessSsdpSearchResponse(NPT_Result res,
138 m_Device(device), m_RemoteAddr(remote_addr), m_ST(st) {}
162 m_Device(device), m_RemoteAddr(remote_addr), m_ST(st) {}
168 void DoRun()
override;
187 m_Device(device), m_Type(type), m_Broadcast(broadcast) {}
193 PLT_SsdpAnnounceType m_Type;
212 addr.ResolveName(
"239.255.255.250");
215 m_Socket->LeaveGroup(addr, if_addr);
216 return m_Socket->JoinGroup(addr, if_addr);
235 bool is_byebye_first =
false,
236 bool extra_broadcast =
false) :
239 m_IsByeByeFirst(is_byebye_first),
240 m_ExtraBroadcast(extra_broadcast) {}
246 void DoRun()
override;
251 bool m_IsByeByeFirst;
252 bool m_ExtraBroadcast;
270 if (!niaddr)
return NPT_FAILURE;
272 return (m_Ip.Compare((*niaddr).GetPrimaryAddress().ToString(),
true) == 0) ? NPT_SUCCESS : NPT_FAILURE;
291 m_Request(request), m_Context(context) {}
294 return listener->OnSsdpPacket(m_Request, m_Context);
318 #if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE 319 m_Socket->SetReadTimeout(10000);
325 m_Listeners.Add(listener);
331 m_Listeners.Remove(listener);
336 void DoAbort()
override;
373 void DoAbort()
override;
374 void DoRun()
override;
376 virtual NPT_Result ProcessResponse(NPT_Result res,
The PLT_NetworkInterfaceAddressSearchIterator class returns the network interface given an IP address...
Definition: PltSsdp.h:262
The PLT_SsdpDeviceAnnounceTask class is a task to send UPnP Device SSDP announcements (alive or byeby...
Definition: PltSsdp.h:230
Definition: NptNetwork.h:216
Definition: NptHttp.h:566
The PLT_SsdpInitMulticastIterator class is used to join a multicast group given a list of IP addresse...
Definition: PltSsdp.h:204
Definition: NptSockets.h:190
The PLT_SsdpAnnounceInterfaceIterator class is used to send SSDP announcements given a list of networ...
Definition: PltSsdp.h:183
The PLT_HttpServerSocketTask class is a task used for handling one or more HTTP requests from a clien...
Definition: PltHttpServerTask.h:59
Definition: NptHttp.h:315
Definition: NptHttp.h:282
Definition: NptHttp.h:241
The PLT_SsdpDeviceSearchResponseInterfaceIterator class looks for the best network interface to use t...
Definition: PltSsdp.h:132
The PLT_SsdpListenTask class is used to listen for incoming SSDP packets and keep track of a list of ...
Definition: PltSsdp.h:310
The PLT_SsdpPacketListenerIterator class iterates through a list of PLT_SsdpPacketListener instances ...
Definition: PltSsdp.h:286
Definition: NptThreads.h:76
Definition: NptNetwork.h:74
Definition: NptSockets.h:272
Definition: NptSockets.h:77
Definition: NptThreads.h:93
The PLT_SsdpDeviceSearchResponseTask class is used by a PLT_DeviceHost to respond to SSDP M-SEARCH re...
Definition: PltSsdp.h:156
The PLT_SsdpSearchResponseListener class is an interface for handling SSDP M-SEARCH responses...
Definition: PltSsdp.h:85
The PLT_SsdpPacketListener class is an interface for handling SSDP packets (M-SEARCH and NOTIFY)...
Definition: PltSsdp.h:70
Definition: NptSockets.h:115
UPnP Device Host.
Definition: PltDeviceHost.h:69
The PLT_SsdpSearchTask class is a task used by a PLT_CtrlPoint to issue a SSDP M-SEARCH request...
Definition: PltSsdp.h:361
Definition: NptSockets.h:243
The PLT_ThreadTask class is a base class for executing a given task in a worker thread.
Definition: PltThreadTask.h:56
Definition: NptStrings.h:57
The PLT_SsdpSender class provides a mechanism to format and send SSDP packets.
Definition: PltSsdp.h:100