dpm_restriction_get_external_storage_state got blocked. 13/72713/6
authorMyoungJune Park <mj2004.park@samsung.com>
Thu, 2 Jun 2016 07:25:24 +0000 (16:25 +0900)
committerMyoungJune Park <mj2004.park@samsung.com>
Fri, 3 Jun 2016 05:21:07 +0000 (14:21 +0900)
- Setting > Storage > external storage

Change-Id: I828c32722a643af7dd78c2383875c87c280c71a2
Signed-off-by: MyoungJune Park <mj2004.park@samsung.com>
setting-storage/CMakeLists.txt
setting-storage/src/setting-storage-main.c

index f9b3cd1ae25249c365b3c3fdafe76e4a49ab7a17..ca0723200fa3d17e895134e1ac26409dec64eeee 100644 (file)
@@ -6,7 +6,7 @@ FILE(GLOB STORAGE_SRCS src/*.c)
 INCLUDE(FindPkgConfig)
 pkg_check_modules(pkgs_storage REQUIRED elementary capi-appfw-application deviced storage
        pkgmgr capi-content-media-content cairo appcore-efl ui-gadget-1 capi-appfw-package-manager
-        json-glib-1.0 efl-extension)
+        json-glib-1.0 efl-extension dpm)
 
 FOREACH(flag ${pkgs_storage_CFLAGS})
        SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
index beb34316ca4c8dac3f0f25fd20e00026e4f08610..516f2f33fb8975533a818ba558b7aa22dfb77bfc 100644 (file)
@@ -28,6 +28,9 @@
 #include "setting-storage-utils.h"
 #include "setting-storage-async-worker.h"
 #include "setting-storage-main.h"
+
+#include <dpm/restriction.h>
+
 #if 0
 #define SETTING_STORAGE_PIE_RECT_WIDTH (432 * WIDGET_SCALE_FACTOR)
 #define SETTING_STORAGE_PIE_RECT_HEIGHT (414 * WIDGET_SCALE_FACTOR)
@@ -57,6 +60,46 @@ const char *storageUg_MMC_stat = VCONFKEY_SYSMAN_MMC_STATUS;
 
 static setting_view setting_view_storage_main;
 
+static void dpm_usb_policy_changed_cb(const char* policy, const char* state, void* data)
+{
+       SETTING_TRACE_BEGIN;
+
+       SETTING_TRACE("External storag policy changed: %s : %s", policy, state);
+       SETTING_TRACE_END;
+}
+
+static int dpm_usb_mass_storage(int* enable)
+{
+       SETTING_TRACE_BEGIN;
+       dpm_context_h context;
+       dpm_restriction_policy_h policy;
+
+       int ret = 1;
+       context = dpm_context_create();
+       if (context == NULL) {
+               SETTING_TRACE_ERROR("Failed to create client context\n");
+               return 0;
+       }
+
+    policy = dpm_context_acquire_restriction_policy(context);
+    if (policy == NULL) {
+        SETTING_TRACE_ERROR("Failed to get storage policy interface\n");
+        dpm_context_destroy(context);
+        return 0;
+    }
+
+       int rval = 0;
+       ret = dpm_restriction_get_external_storage_state(policy, &rval);
+       *enable = rval;
+       SETTING_TRACE("dpm_restriction_get_external_storage_state : %d", *enable);
+
+       dpm_context_release_restriction_policy(context, policy);
+       dpm_context_destroy(context);
+       return ret;
+}
+
+
+
 static inline void storageUg_main_pie_graph_cairo(Evas_Object *pie_image,
                SettingStorageUG *ad)
 {
@@ -289,7 +332,7 @@ Evas_Object *storageUg_color_item_content_get(void *data, Evas_Object *obj,
        Setting_GenGroupItem_Data *list_item = data;
        int color = list_item->color;
 
-       SETTING_TRACE_ERROR("part : %s", part);
+       //SETTING_TRACE_ERROR("part : %s", part);
 
        if (!strcmp(part, "elm.swallow.icon")) {
                Evas_Object *layout = elm_layout_add(obj);
@@ -744,6 +787,12 @@ static int storageUg_main_create(void *data)
        SETTING_TRACE(" WIDGET_SCALE_FACTOR : %f", WIDGET_SCALE_FACTOR);
        SETTING_TRACE("-----------------------------------------------");
 
+       int enable = 0;
+       dpm_usb_mass_storage(&enable);
+       SETTING_TRACE("------------------------------------------------------------------------------");
+       SETTING_TRACE(" DPM_USB_MASS_STORAGE : %d", enable);
+       SETTING_TRACE("------------------------------------------------------------------------------");
+
        return SETTING_RETURN_SUCCESS;
 }