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);
{"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},
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);
{"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},
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);
{"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},
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;
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);
{
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;
}
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;
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;
}
#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 {
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;
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);\
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);
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;
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;