Addapt to tizen common profile. Change from UG to APP 36/26736/1
authorJanusz Kozerski <j.kozerski@samsung.com>
Thu, 12 Jun 2014 14:31:23 +0000 (16:31 +0200)
committerJanusz Kozerski <j.kozerski@samsung.com>
Thu, 28 Aug 2014 11:28:32 +0000 (13:28 +0200)
Change-Id: I307a9e2187ec769cdcc8652d52ce1c1cb371b236
Signed-off-by: Janusz Kozerski <j.kozerski@samsung.com>
CMakeLists.txt
include/im-uigadget.h
packaging/im-ui.spec
src/CMakeLists.txt
src/im-common.c
src/im-compromised-list.c
src/im-get-policy.c
src/im-get-xattrs.c
src/im-main-menu.c
src/im-uigadget.c [changed mode: 0755->0644]

index db4c631..68cf2b5 100644 (file)
@@ -6,6 +6,7 @@ INCLUDE(FindPkgConfig)
 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
 SET(PKGNAME "lib${PROJECT_NAME}")
 SET(LIBDIR "${PREFIX}/lib")
+SET(BINDIR "${PREFIX}/bin")
 SET(RESDIR "${PREFIX}/res")
 SET(LOCALEDIR "${RESDIR}/locale")
 
@@ -30,7 +31,8 @@ IF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
     ADD_DEFINITIONS("-DBUILD_TYPE_DEBUG")
 ENDIF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
 
