Add Internal APIs to get debug flag 81/162181/4
authorJunghyun Yeon <jungh.yeon@samsung.com>
Wed, 29 Nov 2017 11:01:22 +0000 (20:01 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Thu, 30 Nov 2017 09:03:58 +0000 (18:03 +0900)
Change-Id: If804117f83b23b67eae572d7ccd514dc426d0052
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
installer/pkgmgr_installer.c
installer/pkgmgr_installer_info.h

index fc4950a..cbb6135 100644 (file)
@@ -116,6 +116,7 @@ struct pkgmgr_installer {
 };
 
 static uid_t g_target_uid;
+static int g_debug_mode;
 static pkgmgr_privilege_level g_privilege_level = PM_PRIVILEGE_UNKNOWN;
 
 static const char *__get_signal_name(pkgmgr_installer *pi, const char *key,
@@ -381,6 +382,7 @@ pkgmgr_installer_receive_request(pkgmgr_installer *pi,
 
        pi->target_uid = getuid();
        g_target_uid = pi->target_uid;
+       g_debug_mode = 0;
        while (1) {
                c = getopt_long(argc, argv, short_opts, long_opts, &opt_idx);
                /* printf("c=%d %c\n", c, c); //debug */
@@ -593,6 +595,7 @@ pkgmgr_installer_receive_request(pkgmgr_installer *pi,
 
                case 'G': /* debug mode */
                        pi->debug_mode = 1;
+                       g_debug_mode = 1;
                        break;
 
                        /* Otherwise */
@@ -911,3 +914,9 @@ API int pkgmgr_installer_info_get_privilege_level(pkgmgr_privilege_level *level)
 
        return 0;
 }
+
+API int pkgmgr_installer_info_get_debug_mode(int *debug_mode)
+{
+       *debug_mode = g_debug_mode;
+       return 0;
+}
index 91bbeb8..e40b4ec 100644 (file)
@@ -76,6 +76,28 @@ int pkgmgr_installer_info_get_target_uid(uid_t *uid);
  */
 int pkgmgr_installer_info_get_privilege_level(pkgmgr_privilege_level *level);
 
+/**
+ * @brief      Get debug mode flag
+ * @pre                None
+ * @post       None
+ * @param[out] int     debug_mode
+ * @return     0 if success, else retrun < 0
+ * @code
+       #include <pkgmgr_installer_info.h>
+       int main()
+       {
+               int debug_mode;
+               if (pkgmgr_installer_info_get_debug_mode(&debug_mode) < 0) {
+                       printf("failed to get debug mode\n");
+               }
+               if (debug_mode)) {
+                       printf("debug mode is enabled");
+               }
+       }
+ * @endcode
+ */
+int pkgmgr_installer_info_get_debug_mode(int *debug_mode);
+
 #ifdef __cplusplus
 }
 #endif