#if DEBUG
FPRINTF("[Line : %d][%s] %s Callback Invoked\\n", __LINE__, API_NAMESPACE, "CapmgrAppControlReplyCallBack");
#endif
+ if (g_pApplicationMainLoop)
+ {
+ g_main_loop_quit(g_pApplicationMainLoop);
+ g_pApplicationMainLoop = NULL;
+ }
+
g_CallBackHit = true;
return 1;
}
START_TEST;
int nRet = -1;
+ int nTimeoutId = 0;
capmgr_app_control_h hAppControl = NULL;
void *pszData = NULL;
PRINT_RESULT_CLEANUP(true, g_CallBackHit, "CapmgrAppControlForeachAppCallBack", "CallBack Not Invoked", capmgr_app_control_destroy(hAppControl));
g_CallBackHit = false;
+ nRet = capmgr_app_control_set_appid(hAppControl, TEST_APP_ID);
nRet = capmgr_app_control_send(hAppControl, CapmgrAppControlReplyCallBack, pszData);
PRINT_RESULT_CLEANUP(CAPMGR_ERROR_NONE, nRet, "capmgr_app_control_send", CapMgrGetError(nRet), capmgr_app_control_destroy(hAppControl));
+
+ RUN_POLLING_LOOP;
PRINT_RESULT_CLEANUP(true, g_CallBackHit, "CapmgrAppControlReplyCallBack", "CallBack Not Invoked", capmgr_app_control_destroy(hAppControl));
nRet = capmgr_app_control_destroy(hAppControl);
return szErrorVal;
}
+/**
+ * @function Timeout
+ * @description Called if some callback is not invoked for a particular timeout
+ * @parameter gpointer data
+ * @return gboolean
+ */
+gboolean Timeout(gpointer data)
+{
+ GMainLoop *pMainLoop = NULL;
+ pMainLoop = (GMainLoop *)data;
+ if ( pMainLoop != NULL )
+ {
+ g_main_loop_quit(pMainLoop);
+ }
+ return false;
+}
+
/** @} */
#include "tct_common.h"
#include "tct_app_common.h"
#include <capability_manager.h>
+#include <glib.h>
/** @addtogroup itc-capmgr
* @ingroup itc
#define API_NAMESPACE "CAPMGR_ITC"
+GMainLoop *g_pApplicationMainLoop;
bool g_CallBackHit;
//Add helper function declarations here
int CapmgrDeviceForeachAppCallBack(const capmgr_device_h hDevice, void *user_data);
int CapmgrAppControlForeachAppCallBack(const capmgr_device_h hDevice, void *user_data);
int CapmgrAppControlReplyCallBack(const capmgr_app_control_h request, const capmgr_app_control_h reply, capmgr_app_control_result_e result, void* user_data);
+gboolean Timeout(gpointer data);
+#define TEST_APP_ID "org.example.capmgrsample"
+#define TIMEOUT_CB 10000
#define START_TEST {\
FPRINTF("[Line : %d][%s] Starting test : %s\\n", __LINE__, API_NAMESPACE, __FUNCTION__);\
StringVariable = NULL;\
}
+#define RUN_POLLING_LOOP {\
+ g_pApplicationMainLoop = g_main_loop_new(NULL, false);\
+ nTimeoutId = g_timeout_add(TIMEOUT_CB, Timeout, g_pApplicationMainLoop);\
+ g_main_loop_run(g_pApplicationMainLoop);\
+ g_source_remove(nTimeoutId);\
+ g_pApplicationMainLoop = NULL;\
+}
+
/** @} */
#endif //_ITS_CAPMGR_COMMON_H_