[UTC][STC][ACR-1358][Add new APIs to get all statistics info] 57/206357/4
authorhyunuktak <hyunuk.tak@samsung.com>
Fri, 17 May 2019 02:11:25 +0000 (11:11 +0900)
committerhyunuktak <hyunuk.tak@samsung.com>
Fri, 31 May 2019 01:54:21 +0000 (10:54 +0900)
Change-Id: Ia7f0046c62a84ff4952038d89c847e04952b2cf7
Signed-off-by: hyunuktak <hyunuk.tak@samsung.com>
src/utc/stc/tct-stc-core_mobile.h
src/utc/stc/tct-stc-core_tizeniot.h
src/utc/stc/tct-stc-core_wearable.h
src/utc/stc/utc-stc-common.c
src/utc/stc/utc-stc-common.h
src/utc/stc/utc-stc.c

index c0567ca200292620b8f44fb6acccb753b2dcfad6..dc011802f7c2de740ba48de1e6538b85a05bc5fd 100755 (executable)
@@ -48,8 +48,12 @@ extern int utc_stc_stats_rule_get_time_period_p(void);
 extern int utc_stc_stats_rule_get_time_period_n(void);
 extern int utc_stc_get_stats_p(void);
 extern int utc_stc_get_stats_n(void);
+extern int utc_stc_get_all_stats_p(void);
+extern int utc_stc_get_all_stats_n(void);
 extern int utc_stc_foreach_stats_p(void);
 extern int utc_stc_foreach_stats_n(void);
+extern int utc_stc_foreach_all_stats_p(void);
+extern int utc_stc_foreach_all_stats_n(void);
 extern int utc_stc_get_total_stats_p(void);
 extern int utc_stc_get_total_stats_n(void);
 extern int utc_stc_stats_info_clone_p(void);
