X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=plugins%2Fmedia%2Fmedia-rygel.h;h=278881c08465a7c1c3475719455ce14562218267;hb=8449480d29d2e03d9094ddce82557b251deb6567;hp=37fa53c4e07b2c972811b2732f1f9b3428ae67ea;hpb=9c066241bc2c1195f1bee5c17b39b023d257bd9e;p=src%2Fapp-framework-binder.git diff --git a/plugins/media/media-rygel.h b/plugins/media/media-rygel.h index 37fa53c4..278881c0 100644 --- a/plugins/media/media-rygel.h +++ b/plugins/media/media-rygel.h @@ -23,12 +23,16 @@ #include #include +#include #include "local-def.h" -#define URN_MEDIA_SERVER "urn:schemas-upnp-org:device:MediaServer:1" -#define URN_CONTENT_DIR "urn:schemas-upnp-org:service:ContentDirectory" +#define URN_MEDIA_SERVER "urn:schemas-upnp-org:device:MediaServer:1" +#define URN_MEDIA_RENDERER "urn:schemas-upnp-org:device:MediaRenderer:1" +#define URN_CONTENT_DIR "urn:schemas-upnp-org:service:ContentDirectory" +#define URN_AV_TRANSPORT "urn:schemas-upnp-org:service:AVTransport" +typedef enum { PLAY, PAUSE, STOP, SEEK } State; typedef struct dev_ctx dev_ctx_T; struct dev_ctx { @@ -36,13 +40,33 @@ struct dev_ctx { GUPnPContext *context; GUPnPDeviceInfo *device_info; GUPnPServiceInfo *content_dir; + GUPnPServiceInfo *av_transport; char *content_res; + int content_num; + State state; + State target_state; + char *action_args; + char *transfer_path; + unsigned char transfer_started; }; +STATIC char* _rygel_list_raw (dev_ctx_T *, unsigned int *); +STATIC char* _rygel_find_upload_id (dev_ctx_T *, char *); +STATIC char* _rygel_find_id_for_index (dev_ctx_T *, char *, unsigned int); +STATIC char* _rygel_find_metadata_for_id (dev_ctx_T *, char *); +STATIC char* _rygel_find_uri_for_metadata (dev_ctx_T *, char *); +STATIC unsigned char _rygel_start_uploading (dev_ctx_T *, char *, char *); +STATIC unsigned char _rygel_start_doing (dev_ctx_T *, char *, char *, State, char *); +STATIC unsigned char _rygel_find_av_transport (dev_ctx_T *); STATIC void _rygel_device_cb (GUPnPControlPoint *, GUPnPDeviceProxy *, gpointer); +STATIC void _rygel_av_transport_cb (GUPnPControlPoint *, GUPnPDeviceProxy *, gpointer); STATIC void _rygel_content_cb (GUPnPServiceProxy *, GUPnPServiceProxyAction *, gpointer); +STATIC void _rygel_metadata_cb (GUPnPServiceProxy *, GUPnPServiceProxyAction *, gpointer); +STATIC void _rygel_select_cb (GUPnPServiceProxy *, GUPnPServiceProxyAction *, gpointer); +STATIC void _rygel_upload_cb (GUPnPServiceProxy *, GUPnPServiceProxyAction *, gpointer); +STATIC void _rygel_transfer_cb (GUPnPServiceProxy *, GUPnPServiceProxyAction *, gpointer); +STATIC void _rygel_do_cb (GUPnPServiceProxy *, GUPnPServiceProxyAction *, gpointer); -static gint handler_cb; static unsigned int client_count = 0; static struct dev_ctx **dev_ctx = NULL;