class MediaServerList;
class Item;
class Container;
+class Lockable;
// VLC handle
{
UpnpClient_Handle clientHandle;
MediaServerList* serverList;
+ Lockable* callbackLock;
};
// Class definitions...
// More prototypes...
-static Lockable* CallbackLock;
static int Callback( Upnp_EventType eventType, void* event, void* user_data );
const char* xml_getChildElementValue( IXML_Element* parent,
}
p_sys->serverList = new MediaServerList( p_sd );
- CallbackLock = new Lockable();
+ p_sys->callbackLock = new Lockable();
res = UpnpRegisterClient( Callback, p_sys, &p_sys->clientHandle );
if( res != UPNP_E_SUCCESS )
UpnpFinish();
delete p_sd->p_sys->serverList;
- delete CallbackLock;
+ delete p_sd->p_sys->callbackLock;
free( p_sd->p_sys );
}
// Handles all UPnP events
static int Callback( Upnp_EventType eventType, void* event, void* user_data )
{
- Locker locker( CallbackLock );
-
services_discovery_t *p_sd = ( services_discovery_t* ) user_data;
services_discovery_sys_t* p_sys = p_sd->p_sys;
+ Locker locker( p_sys->callbackLock );
switch( eventType ) {