#include <gtest/gtest.h>
#include "statistics.h"
-
-static GMainLoop *g_pMainLoop = NULL;
-static guint g_nTimeoutId = 0;
-
-static gboolean CallbackTimeut(gpointer data)
-{
- if (g_pMainLoop)
- g_main_loop_quit(g_pMainLoop);
-
- return false;
-}
-
-static void RunMainLoop(void)
-{
- g_pMainLoop = g_main_loop_new(NULL, false);
- g_nTimeoutId = g_timeout_add(GMAINTIMEOUT, CallbackTimeut, g_pMainLoop);
- g_main_loop_run(g_pMainLoop);
-
- g_source_remove(g_nTimeoutId);
- g_pMainLoop = NULL;
-}
-
-static void QuitMainLoop(void)
-{
- if (g_pMainLoop)
- g_main_loop_quit(g_pMainLoop);
-}
+#include "common.h"
static void AsyncReadyCallback(GObject *source_object,
GAsyncResult *res, gpointer user_data)
{
+ MainLoop *M = (MainLoop *)user_data;
GLOGD("Succeeded to response async callback");
- QuitMainLoop();
+ M->quit();
}
SRule::SRule()
error_e Statistics::GetStatistics(void)
{
+ MainLoop M;
GVariant *params = NULL;
error_e error = ERROR_NONE;
params,
DBUS_REPLY_TIMEOUT,
AsyncReadyCallback,
- NULL);
+ &M);
if (error != ERROR_NONE) {
GLOGD("Failed to invoke dbus method nonblock");
return error;
}
- RunMainLoop();
+ M.run(GMAINTIMEOUT);
GLOGD("Succeeded to get statistics per app ID");
return ERROR_NONE;
error_e Statistics::GetTotalStatistics(void)
{
+ MainLoop M;
GVariant *params = NULL;
error_e error = ERROR_NONE;
params,
DBUS_REPLY_TIMEOUT,
AsyncReadyCallback,
- NULL);
+ &M);
if (error != ERROR_NONE) {
GLOGD("Failed to invoke dbus method nonblock");
return error;
}
- RunMainLoop();
+ M.run(GMAINTIMEOUT);
GLOGD("Succeeded to get total statistics");
return ERROR_NONE;
error_e Statistics::GetAllStatistics(void)
{
+ MainLoop M;
GVariant *params = NULL;
error_e error = ERROR_NONE;
params,
DBUS_REPLY_TIMEOUT,
AsyncReadyCallback,
- NULL);
+ &M);
if (error != ERROR_NONE) {
GLOGD("Failed to invoke dbus method nonblock");
return error;
}
- RunMainLoop();
+ M.run(GMAINTIMEOUT);
GLOGD("Succeeded to get all statistics");
return ERROR_NONE;