apply the CBaseApp 61/34961/1
authorMinkyu Kang <mk7.kang@samsung.com>
Wed, 4 Feb 2015 00:57:27 +0000 (09:57 +0900)
committerMinkyu Kang <mk7.kang@samsung.com>
Wed, 4 Feb 2015 00:57:27 +0000 (09:57 +0900)
Change-Id: Ia016c97aab30647d7197a1a3cd576425aa45ad94
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
CMakeLists.txt
packaging/org.tizen.video-player-tv-ref.spec
src/main.cpp

index db02d90..b6d9520 100644 (file)
@@ -28,6 +28,7 @@ pkg_check_modules(PKGS REQUIRED
                utilX
                x11
                vconf
+               application-common
                mm-player
                capi-media-player
                capi-media-sound-manager
index 41d5239..f63d2b4 100644 (file)
@@ -21,6 +21,7 @@ BuildRequires: pkgconfig(mm-player)
 BuildRequires: pkgconfig(utilX)
 BuildRequires: pkgconfig(x11)
 BuildRequires: pkgconfig(vconf)
+BuildRequires: pkgconfig(application-common)
 BuildRequires: gettext-devel
 BuildRequires: edje-bin
 
index 8e9c67c..e1ae43b 100644 (file)
 #include <app.h>
 #include <Elementary.h>
 #include <dbg.h>
+#include <AppCommon.h>
+#include <BaseApp.h>
 #include "define.h"
 #include "view_player.h"
 #include "i18n.h"
 
+#define WIN_TITLE "Video Player"
 #define PARAM_URI "uri"
 #define PARAM_PLAYLIST_ID "playlist_id"
 
-struct _appdata {
+struct SAppData {
        const char *name;
        Evas_Object *win;
+       viewdata *vdata;
+};
 
-       struct viewdata *vdata;
+class CVideoPlayerApp : public CBaseApp {
+private:
+       SAppData *m_pApp;
+
+private:
+       static Evas_Object *sm_AddWin(const char *name);
+
+public:
+       CVideoPlayerApp(void);
+       virtual ~CVideoPlayerApp(void);
+       virtual bool OnCreate(void);
+       virtual void OnPause(void);
+       virtual void OnResume(void);
+       virtual void OnTerminate(void);
+       virtual void OnService(service_h service);
+       virtual int Run(int argc, char **argv);
 };
 
-static Evas_Object *_add_win(const char *name)
+CVideoPlayerApp::CVideoPlayerApp(void)
+{
+       m_pApp = new SAppData;
+}
+
+CVideoPlayerApp::~CVideoPlayerApp(void)
+{
+       delete m_pApp;
+       m_pApp = NULL;
+}
+
+Evas_Object *CVideoPlayerApp::sm_AddWin(const char *name)
 {
        Evas_Object *win;
        Evas_Object *obj;
@@ -44,7 +75,7 @@ static Evas_Object *_add_win(const char *name)
        if (!win)
                return NULL;
 
-       elm_win_title_set(win, "Video player");
+       elm_win_title_set(win, WIN_TITLE);
 
        evas_object_show(win);
 
@@ -58,88 +89,69 @@ static Evas_Object *_add_win(const char *name)
        return win;
 }
 
-static bool _create(void *user_data)
+bool CVideoPlayerApp::OnCreate(void)
 {
-       struct _appdata *ad;
-       Evas_Object *win;
+       ASSERT(m_pApp);
 
-       if (!user_data)
-               return false;
-
-       ad = (_appdata *)user_data;
+       Evas_Object *win;
 
        elm_theme_overlay_add(NULL, THEMEFILE);
        elm_config_focus_move_policy_set(ELM_FOCUS_MOVE_POLICY_CLICK);
 
-       win = _add_win(ad->name);
-       if (!win)
+       win = sm_AddWin(m_pApp->name);
+       if (!win) {
+               _ERR("failed to add window");
                return false;
-
-       ad->win = win;
+       }
 
        elm_win_focus_highlight_enabled_set(win, EINA_TRUE);
        elm_win_focus_highlight_style_set(win, STYLE_INVISIBLE);
 
+       m_pApp->win = win;
+
        return true;
 }
 
-static void _terminate(void *user_data)
+void CVideoPlayerApp::OnTerminate(void)
 {
-       struct _appdata *ad;
-
-       if (!user_data)
-               return;
+       ASSERT(m_pApp);
 
-       ad = (_appdata *)user_data;
+       if (m_pApp->vdata)
+               view_player_fini(m_pApp->vdata);
 
-       view_player_fini(ad->vdata);
+       if (m_pApp->win)
+               evas_object_del(m_pApp->win);
 }
 
-static void _pause(void *user_data)
+void CVideoPlayerApp::OnPause(void)
 {
-       struct _appdata *ad;
+       ASSERT(m_pApp);
 
-       if (!user_data) {
-               _ERR("App Data is NULL");
-               return;
-       }
-
-       ad = (_appdata *)user_data;
-       if (!ad->vdata)
+       if (!m_pApp->vdata)
                return;
 
-       view_player_pause(ad->vdata);
+       view_player_pause(m_pApp->vdata);
 }
 
-static void _resume(void *user_data)
+void CVideoPlayerApp::OnResume(void)
 {
-       struct _appdata *ad;
-
-       if (!user_data) {
-               _ERR("App Data is NULL");
-               return;
-       }
+       ASSERT(m_pApp);
 
-       ad = (_appdata *)user_data;
-       if (!ad->vdata)
+       if (!m_pApp->vdata)
                return;
 
-       view_player_resume(ad->vdata);
+       view_player_resume(m_pApp->vdata);
 }
 
-static void _service(service_h service, void *user_data)
+void CVideoPlayerApp::OnService(service_h service)
 {
-       struct _appdata *ad;
-       struct viewdata *vdata;
+       ASSERT(m_pApp);
+
+       viewdata *vdata;
        char *uri;
        char *playlist_id;
        int r;
 
-       if (!user_data)
-               return;
-
-       ad = (_appdata *)user_data;
-
        r = service_get_extra_data(service, PARAM_URI, &uri);
        if (r != SERVICE_ERROR_NONE)
                uri = NULL;
@@ -148,7 +160,7 @@ static void _service(service_h service, void *user_data)
        if (r != SERVICE_ERROR_NONE)
                playlist_id = NULL;
 
-       vdata = view_player_init(ad->win, uri, playlist_id);
+       vdata = view_player_init(m_pApp->win, uri, playlist_id);
 
        free(uri);
        free(playlist_id);
@@ -159,33 +171,23 @@ static void _service(service_h service, void *user_data)
        if (view_player_create(vdata) == -1)
                elm_exit();
 
-       ad->vdata = vdata;
+       m_pApp->vdata = vdata;
+}
+
+int CVideoPlayerApp::Run(int argc, char **argv)
+{
+       ASSERT(m_pApp);
+
+       m_pApp->name = PACKAGE;
+
+       return CBaseApp::Run(argc, argv);
 }
 
 int main(int argc, char **argv)
 {
-       struct _appdata ad;
-       app_event_callback_s cbs = {
-               .create = _create,
-               .terminate = _terminate,
-               .pause = _pause,
-               .resume = _resume,
-               .service = _service,
-       };
-
-       memset(&ad, 0x00, sizeof(ad));
-       ad.name = PACKAGE;
-
-       memset(&cbs, 0x00, sizeof(cbs));
-       cbs.create = _create;
-       cbs.terminate = _terminate;
-       cbs.pause = _pause;
-       cbs.resume = _resume;
-       cbs.service = _service;
-
-       i18n_init();
-
-       app_efl_main(&argc, &argv, &cbs, &ad);
+       CVideoPlayerApp app;
+
+       app.Run(argc, argv);
 
        return 0;
 }