/*****************************************************************************
* Includes
*****************************************************************************/
-#include <stdlib.h> /* malloc(), free() */
#include <cybergarage/upnp/media/player/MediaPlayer.h>
vlc_module_end();
-
-/*****************************************************************************
- * Local structures
- *****************************************************************************/
-
-struct services_discovery_sys_t
-{
- playlist_item_t *p_node_one;
- playlist_item_t *p_node_cat;
-};
-
/*****************************************************************************
* Local prototypes
*****************************************************************************/
static int Open( vlc_object_t *p_this )
{
services_discovery_t *p_sd = ( services_discovery_t* )p_this;
- services_discovery_sys_t *p_sys = (services_discovery_sys_t *)
- malloc( sizeof( services_discovery_sys_t ) );
p_sd->pf_run = Run;
- p_sd->p_sys = p_sys;
- playlist_NodesPairCreate( pl_Get( p_sd ), _("Devices"),
- &p_sys->p_node_cat, &p_sys->p_node_one,
- VLC_TRUE );
+ services_discovery_SetLocalizedName( p_sd, _("Devices") );
+
return VLC_SUCCESS;
}
*****************************************************************************/
static void Close( vlc_object_t *p_this )
{
- services_discovery_t *p_sd = ( services_discovery_t* )p_this;
- services_discovery_sys_t *p_sys = p_sd->p_sys;
- playlist_t *p_playlist = pl_Yield( p_sd );
- playlist_NodeDelete( p_playlist, p_sys->p_node_one, VLC_TRUE,
- VLC_TRUE );
- playlist_NodeDelete( p_playlist, p_sys->p_node_cat, VLC_TRUE,
- VLC_TRUE );
- pl_Release();
- free( p_sys );
}
/*****************************************************************************
{
private:
services_discovery_t *p_sd;
- services_discovery_sys_t *p_sys;
Device *GetDeviceFromUSN( const string& usn )
{
playlist_item_t *FindDeviceNode( Device *dev )
{
- return playlist_ChildSearchName( p_sys->p_node, dev->getFriendlyName() );
+ return playlist_ChildSearchName( p_sd->p_cat, dev->getFriendlyName() );
}
playlist_item_t *FindDeviceNode( const string &usn )
public:
UPnPHandler( services_discovery_t *p_this )
- : p_sd( p_this ), p_sys( p_this->p_sys )
+ : p_sd( p_this )
{
addDeviceChangeListener( this );
addSearchResponseListener( this );
*/
char *str = strdup( dev->getFriendlyName( ) );
- p_item = playlist_NodeCreate( p_sys->p_playlist, str, p_sys->p_node_cat,0 );
+ p_item = playlist_NodeCreate( p_playlist, str, p_sd->p_cat, 0, NULL );
p_item->i_flags &= ~PLAYLIST_SKIP_FLAG;
msg_Dbg( p_sd, "device %s added", str );
free( str );
{
ItemNode *iNode = (ItemNode *)node;
input_item_t *p_input = input_ItemNew( p_sd, iNode->getResource(), title );
- playlist_BothAddInput( p_sys->p_playlist, p_input, p_parent,
+ playlist_BothAddInput( p_playlist, p_input, p_parent,
PLAYLIST_APPEND, PLAYLIST_END, NULL, NULL,
VLC_FALSE );
} else if ( node->isContainerNode() )
ContainerNode *conNode = (ContainerNode *)node;
char* p_name = strdup(title); /* See other comment on strdup */
- playlist_item_t* p_node = playlist_NodeCreate( p_sys->p_playlist,
- p_name, p_parent, 0 );
+ playlist_item_t* p_node = playlist_NodeCreate( p_playlist, p_name,
+ p_parent, 0, NULL );
free(p_name);
unsigned nContentNodes = conNode->getNContentNodes();
playlist_item_t *p_item = FindDeviceNode( dev );
if( p_item != NULL )
- playlist_NodeDelete( p_sys->p_playlist, p_item, VLC_TRUE, VLC_TRUE );
+ playlist_NodeDelete( p_playlist, p_item, VLC_TRUE, VLC_TRUE );
}