Returning the SID in Upnp_Event_Subscribe.

Currently, Upnp_Event_Subscribe always contains an empty chain in the
Sid parameter. This patch now saves the client Subscription ID in this
parameter so Control Points can see and use the same SID in the
Upnp_Event_Subscribe and in the Upnp_Event structures.
This commit is contained in:
Fabrice Fontaine 2010-11-23 10:51:22 +01:00 committed by Marcelo Roberto Jimenez
parent 25641ac51a
commit 86783f0329
2 changed files with 12 additions and 1 deletions

View File

@ -237,6 +237,15 @@ Version 1.8.0
Version 1.6.10
*******************************************************************************
2010-11-23 Fabrice Fontaine <fabrice.fontaine(at)orange-ftgroup.com>
Returning the Sid in Upnp_Event_Subscribe.
Currently, Upnp_Event_Subscribe always contains an empty chain in the
Sid parameter. This patch now saves the client Subscription ID in this
parameter so Control Points can see and use the same SID in the
Upnp_Event_Subscribe and in the Upnp_Event structures.
2010-11-22 Marcelo Roberto Jimenez <mroberto(at)users.sourceforge.net>
Two fixes from Juergen Lock <nox(at)jelal.kn-bremen.de>:

View File

@ -3318,7 +3318,7 @@ void UpnpThreadDistribution(struct UpnpNonblockParam *Param)
case SUBSCRIBE: {
UpnpEventSubscribe *evt = UpnpEventSubscribe_new();
/* Cast away constness */
UpnpString *Sid = (UpnpString *)UpnpEventSubscribe_get_SID(evt);
UpnpString *Sid = UpnpString_new();
UpnpEventSubscribe_strcpy_PublisherUrl(evt, Param->Url);
errCode = genaSubscribe(
@ -3328,7 +3328,9 @@ void UpnpThreadDistribution(struct UpnpNonblockParam *Param)
Sid);
UpnpEventSubscribe_set_ErrCode(evt, errCode);
UpnpEventSubscribe_set_TimeOut(evt, Param->TimeOut);
UpnpEventSubscribe_set_SID(evt, Sid);
Param->Fun(UPNP_EVENT_SUBSCRIBE_COMPLETE, evt, Param->Cookie);
UpnpString_delete(Sid);
UpnpEventSubscribe_delete(evt);
free(Param);
break;