X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging%2Fsoundmanager.git;a=blobdiff_plain;f=sample%2Fmediaplayer%2Fbinding%2Fmediaplayer-manager.h;fp=sample%2Fmediaplayer%2Fbinding%2Fmediaplayer-manager.h;h=5864867a30ec79be58c56340a462cbec2490777c;hp=0000000000000000000000000000000000000000;hb=2e602801b372b0b68111316b89f567213e3ea378;hpb=f743c3428f41b8d127e538ea8a6505a0c882cdb2 diff --git a/sample/mediaplayer/binding/mediaplayer-manager.h b/sample/mediaplayer/binding/mediaplayer-manager.h new file mode 100644 index 0000000..5864867 --- /dev/null +++ b/sample/mediaplayer/binding/mediaplayer-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 +#include +#include + +#include "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