Remove package_manager_set/unset_global_event_cb 98/69798/2 accepted/tizen/common/20160518.124901 accepted/tizen/ivi/20160518.004232 accepted/tizen/mobile/20160518.004357 accepted/tizen/tv/20160518.004247 accepted/tizen/wearable/20160518.004221 submit/tizen/20160517.005404 submit/tizen/20160517.084446
authorSangyoon Jang <s89.jang@samsung.com>
Tue, 17 May 2016 01:24:24 +0000 (10:24 +0900)
committerSangyoon Jang <s89.jang@samsung.com>
Tue, 17 May 2016 01:36:10 +0000 (10:36 +0900)
Application api layer should not listen about other user's event

Change-Id: Ief4c997d839ae1d7191769ca0d0d10e11d4b5b16
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
include/package_manager.h
src/package_manager.c
tool/CMakeLists.txt
tool/main.c

index 74149a2..8f72876 100644 (file)
@@ -207,33 +207,6 @@ typedef void (*package_manager_event_cb) (
                void *user_data);
 
 /**
- * @brief Called when the package is installed, uninstalled or updated, and the progress of the request to the package manager changes.
- * @since_tizen 3.0
- *
- * @param[in] target_uid  The uid of the package event occured
- * @param[in] type        The type of the package to be installed, uninstalled or updated
- * @param[in] package     The name of the package to be installed, uninstalled or updated
- * @param[in] event_type  The type of the request to the package manager
- * @param[in] event_state The current state of the request to the package manager
- * @param[in] progress    The progress for the request that is being processed by the package manager \n
- *                        The range of progress is from @c 0 to @c 100.
- * @param[in] error       The error code when the package manager failed to process the request
- * @param[in] user_data   The user data passed from package_manager_set_event_cb()
- *
- * @see package_manager_set_global_event_cb()
- * @see package_manager_unset_global_event_cb()
- */
-typedef void (*package_manager_global_event_cb) (
-               uid_t target_uid,
-               const char *type,
-               const char *package,
-               package_manager_event_type_e event_type,
-               package_manager_event_state_e event_state,
-               int progress,
-               package_manager_error_e error,
-               void *user_data);
-
-/**
  * @brief Creates a package manager handle.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
@@ -333,48 +306,6 @@ int package_manager_set_event_cb(package_manager_h manager,
 int package_manager_unset_event_cb(package_manager_h manager);
 
 /**
- * @brief Registers a callback function to be invoked when the package is installed, uninstalled or updated.
- * @since_tizen 3.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/packagemanager.info
- * @param[in] manager    The package manager handle
- * @param[in] callback   The callback function to be registered
- * @param[in] user_data  The user data to be passed to the callback function
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- *
- * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
- * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
- * @post package_manager_global_event_cb() will be invoked.
- *
- * @see package_manager_set_event_status()
- * @see package_manager_global_event_cb()
- * @see package_manager_unset_global_event_cb()
- */
-int package_manager_set_global_event_cb(package_manager_h manager,
-               package_manager_global_event_cb callback,
-               void *user_data);
-
-/**
- * @brief Unregisters the callback function.
- * @since_tizen 3.0
- *
- * @param[in] manager The package manager handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- *
- * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
- * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see package_manager_global_event_cb()
- * @see package_manager_set_global_event_cb()
- */
-int package_manager_unset_global_event_cb(package_manager_h manager);
-
-/**
  * @brief Called to retrieve all packages.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
index d4a8a7d..1b1374f 100644 (file)
@@ -44,8 +44,6 @@ struct package_manager_s {
        pkgmgr_mode mode;
        event_info *head;
        package_manager_event_cb event_cb;
-       package_manager_global_event_cb global_event_cb;
-       void *global_user_data;
        void *user_data;
 };
 
@@ -790,12 +788,6 @@ static int global_event_handler(uid_t target_uid, int req_id, const char *pkg_ty
                                          event_type,
                                          PACKAGE_MANAGER_EVENT_STATE_STARTED,
                                          0, PACKAGE_MANAGER_ERROR_NONE, manager->user_data);
-               if (manager->global_event_cb)
-                       manager->global_event_cb(target_uid, pkg_type, pkg_name,
-                                         event_type,
-                                         PACKAGE_MANAGER_EVENT_STATE_STARTED,
-                                         0, PACKAGE_MANAGER_ERROR_NONE, manager->global_user_data);
-
        } else if (strcasecmp(key, "install_percent") == 0
                   || strcasecmp(key, "progress_percent") == 0) {
                if (__find_event
@@ -811,13 +803,6 @@ static int global_event_handler(uid_t target_uid, int req_id, const char *pkg_ty
                                                  atoi(val),
                                                  PACKAGE_MANAGER_ERROR_NONE,
                                                  manager->user_data);
-                       if (manager->global_event_cb)
-                               manager->global_event_cb(target_uid, pkg_type, pkg_name,
-                                                 event_type,
-                                                 PACKAGE_MANAGER_EVENT_STATE_PROCESSING,
-                                                 atoi(val),
-                                                 PACKAGE_MANAGER_ERROR_NONE,
-                                                 manager->global_user_data);
                }
 
        } else if (strcasecmp(key, "error") == 0) {
@@ -837,13 +822,6 @@ static int global_event_handler(uid_t target_uid, int req_id, const char *pkg_ty
                                                  0,
                                                  PACKAGE_MANAGER_ERROR_NONE,
                                                  manager->user_data);
-                       if (manager->global_event_cb)
-                               manager->global_event_cb(target_uid, pkg_type,
-                                                 pkg_name, event_type,
-                                                 PACKAGE_MANAGER_EVENT_STATE_FAILED,
-                                                 0,
-                                                 PACKAGE_MANAGER_ERROR_NONE,
-                                                 manager->global_user_data);
                }
        } else if (strcasecmp(key, "end") == 0) {
                if (__find_event
@@ -857,13 +835,6 @@ static int global_event_handler(uid_t target_uid, int req_id, const char *pkg_ty
                                                          100,
                                                          PACKAGE_MANAGER_ERROR_NONE,
                                                          manager->user_data);
-                               if (manager->global_event_cb)
-                                       manager->global_event_cb(target_uid, pkg_type,
-                                                         pkg_name, event_type,
-                                                         PACKAGE_MANAGER_EVENT_STATE_COMPLETED,
-                                                         100,
-                                                         PACKAGE_MANAGER_ERROR_NONE,
-                                                         manager->global_user_data);
                        }
                } else {
                        if (strcasecmp(key, "ok") != 0) {
@@ -874,13 +845,6 @@ static int global_event_handler(uid_t target_uid, int req_id, const char *pkg_ty
                                                          0,
                                                          PACKAGE_MANAGER_ERROR_NONE,
                                                          manager->user_data);
-                               if (manager->global_event_cb)
-                                       manager->global_event_cb(target_uid, pkg_type,
-                                                         pkg_name, event_type,
-                                                         PACKAGE_MANAGER_EVENT_STATE_FAILED,
-                                                         0,
-                                                         PACKAGE_MANAGER_ERROR_NONE,
-                                                         manager->global_user_data);
                        }
                }
        }
@@ -941,80 +905,17 @@ API int package_manager_unset_event_cb(package_manager_h manager)
        manager->event_cb = NULL;
        manager->user_data = NULL;
 
-       if (manager->global_event_cb == NULL) {
-               retval = pkgmgr_client_remove_listen_status(manager->pc);
-               if (retval == PKGMGR_R_EINVAL)
-                       return
-                                package_manager_error
-                                (PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__,
-                                 NULL);
-               else if (retval == PKGMGR_R_ERROR)
-                       return
-                                package_manager_error
-                                (PACKAGE_MANAGER_ERROR_SYSTEM_ERROR, __FUNCTION__,
-                                 NULL);
-       }
-
-       return PACKAGE_MANAGER_ERROR_NONE;
-}
-
-API int package_manager_set_global_event_cb(package_manager_h manager,
-                                package_manager_global_event_cb callback,
-                                void *user_data)
-{
-
-       int retval;
-       retval = check_privilege(PRIVILEGE_PACKAGE_MANAGER_INFO);
-       if (retval != PACKAGE_MANAGER_ERROR_NONE)
-               return retval;
-
-       if (package_manager_validate_handle(manager)) {
+       retval = pkgmgr_client_remove_listen_status(manager->pc);
+       if (retval == PKGMGR_R_EINVAL)
                return
-                   package_manager_error
-                   (PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__,
-                    NULL);
-       }
-
-       if (getuid() >= REGULAR_USER) {
-               _LOGE("Regular user is not allowed for this api");
-               return PACKAGE_MANAGER_ERROR_PERMISSION_DENIED;
-       }
-
-       manager->global_event_cb = callback;
-       manager->global_user_data = user_data;
-
-       pkgmgr_client_listen_status(manager->pc, global_event_handler, manager);
-
-       return PACKAGE_MANAGER_ERROR_NONE;
-}
-
-API int package_manager_unset_global_event_cb(package_manager_h manager)
-{
-       int retval;
-
-       if (manager == NULL) {
+                        package_manager_error
+                        (PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__,
+                         NULL);
+       else if (retval == PKGMGR_R_ERROR)
                return
-                   package_manager_error
-                   (PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__,
-                    NULL);
-       }
-
-       manager->global_event_cb = NULL;
-       manager->global_user_data = NULL;
-
-       if (manager->event_cb == NULL) {
-               retval = pkgmgr_client_remove_listen_status(manager->pc);
-               if (retval == PKGMGR_R_EINVAL)
-                       return
-                                package_manager_error
-                                (PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__,
-                                 NULL);
-               else if (retval == PKGMGR_R_ERROR)
-                       return
-                                package_manager_error
-                                (PACKAGE_MANAGER_ERROR_SYSTEM_ERROR, __FUNCTION__,
-                                 NULL);
-       }
+                        package_manager_error
+                        (PACKAGE_MANAGER_ERROR_SYSTEM_ERROR, __FUNCTION__,
+                         NULL);
 
        return PACKAGE_MANAGER_ERROR_NONE;
 }
index 86096e3..b6ca441 100644 (file)
@@ -1,14 +1,4 @@
 # Test executables
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${TEST_CFLAGS}")
-
-#Verbose
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs_test REQUIRED glib-2.0)
-FOREACH(flag ${pkgs_test_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
 
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wl,-zdefs" )
@@ -18,6 +8,6 @@ SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
 SET(CMAKE_C_FLAGS_RELEASE "-O2")
 
 ADD_EXECUTABLE(pkgmgr_tool main.c)
-TARGET_LINK_LIBRARIES(pkgmgr_tool capi-appfw-package-manager ${pkgs_test_LDFLAGS})
+TARGET_LINK_LIBRARIES(pkgmgr_tool capi-appfw-package-manager)
 INSTALL(TARGETS pkgmgr_tool DESTINATION bin)
 
index d5e3b96..09304d8 100644 (file)
@@ -29,8 +29,6 @@
 #include <sys/types.h>
 #include <fcntl.h>
 
-#include <glib.h>
-
 #include <package_manager.h>
 
 
@@ -114,44 +112,13 @@ static int _get_appinfo(const char *appid)
        return PACKAGE_MANAGER_ERROR_NONE;
 }
 
-static void _global_event_cb(uid_t target_uid, const char *type,
-               const char *package, package_manager_event_type_e event_type,
-               package_manager_event_state_e event_state, int progress,
-               package_manager_error_e error, void *user_data)
-{
-       fprintf(stderr, "uid[%u] type[%s] pkgid[%s] event_type[%d] "
-                       "event_state[%d] progress[%d] error[%d]\n",
-                       target_uid, type, package, event_type, event_state,
-                       progress, error);
-}
-
-static int _listen_event(void)
-{
-       int ret;
-       package_manager_h manager;
-
-       ret = package_manager_create(&manager);
-       if (ret != PACKAGE_MANAGER_ERROR_NONE)
-               return ret;
-
-       ret = package_manager_set_global_event_cb(manager, _global_event_cb,
-                       NULL);
-       if (ret != PACKAGE_MANAGER_ERROR_NONE)
-               return ret;
-
-       return PACKAGE_MANAGER_ERROR_NONE;
-}
-
 int main(int argc, char **argv)
 {
-       GMainLoop *loop;
        int ret = PACKAGE_MANAGER_ERROR_NONE;
 
        if (1 == argc) {
-               if (_listen_event()) {
-                       fprintf(stderr, "Register event listener failed\n");
-                       return EXIT_FAILURE;
-               }
+               fprintf(stderr, "mising operand\n");
+               return EXIT_FAILURE;
        } else if (2 == argc) {
                ret = _get_packageinfo(argv[1]);
        } else if (3 == argc) {
@@ -168,11 +135,6 @@ int main(int argc, char **argv)
                return EXIT_FAILURE;
        }
 
-       if (1 == argc) {
-               loop = g_main_loop_new(NULL, FALSE);
-               g_main_loop_run(loop);
-       }
-
        return EXIT_SUCCESS;
 }