upnp.c File Reference

#include <gtk/gtk.h>
#include <cybergarage/util/cstring.h>
#include <cybergarage/contentdirectory/ccontentdirectory.h>
#include <cybergarage/contentdirectory/ccdscontrolpoint.h>
#include <cybergarage/contentdirectory/cdidllite.h>
#include <cybergarage/renderingcontrol/crcscontrolpoint.h>
#include <cybergarage/avtransport/cavtcontrolpoint.h>
#include <cybergarage/avdebug.h>
#include <cybergarage/avcontrol/cavcontrolpoint.h>
#include "upnp.h"
#include "interface.h"
#include "now_playing.h"
#include "browser.h"
#include "helper.h"

Functions

int init_upnp_controlpoint ()
int destroy_upnp_controlpoint ()
BOOL get_upnp_content_directory (GtkTreeStore *model, GtkTreeIter *parent, gchar *udn, gchar *parent_id)
BOOL parse_didllite_nodelist_to_model (GtkTreeStore *model, GtkTreeIter *parent, CgXmlNodeList *nodelist, gchar *udn)
BOOL parse_didllite_node_to_model (GtkTreeStore *model, GtkTreeIter *iter, CgXmlNode *node)
void update_remote_now_playing_text (GtkTextBuffer *buffer, gchar *renderer_udn)
void insert_remote_transport_state (GtkTextBuffer *buffer, GtkTextIter *text_iter, char *state)
gboolean get_track_name_from_cds (gchar *uri, gchar **name)
gboolean play_remote_media (gchar *udn, gchar *uri, gchar *media_class, gchar *objectID, gchar *srv_udn)
gboolean get_meta_data (CgUpnpDevice *device, gchar *id, gchar **metaData)
gboolean stop_remote_media (gchar *udn)
gboolean pause_remote_media (gchar *udn)
gboolean next_remote_media (gchar *udn)
gboolean previous_remote_media (gchar *udn)
gboolean get_remote_mute (gchar *udn, gboolean *mute)
gboolean mute_remote_media (gchar *udn, gboolean mute)
gboolean increase_remote_volume (gchar *udn)
gboolean decrease_remote_volume (gchar *udn)
gboolean get_remote_renderer_presets (gchar *udn, gchar **presets)
void seek_remote_media (gchar *udn, long seekto)
gboolean device_hasaction (gchar *udn, gchar *serviceType, gchar *actionName)
gboolean add_device_idle (gpointer user_data)
gboolean remove_device_idle (gpointer user_data)
void device_listener (char *udn, CgUpnpDeviceStatus status)
void remove_device (gchar *udn)
void add_device (gchar *udn)
void add_cds_device (gchar *name, gchar *udn, GtkTreeStore *store)
void add_renderer_device (gchar *name, gchar *udn, GtkListStore *store)

Variables

UPnPBrowserWidgetswidgets

Function Documentation

void add_cds_device gchar *  name,
gchar *  udn,
GtkTreeStore *  store
 

Add a device to the list of CDS devices.

Parameters:
dev The UPnP device to add
store The GtkTreeStore to manipulate

void add_device gchar *  udn  ) 
 

Add a device either to CDS servers or renderers

Parameters:
udn The UDN of the device to add

gboolean add_device_idle gpointer  user_data  ) 
 

void add_renderer_device gchar *  name,
gchar *  udn,
GtkListStore *  store
 

Add the device to the list of renderers.

Parameters:
dev The device to add
store The GtkListStore to manipulate

gboolean decrease_remote_volume gchar *  udn  ) 
 

Decrease volume on a remote media renderer

Parameters:
udn The UDN of the UPnP renderer device

int destroy_upnp_controlpoint  ) 
 

Stop a control point and destroy it.

gboolean device_hasaction gchar *  udn,
gchar *  serviceType,
gchar *  actionName
 

Check, whether a UPnP device supports a certain action

Parameters:
udn The UDN of the device to check
serviceType Type of the service to look for from the device
actionName Name of the action to look for from the service

void device_listener char *  udn,
CgUpnpDeviceStatus  status
 

Device listener callback that is called by the clinkc stack whenever a device leaves or enters the network.

Parameters:
udn The UDN of the device entering/leaving the network
status The device's new status

gboolean get_meta_data CgUpnpDevice *  device,
gchar *  id,
gchar **  metaData
 