@@ -100,8 +104,12 @@ testcase tc_array[] = {
        {"utc_stc_stats_rule_get_time_period_n",utc_stc_stats_rule_get_time_period_n,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_get_stats_p",utc_stc_get_stats_p,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_get_stats_n",utc_stc_get_stats_n,utc_stc_startup,utc_stc_cleanup},
+       {"utc_stc_get_all_stats_p",utc_stc_get_all_stats_p,utc_stc_startup,utc_stc_cleanup},
+       {"utc_stc_get_all_stats_n",utc_stc_get_all_stats_n,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_foreach_stats_p",utc_stc_foreach_stats_p,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_foreach_stats_n",utc_stc_foreach_stats_n,utc_stc_startup,utc_stc_cleanup},
+       {"utc_stc_foreach_all_stats_p",utc_stc_foreach_all_stats_p,utc_stc_startup,utc_stc_cleanup},
+       {"utc_stc_foreach_all_stats_n",utc_stc_foreach_all_stats_n,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_get_total_stats_p",utc_stc_get_total_stats_p,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_get_total_stats_n",utc_stc_get_total_stats_n,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_stats_info_clone_p",utc_stc_stats_info_clone_p,utc_stc_startup,utc_stc_cleanup},
index c0567ca200292620b8f44fb6acccb753b2dcfad6..dc011802f7c2de740ba48de1e6538b85a05bc5fd 100755 (executable)
@@ -48,8 +48,12 @@ extern int utc_stc_stats_rule_get_time_period_p(void);
 extern int utc_stc_stats_rule_get_time_period_n(void);
 extern int utc_stc_get_stats_p(void);
 extern int utc_stc_get_stats_n(void);
+extern int utc_stc_get_all_stats_p(void);
+extern int utc_stc_get_all_stats_n(void);
 extern int utc_stc_foreach_stats_p(void);
 extern int utc_stc_foreach_stats_n(void);
+extern int utc_stc_foreach_all_stats_p(void);
+extern int utc_stc_foreach_all_stats_n(void);
 extern int utc_stc_get_total_stats_p(void);
 extern int utc_stc_get_total_stats_n(void);
 extern int utc_stc_stats_info_clone_p(void);
@@ -100,8 +104,12 @@ testcase tc_array[] = {
        {"utc_stc_stats_rule_get_time_period_n",utc_stc_stats_rule_get_time_period_n,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_get_stats_p",utc_stc_get_stats_p,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_get_stats_n",utc_stc_get_stats_n,utc_stc_startup,utc_stc_cleanup},
+       {"utc_stc_get_all_stats_p",utc_stc_get_all_stats_p,utc_stc_startup,utc_stc_cleanup},
+       {"utc_stc_get_all_stats_n",utc_stc_get_all_stats_n,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_foreach_stats_p",utc_stc_foreach_stats_p,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_foreach_stats_n",utc_stc_foreach_stats_n,utc_stc_startup,utc_stc_cleanup},
+       {"utc_stc_foreach_all_stats_p",utc_stc_foreach_all_stats_p,utc_stc_startup,utc_stc_cleanup},
+       {"utc_stc_foreach_all_stats_n",utc_stc_foreach_all_stats_n,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_get_total_stats_p",utc_stc_get_total_stats_p,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_get_total_stats_n",utc_stc_get_total_stats_n,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_stats_info_clone_p",utc_stc_stats_info_clone_p,utc_stc_startup,utc_stc_cleanup},
index c0567ca200292620b8f44fb6acccb753b2dcfad6..dc011802f7c2de740ba48de1e6538b85a05bc5fd 100755 (executable)
@@ -48,8 +48,12 @@ extern int utc_stc_stats_rule_get_time_period_p(void);
 extern int utc_stc_stats_rule_get_time_period_n(void);
 extern int utc_stc_get_stats_p(void);
 extern int utc_stc_get_stats_n(void);
+extern int utc_stc_get_all_stats_p(void);
+extern int utc_stc_get_all_stats_n(void);
 extern int utc_stc_foreach_stats_p(void);
 extern int utc_stc_foreach_stats_n(void);
+extern int utc_stc_foreach_all_stats_p(void);
+extern int utc_stc_foreach_all_stats_n(void);
 extern int utc_stc_get_total_stats_p(void);
 extern int utc_stc_get_total_stats_n(void);
 extern int utc_stc_stats_info_clone_p(void);
@@ -100,8 +104,12 @@ testcase tc_array[] = {
        {"utc_stc_stats_rule_get_time_period_n",utc_stc_stats_rule_get_time_period_n,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_get_stats_p",utc_stc_get_stats_p,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_get_stats_n",utc_stc_get_stats_n,utc_stc_startup,utc_stc_cleanup},
+       {"utc_stc_get_all_stats_p",utc_stc_get_all_stats_p,utc_stc_startup,utc_stc_cleanup},
+       {"utc_stc_get_all_stats_n",utc_stc_get_all_stats_n,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_foreach_stats_p",utc_stc_foreach_stats_p,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_foreach_stats_n",utc_stc_foreach_stats_n,utc_stc_startup,utc_stc_cleanup},
+       {"utc_stc_foreach_all_stats_p",utc_stc_foreach_all_stats_p,utc_stc_startup,utc_stc_cleanup},
+       {"utc_stc_foreach_all_stats_n",utc_stc_foreach_all_stats_n,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_get_total_stats_p",utc_stc_get_total_stats_p,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_get_total_stats_n",utc_stc_get_total_stats_n,utc_stc_startup,utc_stc_cleanup},
        {"utc_stc_stats_info_clone_p",utc_stc_stats_info_clone_p,utc_stc_startup,utc_stc_cleanup},
index 0a0a4dfaf9697ac075a2e052f9d94a804982d38b..7e38f20d189a6f6f1bc27d57cc1996c9424ff415 100755 (executable)
@@ -87,6 +87,55 @@ time_t stc_make_time(int year, int mon, int day, int hour, int min)
        return mktime(&curr);
 }
 
+stc_error_e stc_get_all_stats_info(stc_stats_info_e e)
+{
+       int ret = STC_ERROR_NONE;
+       time_t from, to;
+
+       ret = stc_stats_rule_set_app_id(g_hRule, STC_ALL_APP);
+       CHECK_RETURN("stc_stats_rule_set_app_id", ret, STC_ERROR_NONE);
+
+       from = stc_make_time(2000, 1, 1, 1, 1);
+       time(&to);
+       ret = stc_stats_rule_set_time_interval(g_hRule, from, to);
+       CHECK_RETURN("stc_stats_rule_set_time_interval", ret, STC_ERROR_NONE);
+
+       g_nCallbackRet = STC_ERROR_OPERATION_FAILED;
+       g_eStatsInfo = e;
+       ret = stc_get_all_stats(g_hSTC, g_hRule, stc_get_stats_finished_cb, NULL);
+       CHECK_RETURN("stc_get_all_stats", ret, STC_ERROR_NONE);
+       RUN_GMAIN_LOOP;
+       CHECK_RETURN(CALLBACK_RETURN, g_nCallbackRet, STC_ERROR_NONE);
+
+       return STC_ERROR_NONE;
+}
+
+void stc_get_stats_finished_cb(stc_error_e result,
+               stc_all_stats_info_h info, void *user_data)
+{
+       g_nCallbackRet = STC_ERROR_NONE;
+
+       int ret = STC_ERROR_NONE;
+
+       switch (g_eStatsInfo) {
+       case STATS_INFO_GET_ALL:
+               {
+                       PRINT_RETURN("stc_get_all_stats", result);
+                       QUIT_GMAIN_LOOP;
+               }
+               break;
+       case STATS_INFO_FOREACH_ALL:
+               {
+                       ret = stc_foreach_all_stats(info, stc_stats_info_callback, user_data);
+                       CHECK_RETURN("stc_foreach_all_stats", ret, STC_ERROR_NONE);
+               }
+               break;
+       default:
+               PRINT_RETURN("stc_get_stats_finished_cb", ret);
+               break;
+       }
+}
+
 stc_error_e stc_get_statistics_information(stc_stats_info_e e)
 {
        int ret = STC_ERROR_NONE;
@@ -101,7 +150,8 @@ stc_error_e stc_get_statistics_information(stc_stats_info_e e)
        CHECK_RETURN("stc_stats_rule_set_time_interval", ret, STC_ERROR_NONE);
 
        g_nCallbackRet = STC_ERROR_NONE;
-       ret = stc_foreach_stats(g_hSTC, g_hRule, stc_stats_info_callback, (void *)e);
+       g_eStatsInfo = e;
+       ret = stc_foreach_stats(g_hSTC, g_hRule, stc_stats_info_callback, NULL);
        CHECK_RETURN("stc_get_stats", ret, STC_ERROR_NONE);
        RUN_GMAIN_LOOP;
        CHECK_RETURN(CALLBACK_RETURN, g_nCallbackRet, STC_ERROR_NONE);
@@ -114,10 +164,9 @@ stc_callback_ret_e stc_stats_info_callback(stc_error_e result,
 {
        g_nCallbackRet = STC_ERROR_NONE;
 
-       stc_stats_info_e e = (stc_stats_info_e)user_data;
        int ret = STC_ERROR_NONE;
 
-       switch(e) {
+       switch(g_eStatsInfo) {
        case STATS_INFO_APPID:
                {
                        char *app_id;
@@ -177,12 +226,6 @@ stc_callback_ret_e stc_stats_info_callback(stc_error_e result,
                }
                break;
        case STATS_INFO_CLONE:
-               {
-                       stc_stats_info_h cloned;
-                       ret = stc_stats_info_clone(info, &cloned);
-                       PRINT_RETURN("stc_stats_info_clone", ret);
-               }
-               break;
        case STATS_INFO_DESTROY:
                {
                        stc_stats_info_h cloned;
@@ -192,10 +235,16 @@ stc_callback_ret_e stc_stats_info_callback(stc_error_e result,
                        PRINT_RETURN("stc_stats_info_destroy", ret);
                }
                break;
+       case STATS_INFO_FOREACH_ALL:
+               {
+                       PRINT_RETURN("stc_foreach_all_stats", ret);
+               }
+               break;
        default:
+               PRINT_RETURN("stc_stats_info_callback", ret);
                break;
        }
-       
+
        QUIT_GMAIN_LOOP;
        return STC_CALLBACK_CANCEL;
 }
index 0d836abf3f1a0eb10d2a47b8d124a8a9873eb820..fe1418ec87c99deb9ace389487e7a74e03069c46 100755 (executable)
@@ -27,7 +27,7 @@
 #define GMAINTIMEOUT                           20000
 
 #define STC_FEATURE                                    "http://tizen.org/feature/network.traffic_control"
-#define STC_ALL_APP                                    "STC_TOTAL_DATACALL"
+#define STC_ALL_APP                                    "TOTAL_DATACALL"
 #define CALLBACK_RETURN                                "callback return"
 
 typedef enum {
@@ -41,7 +41,9 @@ typedef enum {
        STATS_INFO_PROTOCOL_TYPE,
        STATS_INFO_PROCESS_STATE,
        STATS_INFO_CLONE,
-       STATS_INFO_DESTROY
+       STATS_INFO_DESTROY,
+       STATS_INFO_GET_ALL,
+       STATS_INFO_FOREACH_ALL
 } stc_stats_info_e;
 
 GMainLoop *g_pMainLoop;
@@ -53,6 +55,7 @@ bool g_bFeatureSTC;
 stc_h g_hSTC;
 stc_stats_rule_h g_hRule;
 stc_error_e g_nCallbackRet;
+stc_stats_info_e g_eStatsInfo;
 
 #define RUN_GMAIN_LOOP {\
        g_pMainLoop = g_main_loop_new(NULL, false);\
@@ -88,6 +91,9 @@ gboolean stc_callback_timeut(gpointer data);
 const char *stc_get_error(int err);
 bool stc_check_feature_supported(char *key);
 time_t stc_make_time(int year, int mon, int day, int hour, int min);
+stc_error_e stc_get_all_stats_info(stc_stats_info_e e);
+void stc_get_stats_finished_cb(stc_error_e result,
+               stc_all_stats_info_h info, void *user_data);
 stc_error_e stc_get_statistics_information(stc_stats_info_e e);
 stc_callback_ret_e stc_stats_info_callback(stc_error_e result,
                stc_stats_info_h info, void *user_data);
index 7537edc7d1f3d83da982de1f8732c700f82252b1..3d3acba91e7605ca1e2ddabf44e7f144b7a59585 100755 (executable)
@@ -455,6 +455,35 @@ int utc_stc_get_stats_n(void)
        return 0;
 }
 
+int utc_stc_get_all_stats_p(void)
+{
+       int ret = STC_ERROR_NONE;
+
+       if (!g_bFeatureSTC) {
+               ret = stc_get_all_stats(g_hSTC, g_hRule, stc_get_stats_finished_cb, NULL);
+               CHECK_RETURN("stc_get_all_stats", ret, STC_ERROR_NOT_SUPPORTED);
+               return 0;
+       }
+
+       stc_get_all_stats_info(STATS_INFO_GET_ALL);
+
+       return 0;
+}
+
+int utc_stc_get_all_stats_n(void)
+{
+       int ret = STC_ERROR_NONE;
+
+       ret = stc_get_all_stats(NULL, NULL, NULL, NULL);
+       if (!g_bFeatureSTC) {
+               CHECK_RETURN("stc_get_all_stats", ret, STC_ERROR_NOT_SUPPORTED);
+       } else {
+               CHECK_RETURN("stc_get_all_stats", ret, STC_ERROR_INVALID_PARAMETER);
+       }
+
+       return 0;
+}
+
 int utc_stc_foreach_stats_p(void)
 {
     int ret = STC_ERROR_NONE;
@@ -494,6 +523,35 @@ int utc_stc_foreach_stats_n(void)
        return 0;
 }
 
+int utc_stc_foreach_all_stats_p(void)
+{
+   int ret = STC_ERROR_NONE;
+
+       if (!g_bFeatureSTC) {
+               ret = stc_foreach_all_stats(NULL, NULL, NULL);
+               CHECK_RETURN("stc_foreach_all_stats", ret, STC_ERROR_NOT_SUPPORTED);
+               return 0;
+       }
+
+       stc_get_all_stats_info(STATS_INFO_FOREACH_ALL);
+
+       return 0;
+}
+
+int utc_stc_foreach_all_stats_n(void)
+{
+    int ret = STC_ERROR_NONE;
+
+       ret = stc_foreach_all_stats(NULL, NULL, NULL);
+       if (!g_bFeatureSTC) {
+               CHECK_RETURN("stc_foreach_all_stats", ret, STC_ERROR_NOT_SUPPORTED);
+       } else {
+               CHECK_RETURN("stc_foreach_all_stats", ret, STC_ERROR_INVALID_PARAMETER);
+       }
+
+       return 0;
+}
+
 int utc_stc_get_total_stats_p(void)
 {
     int ret = STC_ERROR_NONE;