X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=plugins%2Fmedia%2Fmedia-rygel.h;h=951c6b8946475e8d139b1d2bb8fcd5c467d257ee;hb=39c2ebc125fcc694ac349ae196b62729c7f05037;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..951c6b89 100644 --- a/plugins/media/media-rygel.h +++ b/plugins/media/media-rygel.h @@ -2,18 +2,17 @@ * Copyright (C) 2016 "IoT.bzh" * Author "Manuel Bachmann" * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * http://www.apache.org/licenses/LICENSE-2.0 * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ #ifndef MEDIA_RYGEL_H @@ -22,13 +21,18 @@ /* --------------- MEDIA RYGEL DEFINITIONS ------------------ */ #include +#include #include +#include -#include "local-def.h" +#include "media-api.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,14 +40,29 @@ 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 void _rygel_device_cb (GUPnPControlPoint *, GUPnPDeviceProxy *, gpointer); -STATIC void _rygel_content_cb (GUPnPServiceProxy *, GUPnPServiceProxyAction *, gpointer); - -static gint handler_cb; -static unsigned int client_count = 0; -static struct dev_ctx **dev_ctx = NULL; +unsigned char _rygel_init (mediaCtxHandleT *); +void _rygel_free (mediaCtxHandleT *); +json_object* _rygel_list (mediaCtxHandleT *); +unsigned char _rygel_select (mediaCtxHandleT *, unsigned int); +unsigned char _rygel_upload (mediaCtxHandleT *ctx, const char *path, void (*oncompletion)(void*,int), void *closure); +unsigned char _rygel_do (mediaCtxHandleT *, State, char *); +char* _rygel_list_raw (dev_ctx_T *, unsigned int *); +char* _rygel_find_upload_id (dev_ctx_T *, char *); +char* _rygel_find_id_for_index (dev_ctx_T *, char *, unsigned int); +char* _rygel_find_metadata_for_id (dev_ctx_T *, char *); +char* _rygel_find_uri_for_metadata (dev_ctx_T *, char *); +unsigned char _rygel_start_uploading (dev_ctx_T *, char *, char *); +unsigned char _rygel_start_doing (dev_ctx_T *, char *, char *, State, char *); +unsigned char _rygel_find_av_transport (dev_ctx_T *); #endif /* MEDIA_RYGEL_H */