gboolean get_remote_mute gchar *  udn,
gboolean *  mute
 

Check, whether the remote server is muted

Parameters:
udn The UDN of the UPnP renderer device
mute The renderer's mute status
Returns:
TRUE if successful; otherwise FALSE

gboolean get_remote_renderer_presets gchar *  udn,
gchar **  presets
 

Get remote renderer presets

Parameters:
udn The UDN of the UPnP renderer device
presets A comma-separated-value of available presets

gboolean get_track_name_from_cds gchar *  uri,
gchar **  name
 

Fetch the track name from a CDS service using the resource's URI

Parameters:
uri The URI of the resource
name The "friendly" name of the resource pointed by uri

BOOL get_upnp_content_directory GtkTreeStore *  model,
GtkTreeIter *  parent,
gchar *  udn,
gchar *  parent_id
 

Get CDS contents from given depth in device and put them under the given node in the tree model.

Parameters:
model The model that is to contain the device structure
parent Parent device tree node
udn UDN of the device, whose CDS services to add
parent_id ID of the container parent
Returns:
TRUE if successful; otherwise false

gboolean increase_remote_volume gchar *  udn  ) 
 

Increase volume on a remote media renderer

Parameters:
udn The UDN of the UPnP renderer device

int init_upnp_controlpoint void   ) 
 

Create a control point and start it.

void insert_remote_transport_state GtkTextBuffer *  buffer,
GtkTextIter *  text_iter,
char *  state
 

Insert remote transport state to text buffer

Parameters:
buffer The text buffer to insert state to
text_iter Insert point in the buffer
state UPnP transport state string

gboolean mute_remote_media gchar *  udn,
gboolean  mute
 

Un/Mute a remote media renderer

Parameters:
udn The UDN of the UPnP renderer device
mute TRUE to mute; FALSE to unmute the device

gboolean next_remote_media gchar *  udn  ) 
 

Skip to the next remote media

Parameters:
udn The UDN of the UPnP renderer device

BOOL parse_didllite_node_to_model GtkTreeStore *  model,
GtkTreeIter *  iter,
CgXmlNode *  node
 

Parse the children of one DIDL node to the given tree item

Parameters:
model The tree model to update
iter A TreeIter iterator pointing to a tree node
node The DIDL node, whose children to parse
Returns:
TRUE if successful; otherwise false

BOOL parse_didllite_nodelist_to_model GtkTreeStore *  model,
GtkTreeIter *  parent,
CgXmlNodeList *  nodelist,
gchar *  udn
 

Put content from CDS under the given node in the tree model.

Parameters:
model The model that is to contain the CDS structure
parent Parent service tree node
nodelist XML representation of the contents
udn The UDN of the device
Returns:
TRUE if successful; otherwise false

gboolean pause_remote_media gchar *  udn  ) 
 

Pause playing remote media

Parameters:
udn The UDN of the UPnP renderer device

gboolean play_remote_media gchar *  udn,
gchar *  uri,
gchar *  media_class,
gchar *  objectID,
gchar *  srv_udn
 

Start playing media in a remote renderer device

Parameters:
udn The UDN of the UPnP renderer device
uri The URI of the selected media
media_class The class of the media
objectID The object ID of the media to be played
srv_udn UDN of the content server (for metadata extraction)

gboolean previous_remote_media gchar *  udn  ) 
 

Skip to the previous remote media

Parameters:
udn The UDN of the UPnP renderer device

void remove_device gchar *  udn  ) 
 

Remove a device from CDS or renderer models

Parameters:
udn The UDN of the device to remove

gboolean remove_device_idle gpointer  user_data  ) 
 

void seek_remote_media gchar *  udn,
long  seekto
 

Seek remote media to the given position

Parameters:
udn The UDN of the renderer device
seekto Seek to this position

gboolean stop_remote_media gchar *  udn  ) 
 

Stop playing remote media

Parameters:
udn The UDN of the UPnP renderer device

void update_remote_now_playing_text GtkTextBuffer *  buffer,
gchar *  renderer_udn
 

Update the text displayed in the "Now Playing" area from a remote renderer device

Parameters:
buffer The GtkTextBuffer* to update
renderer_udn The UDN of the renderer device


Variable Documentation

UPnPBrowserWidgets* widgets
 

Global struct that holds the application widgets


Generated on Mon Aug 14 10:23:34 2006 for CyberLinkC-AV by  doxygen 1.4.6