diff options
author | Matt Ranostay <matt.ranostay@konsulko.com> | 2017-09-05 13:22:28 -0700 |
---|---|---|
committer | Matt Ranostay <matt.ranostay@konsulko.com> | 2017-09-06 13:26:58 -0700 |
commit | f2a2eefabf1252301070f249f2249758e648f5bf (patch) | |
tree | 95efc1c869a8190929b8745ec972298988770df1 /binding/media-manager.h | |
parent | 59a0665fe77d2b6ef155e84bce4333e555dce0dc (diff) |
binding: media: add binding to its own repo
Initial commit for agl-service-media repo.
This change enables cmake builds, and it being a standalone
binding independent of the MediaPlayer application.
Bug-AGL: SPEC-848
Change-Id: I1234c0d0dde4379b5697cc3fe3e16e27f8b73a7c
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Diffstat (limited to 'binding/media-manager.h')
-rw-r--r-- | binding/media-manager.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/binding/media-manager.h b/binding/media-manager.h new file mode 100644 index 0000000..34d87e1 --- /dev/null +++ b/binding/media-manager.h @@ -0,0 +1,103 @@ +/* + * Copyright 2017 Konsulko Group + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * 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 MEDIAPLAYER_MANAGER_H +#define MEDIAPLAYER_MANAGER_H + +#include <glib.h> +#include <gio/gio.h> +#include <glib-object.h> + +#include "gdbus/lightmediascanner_interface.h" + + /* Debug Trace Level */ +#define DT_LEVEL_ERROR (1 << 1) +#define DT_LEVEL_WARNING (1 << 2) +#define DT_LEVEL_NOTICE (1 << 3) +#define DT_LEVEL_INFO (1 << 4) +#define DT_LEVEL_DEBUG (1 << 5) +//#define _DEBUG + +#define LOGE(fmt, args...) \ + DebugTraceSendMsg(DT_LEVEL_ERROR, g_strdup_printf("[%d:%s]" fmt, __LINE__, __FUNCTION__, ## args)) +#define LOGW(fmt, args...) \ + DebugTraceSendMsg(DT_LEVEL_WARNING, g_strdup_printf("[%d:%s]" fmt, __LINE__, __FUNCTION__, ## args)) +#define LOGN(fmt, args...) \ + DebugTraceSendMsg(DT_LEVEL_NOTICE, g_strdup_printf("[%d:%s]" fmt, __LINE__, __FUNCTION__, ## args)) +#define LOGI(fmt, args...) \ + DebugTraceSendMsg(DT_LEVEL_INFO, g_strdup_printf("[%d:%s]" fmt, __LINE__, __FUNCTION__, ## args)) +#define LOGD(fmt, args...) \ + DebugTraceSendMsg(DT_LEVEL_DEBUG, g_strdup_printf("[%d:%s]" fmt, __LINE__, __FUNCTION__, ## args)) + +#ifdef _DEBUG + #define _DEBUG_PRINT_DBUS + #define LOCAL_PRINT_DEBUG +#endif + +#ifdef LOCAL_PRINT_DEBUG +#define D_PRINTF(fmt, args...) \ + g_print("[DEBUG][%d:%s]"fmt, __LINE__, __FUNCTION__, ## args) +#define D_PRINTF_RAW(fmt, args...) \ + g_print(""fmt, ## args) +#else +#define D_PRINTF(fmt, args...) +#define D_PRINTF_RAW(fmt, args...) +#endif /* ifdef _DEBUG */ + +void DebugTraceSendMsg(int level, gchar* message); + +//service +#define AGENT_SERVICE "org.agent" + +//remote service +#define LIGHTMEDIASCANNER_SERVICE "org.lightmediascanner" + +//object path +#define LIGHTMEDIASCANNER_PATH "/org/lightmediascanner/Scanner1" + +//interface +#define LIGHTMEDIASCANNER_INTERFACE "org.lightmediascanner.Scanner1" +#define UDISKS_INTERFACE "org.freedesktop.UDisks" +#define FREEDESKTOP_PROPERTIES "org.freedesktop.DBus.Properties" + +//sqlite +#define SQL_QUERY "SELECT files.path FROM files LEFT JOIN audios " \ + "WHERE audios.id = files.id ORDER BY " \ + "audios.artist_id, audios.album_id, audios.trackno" + +typedef struct { + GList *list; + GMutex m; + Scanner1 *lms_proxy; +} stMediaPlayerManage; + +typedef struct tagBinding_RegisterCallback +{ + void (*binding_device_added)(GList *list); + void (*binding_device_removed)(const char *obj_path); +} Binding_RegisterCallback_t; + +/* ------ PUBLIC PLUGIN FUNCTIONS --------- */ +void BindingAPIRegister(const Binding_RegisterCallback_t* pstRegisterCallback); +int MediaPlayerManagerInit(void); + +void ListLock(); +void ListUnlock(); + +GList* media_lightmediascanner_scan(void); +GList* media_local_scan(GList *list); + +#endif |