Menu

#16 CgUpnpControlpoint deviceListener must provide extra params

open
nobody
None
5
2006-10-31
2006-10-31
No

CgUpnpControlpoint's deviceListener callback
(cg_upnp_controlpoint_setdevicelistener()) should
provide, at least, one extra callback parameter: the
control point instance that received the event.

Right now it just provide two parameters: "udn" (*) and
"state", which gives me no option but a global variable
with CgUpnpControlpoint, which is a bad thing.

Since control point can hold user data
(cg_upnp_controlpoint_setuserdata()), it may be ok to
have just "CgUpnpControlpoint" as extra parameter, but
having an extra "void *user_data" (possible with
user_data_free_func (void *)) would help.

(*) "udn" should not be modified inside the callback,
thus it should be marked as "const".

Discussion