-SET(TARGET_IM_UIGADGET "ug-im-ui")
+#SET(TARGET_IM_UIGADGET "ug-im-ui")
+SET(TARGET_IM_UIGADGET "im-ui")
 
 #${CMAKE_SOURCE_DIR}/packaging/im-ui.spec
 INSTALL(FILES
@@ -39,6 +41,11 @@ INSTALL(FILES
     /usr/share
 )
 
+# desktop icon (copied from calculator app)
+set(PREFIX ${CMAKE_INSTALL_PREFIX})
+install(FILES ${CMAKE_SOURCE_DIR}/org.tizen.im-ui.xml DESTINATION /usr/share/packages)
+install(FILES ${CMAKE_SOURCE_DIR}/org.tizen.im-ui.png DESTINATION /usr/share/icons/default/small)
+
 # i18n
 ADD_SUBDIRECTORY(po)
 
index ccfcf36..7d5886f 100644 (file)
 #define __IM_UIGADGET_H__
 
 #include <app.h>
-#include <dlog.h>
-#include <efl_assist.h>
+//#include <dlog.h>
+//#include <efl_assist.h>
 #include <Elementary.h>
-#include <ui-gadget.h>
-#include <ui-gadget-module.h>
+//#include <ui-gadget.h>
+//#include <ui-gadget-module.h>
 #include <glib.h>
 
+#define LOGD printf
+#define LOGE printf
+
 #ifndef PACKAGE
-#define PACKAGE "ug-im-ui"
+//#define PACKAGE "ug-im-ui"
+#define PACKAGE "im-ui"
 #endif
 
 #ifndef LOCALEDIR
@@ -44,7 +48,7 @@ struct ug_data {
     Evas_Object         *bg;
     Evas_Object         *layout_main;
     Evas_Object         *navi_bar;
-    ui_gadget_h         ug;
+//    ui_gadget_h         ug;
     Evas_Object         *popup;
     char                *popup_content;
     Elm_Theme           *theme;
@@ -52,12 +56,12 @@ struct ug_data {
     const char          *fileselector_default_path;
 };
 
-#ifdef LOG_TAG
-    #undef LOG_TAG
-#endif
-
-#ifndef LOG_TAG
-    #define LOG_TAG "IM_UIGADGET"
-#endif
+//#ifdef LOG_TAG
+//    #undef LOG_TAG
+//#endif
+//
+//#ifndef LOG_TAG
+//    #define LOG_TAG "IM_UIGADGET"
+//#endif
 
 #endif /* __IM_UIGADGET_H__ */
index 5909cb0..dcf65bb 100644 (file)
@@ -2,7 +2,7 @@ Name:    im-ui
 Summary: Integrity Management UI
 Version: 0.0.1
 Release: 1
-Group:   System/Libraries
+Group:   tizen/Application
 License: Apache License, Version 2.0
 Source0: %{name}-%{version}.tar.gz
 Source1: %{name}.manifest
@@ -20,7 +20,7 @@ BuildRequires: pkgconfig(appcore-efl)
 BuildRequires: pkgconfig(appsvc)
 BuildRequires: pkgconfig(capi-appfw-application)
 BuildRequires: pkgconfig(edje)
-BuildRequires: pkgconfig(efl-assist)
+#BuildRequires: pkgconfig(efl-assist)
 BuildRequires: pkgconfig(eina)
 BuildRequires: pkgconfig(elementary)
 BuildRequires: pkgconfig(evas)
@@ -35,7 +35,8 @@ Tizen Integrity Management UI
 %prep
 %setup -q
 
-%define _ugdir /usr/ug
+#%define _ugdir /usr/ug
+%define _ugdir /usr
 
 %build
 %{!?build_type:%define build_type "Release"}
@@ -62,5 +63,6 @@ rm -rf %{buildroot}
 %manifest %{_datadir}/im-ui.manifest
 %{_datadir}/license/%{name}
 %{_ugdir}/res/locale/*/LC_MESSAGES/*
-%{_ugdir}/lib/*so*
-
+%{_ugdir}/bin/*
+/usr/share/icons/default/small/org.tizen.im-ui.png
+/usr/share/packages/org.tizen.im-ui.xml
index 4b3be8a..0bcf0e9 100644 (file)
@@ -3,7 +3,7 @@ pkg_check_modules(im-uigadget_pkgs
      elementary
      ui-gadget-1
      evas
-     efl-assist
+     #efl-assist
      dlog
      #libima
 )
@@ -28,7 +28,8 @@ INCLUDE_DIRECTORIES(SYSTEM
     ${im-uigadget_pkgs_INCLUDE_DIRS}
 )
 
-ADD_LIBRARY(${TARGET_IM_UIGADGET} SHARED ${SRCS})
+#ADD_LIBRARY(${TARGET_IM_UIGADGET} SHARED ${SRCS})
+ADD_EXECUTABLE(${TARGET_IM_UIGADGET} ${SRCS})
 
 TARGET_LINK_LIBRARIES(${TARGET_IM_UIGADGET}
     ${im-uigadget_pkgs_LIBRARIES}
@@ -39,5 +40,6 @@ TARGET_LINK_LIBRARIES(${TARGET_IM_UIGADGET}
 INSTALL(TARGETS
     ${TARGET_IM_UIGADGET}
     DESTINATION
-    ${LIBDIR}
+    #${LIBDIR}
+    ${BINDIR}
 )
index 97c9299..5590e3c 100644 (file)
@@ -78,7 +78,7 @@ static void _fs_done(void *data, Evas_Object *obj, void *event_info)
 
     struct ug_data *ad = (struct ug_data*) data;
 
-    LOGD("Path returned by file selector: %s", event_info);
+    LOGD("Path returned by file selector: %s", (char *) event_info);
     // event_info contains (char*) full path to the selected file or NULL if Cancel button was pushed
     const char *path = _fix_file_path((const char* const) event_info);
     LOGD("Fixed path                    : %s", path);
@@ -106,13 +106,15 @@ Eina_Bool quit_cb(void *data, Elm_Object_Item *it)
 {
     LOGD("Enter function: %s", __func__);
     (void)it;
+    (void)data;
 
-    struct ug_data *ad = (struct ug_data*) data;
-
-    if (ad->ug) {
-        ug_destroy_me(ad->ug);
-        ad->ug = NULL;
-    }
+//    struct ug_data *ad = (struct ug_data*) data;
+//
+//    if (ad->ug) {
+//        ug_destroy_me(ad->ug);
+//        ad->ug = NULL;
+//    }
+    elm_exit();
 
     return EINA_TRUE;
 }
@@ -152,8 +154,8 @@ void show_file_selector(struct ug_data *ad, const char* const window_title)
     elm_naviframe_item_pop_cb_set(nf_it, NULL, NULL);
 
     elm_naviframe_prev_btn_auto_pushed_set(ad->navi_bar, EINA_FALSE);
-    ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_BACK, ea_naviframe_back_cb, NULL);
-    ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_MORE, ea_naviframe_more_cb, NULL);
+    //ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_BACK, ea_naviframe_back_cb, NULL);
+    //ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_MORE, ea_naviframe_more_cb, NULL);
 }
 
 void create_ok_popup(struct ug_data *ad)
@@ -187,7 +189,7 @@ void create_ok_popup(struct ug_data *ad)
 
     elm_object_part_content_set(ad->popup, "button1", btn_ok);
 
-    ea_object_event_callback_add(ad->popup, EA_CALLBACK_BACK, _pop_response_ok_cb, ad);
+    //ea_object_event_callback_add(ad->popup, EA_CALLBACK_BACK, _pop_response_ok_cb, ad);
 
     evas_object_show(ad->popup);
 
index 2b91581..5d79b6d 100644 (file)
@@ -312,6 +312,6 @@ void im_compromised_list_cb(void *data, Evas_Object *obj, void *event_info)
     elm_naviframe_item_pop_cb_set(nf_it, NULL, NULL);
 
     elm_naviframe_prev_btn_auto_pushed_set(ad->navi_bar, EINA_FALSE);
-    ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_BACK, ea_naviframe_back_cb, NULL);
-    ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_MORE, ea_naviframe_more_cb, NULL);
+    //ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_BACK, ea_naviframe_back_cb, NULL);
+    //ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_MORE, ea_naviframe_more_cb, NULL);
 }
index 2b6f95e..16ddcc7 100644 (file)
@@ -154,6 +154,6 @@ void im_get_policy_cb(void *data, Evas_Object *obj, void *event_info)
     elm_naviframe_prev_btn_auto_pushed_set(ad->navi_bar, EINA_FALSE);
     elm_naviframe_item_pop_cb_set(nf_it, NULL, NULL);
 
-    ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_BACK, ea_naviframe_back_cb, NULL);
-    ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_MORE, ea_naviframe_more_cb, NULL);
+    //ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_BACK, ea_naviframe_back_cb, NULL);
+    //ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_MORE, ea_naviframe_more_cb, NULL);
 }
index 0170742..e8539ed 100644 (file)
@@ -43,7 +43,9 @@ void im_get_xattrs_cb (void *data, Evas_Object *obj, void *event_info)
     ad->file_action = im_get_xattrs_wrapper;
     ad->fileselector_default_path = GET_XATTRS_DEFAULT_PATH;
 
-    show_file_selector(ad, dgettext(PACKAGE, FILE_SELECTOR_TITLE));
+    //show_file_selector(ad, dgettext(PACKAGE, FILE_SELECTOR_TITLE));
+    // FIXME: For testing:
+    im_get_xattrs_wrapper (ad, "/home/root/file");
 }
 
 int im_get_xattrs_wrapper (struct ug_data *ad, const char* const file_path)
index 78863c3..d9a1533 100644 (file)
@@ -558,6 +558,6 @@ void im_main_menu_cb(void *data, Evas_Object *obj, void *event_info)
     elm_naviframe_item_pop_cb_set(nf_it, quit_cb, data);
 
     elm_naviframe_prev_btn_auto_pushed_set(ad->navi_bar, EINA_FALSE);
-    ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_BACK, ea_naviframe_back_cb, NULL);
-    ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_MORE, ea_naviframe_more_cb, NULL);
+    //ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_BACK, ea_naviframe_back_cb, NULL);
+    //ea_object_event_callback_add(ad->navi_bar, EA_CALLBACK_MORE, ea_naviframe_more_cb, NULL);
 }
old mode 100755 (executable)
new mode 100644 (file)
index f1a0b23..e725a86
 #include "im-uigadget.h"
 #include "im-main-menu.h"
 
-static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, void *priv)
+static void _win_del(void *data, Evas_Object * obj, void *event_info)
 {
-    (void) mode;
-    (void) service;
+    printf("Enter function: %s\n", __func__);
+    (void)data;
+    (void)obj;
+    (void)event_info;
+    elm_exit();
+}
+
+
+static Evas_Object *_create_win(const char *name)
+{
+    printf("Enter function: %s\n", __func__);
+    Evas_Object *eo;
+    //int w, h;
+    eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
+    if (eo) {
+        elm_win_title_set(eo, name);
+        evas_object_smart_callback_add(eo, "delete,request", _win_del, NULL );
+       // elm_win_screen_size_get(eo, NULL, NULL, &w, &h);
+        {
+         //   h /= 2;
+         //   w /= 2;
+            //int t = h * 3. / 4.;
+            //w = (t < w) ? t : w;
+        }
+        evas_object_resize(eo, 600, 400);
+    }
+    return eo;
+}
 
-    int theme = 0;
-    if (NULL == ug)
-        return NULL ;
-    if (NULL == priv)
-        return NULL ;
+
+static bool on_create(void *data)
+{
+    printf("Enter function: %s\n", __func__);
+//    int theme = 0;
+    if (NULL == data)
+        return EINA_FALSE;
 
     bindtextdomain(PACKAGE, LOCALEDIR);
 
-    struct ug_data *ugd = priv;
-    ugd->ug = ug;
+    struct ug_data *ugd = data;
 
-    ugd->win_main = ug_get_parent_layout(ug);
-    if (NULL == ugd->win_main) {
-        return NULL ;
+    ugd->win_main = _create_win(PACKAGE);
+    if (ugd->win_main == NULL) {
+        return EINA_FALSE;
     }
+    evas_object_show(ugd->win_main);
+    elm_win_indicator_mode_set(ugd->win_main, ELM_WIN_INDICATOR_SHOW);
 
-    if (strncmp(elm_theme_get(NULL ), "tizen-HD-dark", strlen("tizen-HD-dark")) == 0) {
-        theme = 0;
-    } else if (strncmp(elm_theme_get(NULL ), "tizen-HD-light", strlen("tizen-HD-light")) == 0) {
-        theme = 1;
-    }
+//    if (strncmp(elm_theme_get(NULL ), "tizen-HD-dark", strlen("tizen-HD-dark")) == 0) {
+//        theme = 0;
+//    } else if (strncmp(elm_theme_get(NULL ), "tizen-HD-light", strlen("tizen-HD-light")) == 0) {
+//        theme = 1;
+//    }
 
     ugd->bg = elm_bg_add(ugd->win_main);
     if (!ugd->bg) {
         LOGD("ugd->bg is null");
         free(ugd->win_main);
-        return NULL ;
+        return EINA_FALSE;
     }
+    elm_win_resize_object_add(ugd->win_main, ugd->bg);
     evas_object_size_hint_weight_set(ugd->bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_resize(ugd->bg, 600, 400);
     evas_object_show(ugd->bg);
 
     ugd->layout_main = elm_layout_add(ugd->win_main);
@@ -68,19 +99,22 @@ static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, voi
         LOGD("ugd->layout_main is null");
         free(ugd->win_main);
         free(ugd->bg);
-        return NULL;
+        return EINA_FALSE;
     }
 
     ugd->theme = elm_theme_new();
-
-    if (theme == 1) {
-        elm_theme_set(ugd->theme, "tizen-HD-light");
-    } else {
-        elm_theme_set(ugd->theme, "tizen-HD-dark");
-    }
+//
+//    if (theme == 1) {
+//        elm_theme_set(ugd->theme, "tizen-HD-light");
+//    } else {
+//        elm_theme_set(ugd->theme, "tizen-HD-dark");
+    elm_theme_set(ugd->theme, "default");
+//    }
     elm_object_theme_set(ugd->layout_main, ugd->theme);
     elm_layout_theme_set(ugd->layout_main, "layout", "application", "default");
     evas_object_size_hint_weight_set(ugd->layout_main, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_size_hint_min_set(ugd->layout_main, 600, 400);
+    evas_object_resize(ugd->layout_main, 600, 400);
     evas_object_show(ugd->layout_main);
 
     elm_object_part_content_set(ugd->layout_main, "elm.swallow.bg", ugd->bg);
@@ -91,45 +125,40 @@ static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, voi
         free(ugd->win_main);
         free(ugd->bg);
         free(ugd->layout_main);
-        return NULL;
+        return EINA_FALSE;
     }
     elm_object_part_content_set(ugd->layout_main, "elm.swallow.content", ugd->navi_bar);
     evas_object_show(ugd->navi_bar);
 
     im_main_menu_cb((void*) ugd, NULL, NULL);
 
-    return ugd->layout_main;
+    return EINA_TRUE;
 }
-
+/*
 static void on_start(ui_gadget_h ug, service_h service, void *priv)
 {
     (void)ug;
     (void)service;
     (void)priv;
 }
+*/
+
 
-static void on_pause(ui_gadget_h ug, service_h service, void *priv)
+static void on_pause(void *priv)
 {
-    (void)ug;
-    (void)service;
+    printf("Enter function: %s\n", __func__);
     (void)priv;
 }
 
-static void on_resume(ui_gadget_h ug, service_h service, void *priv)
+static void on_resume(void *priv)
 {
-    (void)ug;
-    (void)service;
+    printf("Enter function: %s\n", __func__);
     (void)priv;
 }
 
-static void on_destroy(ui_gadget_h ug, service_h service, void *priv)
+static void on_destroy(void *priv)
 {
-    (void)service;
-
-    if (NULL == ug) {
-        LOGD("NULL == ug; return");
-        return;
-    }
+    printf("Enter function: %s\n", __func__);
     if (NULL == priv) {
         LOGD("NULL == priv; return");
         return;
@@ -146,6 +175,20 @@ static void on_destroy(ui_gadget_h ug, service_h service, void *priv)
     ugd->layout_main = NULL;
 }
 
+static void _tmp(void *priv)
+{
+    (void)priv;
+    printf("Enter function: %s\n", __func__);
+}
+
+static  void _tmp2(app_device_orientation_e  mode, void *priv)
+{
+    (void)priv;
+    (void)mode;
+    printf("Enter function: %s\n", __func__);
+}
+
+/*
 static void on_message(ui_gadget_h ug, service_h msg, service_h service, void *priv)
 {
     (void)ug;
@@ -153,7 +196,9 @@ static void on_message(ui_gadget_h ug, service_h msg, service_h service, void *p
     (void)service;
     (void)priv;
 }
+*/
 
+/*
 static void on_event(ui_gadget_h ug, enum ug_event event, service_h service, void *priv)
 {
     (void)ug;
@@ -179,7 +224,9 @@ static void on_event(ui_gadget_h ug, enum ug_event event, service_h service, voi
         break;
     }
 }
+*/
 
+/*
 static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h service, void *priv)
 {
     (void)service;
@@ -198,30 +245,64 @@ static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h serv
         break;
     }
 }
+*/
 
-UG_MODULE_API int UG_MODULE_INIT(struct ug_module_ops *ops)
+int main(int argc, char *argv[])
 {
-    if (NULL == ops) {
-        LOGD("NULL == ops; return");
-        return -1;
+    printf("Enter function: %s\n", __func__);
+    struct ug_data ugd; // = calloc(1, sizeof(struct ug_data));
+    memset(&ugd, 0x0, sizeof(struct ug_data));
+
+    app_event_callback_s event_callback;
+
+    event_callback.create    = on_create;
+    //event_callback.start   = on_start;
+    event_callback.pause     = on_pause;
+    event_callback.resume    = on_resume;
+    event_callback.terminate = on_destroy;
+
+//    event_callback.service               = NULL;
+//    event_callback.low_memory            = NULL;
+//    event_callback.low_battery           = NULL;
+//    event_callback.device_orientation    = NULL;
+//    event_callback.language_changed      = NULL;
+//    event_callback.region_format_changed = NULL;
+    event_callback.service               = NULL;
+    event_callback.low_memory            = _tmp;
+    event_callback.low_battery           = _tmp;
+    event_callback.device_orientation    = _tmp2;
+    event_callback.language_changed      = _tmp;
+    event_callback.region_format_changed = _tmp;
+    // event_callback.message = on_message;
+    //event_callback.event = on_event;
+    //event_callback.key_event = on_key_event;
+
+    //on_create(&ugd);
+
+    int ret = app_efl_main(&argc, &argv, &event_callback, &ugd);
+    switch (ret) {
+    case APP_ERROR_NONE:
+        printf("APP_ERROR_NONE\n");
+        break;
+    case APP_ERROR_INVALID_PARAMETER:
+        printf("APP_ERROR_INVALID_PARAMETER\n");
+        break;
+    case APP_ERROR_INVALID_CONTEXT:
+        printf("APP_ERROR_INVALID_CONTEXT\n");
+        break;
+    case APP_ERROR_ALREADY_RUNNING:
+        printf("APP_ERROR_ALREADY_RUNNING\n");
+        break;
+    default:
+        printf("Unknown error\n");
+        break;
     }
 
-    struct ug_data *ugd = calloc(1, sizeof(struct ug_data));
-
-    ops->create = on_create;
-    ops->start = on_start;
-    ops->pause = on_pause;
-    ops->resume = on_resume;
-    ops->destroy = on_destroy;
-    ops->message = on_message;
-    ops->event = on_event;
-    ops->key_event = on_key_event;
-    ops->priv = ugd;
-    ops->opt = UG_OPT_INDICATOR_ENABLE;
-
-    return 0;
+    printf("return function: %s (%d)\n", __func__, ret);
+    return ret;
 }
 
+/*
 UG_MODULE_API void UG_MODULE_EXIT(struct ug_module_ops *ops)
 {
     if (NULL == ops) {
@@ -237,6 +318,7 @@ UG_MODULE_API int setting_plugin_reset(service_h service, void *priv)
 {
     (void)service;
     (void)priv;
-    /* nothing to do for Setting>Reset */
     return 0;
 }
+*/
+