Add working state for plural reports 86/181686/4
authorjunkyu han <junkyu.han@samsung.com>
Fri, 15 Jun 2018 13:01:30 +0000 (22:01 +0900)
committerjunkyu han <junkyu.han@samsung.com>
Mon, 18 Jun 2018 04:19:42 +0000 (13:19 +0900)
Change-Id: Ic50279ed6b0a517c8089c75d53d7023363670402

common/common-worker-inf-dbus.xml
common/common-worker-inf-def.h
daemon/src/ttd-worker-interface.c
lib/things-service-worker/include/log-private.h
lib/things-service-worker/include/ttd-worker-lib.h [moved from lib/things-service-worker/include/ttsd-worker-lib.h with 50% similarity]
lib/things-service-worker/src/ttd-worker-lib.c [moved from lib/things-service-worker/src/ttsd-worker-lib.c with 76% similarity]

index 91b6ee2..eb6e2d4 100644 (file)
@@ -5,12 +5,13 @@
        "http://standards.freedesktop.org/dbus/1.0/introspect.dtd">
 
 <node>
-       <interface name="ttsd.worker.dbus">
+       <interface name="ttd.worker.dbus">
 
                <!-- Method definitions -->
 
-               <method name="ttsd_worker_submit_report">
+               <method name="ttd_worker_submit_report">
                        <arg type="s" name="report" direction="in"/>
+                       <arg type="i" name="working_state" direction="in"/>
                        <arg type="i" name="ret" direction="out"/>
                </method>
 
index 8b140c7..803029a 100644 (file)
@@ -17,8 +17,8 @@
 #ifndef __TTD_COMMON_WORKER_INF_DEF_H__
 #define __TTD_COMMON_WORKER_INF_DEF_H__
 
-#define TTSD_WORKER_DBUS_NAME "ttsd.worker.dbus"
-#define TTSD_WORKER_DBUS_OBJECT_PATH "/ttsd_worker_dbus_object"
-#define TTSD_WORKER_DBUS_INTERFACE "ttsd.worker.dbus"
+#define TTD_WORKER_DBUS_NAME "ttd.worker.dbus"
+#define TTD_WORKER_DBUS_OBJECT_PATH "/ttd_worker_dbus_object"
+#define TTD_WORKER_DBUS_INTERFACE "ttd.worker.dbus"
 
 #endif /* __TTD_COMMON_WORKER_INF_DEF_H__ */
index 7d90971..0505f4a 100644 (file)
 struct _worker_interface_h {
        guint owner_id;
        GDBusObjectManagerServer *m_server;
-       TtsdWorkerDbus *dbus_obj;
+       TtdWorkerDbus *dbus_obj;
 };
 
-static gboolean __received_from_worker(TtsdWorkerDbus *obj, GDBusMethodInvocation *context, gchar *report, void *user_data)
+static void
+__received_from_worker(TtdWorkerDbus *obj,
+               GDBusMethodInvocation *context,
+               GVariant *parameters,
+               void *user_data)
 {
        int ret = 0;
-       _D("Report[%s] is arrived from worker", report);
 
-       if (!obj) {
-               _E("Dbus object is NULL");
-               ret = -1;
-               return FALSE;
-       }
-
-       if (!context) {
-               _E("Invocation is NULL");
-               ret = -1;
-               return FALSE;
-       }
-
-       if (!report) {
-               _E("Report is NULL");
-               ret = -1;
-               return FALSE;
-       }
-
-       ttsd_worker_dbus_complete_ttsd_worker_submit_report(obj, context, ret);
+       ret_if(!obj);
+       ret_if(!context);
+       ret_if(!parameters);
 
-       return FALSE;
+       ttd_worker_dbus_complete_ttd_worker_submit_report(obj, context, ret);
 }
 
 static void __on_name_acquired_cb(GDBusConnection *connection, const gchar *name, gpointer user_data)
@@ -75,14 +62,14 @@ static void __on_bus_acquired_cb(GDBusConnection *connection, const gchar *name,
        }
        worker_interface_h h = user_data;
 
-       h->m_server = g_dbus_object_manager_server_new(TTSD_WORKER_DBUS_OBJECT_PATH);
+       h->m_server = g_dbus_object_manager_server_new(TTD_WORKER_DBUS_OBJECT_PATH);
        if (!h->m_server) {
                _E("Failed to create dbus server");
                ttd_worker_interface_fini(h);
                return;
        }
 
-       h->dbus_obj = ttsd_worker_dbus_skeleton_new();
+       h->dbus_obj = ttd_worker_dbus_skeleton_new();
        if (!h->dbus_obj) {
                _E("Failed to create dbus skeleton");
                ttd_worker_interface_fini(h);
@@ -90,13 +77,13 @@ static void __on_bus_acquired_cb(GDBusConnection *connection, const gchar *name,
        }
 
        if (!g_dbus_interface_skeleton_export(G_DBUS_INTERFACE_SKELETON(h->dbus_obj),
-                               connection, TTSD_WORKER_DBUS_OBJECT_PATH, NULL)) {
+                               connection, TTD_WORKER_DBUS_OBJECT_PATH, NULL)) {
                _E("Failed to export interface with object path");
                ttd_worker_interface_fini(h);
                return;
        }
 
-       ret = g_signal_connect(h->dbus_obj, "handle-ttsd-worker-submit-report",
+       ret = g_signal_connect(h->dbus_obj, "handle-ttd-worker-submit-report",
                        G_CALLBACK (__received_from_worker), h);
        if (!ret) {
                _E("Failed to connect handle: submit-report");
@@ -123,7 +110,7 @@ int ttd_worker_interface_init(worker_interface_h *h)
        }
 
        _h->owner_id = g_bus_own_name(G_BUS_TYPE_SYSTEM,
-                       TTSD_WORKER_DBUS_NAME,
+                       TTD_WORKER_DBUS_NAME,
                        G_BUS_NAME_OWNER_FLAGS_NONE,
                        __on_bus_acquired_cb,
                        __on_name_acquired_cb,
index 1f27f69..469c438 100644 (file)
@@ -22,7 +22,7 @@
 #ifdef LOG_TAG
 #undef LOG_TAG
 #endif
-#define LOG_TAG "TTSD_LIB"
+#define LOG_TAG "TTD_LIB"
 
 #if !defined(_V)
 #define _V(fmt, arg...) dlog_print(DLOG_VERBOSE, LOG_TAG, "[%s:%d] " fmt "\n", __func__, __LINE__, ##arg)
  * limitations under the License.
  */
 
-#ifndef __TTSD_WORKER_LIB_H__
-#define __TTSD_WORKER_LIB_H__
+#ifndef __TTD_WORKER_LIB_H__
+#define __TTD_WORKER_LIB_H__
 
 typedef enum {
-       TTSD_WORKER_SUBMIT_SUCCESS,
-       TTSD_WORKER_SUBMIT_FAIL,
-} ttsd_worker_submit_result_e;
+       TTD_WORKER_SUBMIT_SUCCESS,
+       TTD_WORKER_SUBMIT_FAIL,
+} ttd_worker_submit_result_e;
 
-typedef void(*ttsd_worker_submit_report_completed_cb)(ttsd_worker_submit_result_e result, void *user_data);
+typedef enum {
+       TTD_WORKER_WORKING,
+       TTD_WORKER_COMPLETED,
+       TTD_WORKER_FAILED,
+} ttd_worker_working_state_e;
+
+typedef void(*ttd_worker_submit_report_completed_cb)(ttd_worker_submit_result_e result, void *user_data);
 
-int ttsd_worker_submit_report(const char *report, ttsd_worker_submit_report_completed_cb completed_cb, void *completed_cb_data);
-int ttsd_worker_submit_report_sync(const char *report);
+int ttd_worker_submit_report(const char *report, ttd_worker_working_state_e working_state,
+               ttd_worker_submit_report_completed_cb completed_cb, void *completed_cb_data);
+int ttd_worker_submit_report_sync(const char *report, ttd_worker_working_state_e working_state);
 
-#endif /* __TTSD_WORKER_LIB_H__ */
+#endif /* __TTD_WORKER_LIB_H__ */
 #include <gio/gio.h>
 
 #include "log-private.h"
-#include "ttsd-worker-lib.h"
+#include "ttd-worker-lib.h"
 #include "common-worker-inf-def.h"
 #include "common-worker-inf-dbus.h"
 
 typedef struct {
        GCancellable *cancellable;
-       TtsdWorkerDbus *dbus_object;
-       ttsd_worker_submit_report_completed_cb completed_cb;
+       TtdWorkerDbus *dbus_object;
+       ttd_worker_submit_report_completed_cb completed_cb;
        void *completed_cb_data;
 } dbus_h;
 
@@ -38,14 +38,18 @@ static void __submit_completed_cb(GObject *source_object, GAsyncResult *res, gpo
 static void __destroy_dbus_connection(dbus_h *h)
 {
        _D("Destory the DBus Connection");
+       if (!h)
+               return;
+
        if (h->cancellable) {
                g_cancellable_cancel(h->cancellable);
                g_object_unref(h->cancellable);
        }
+
        if (h->dbus_object)
                g_object_unref(h->dbus_object);
-       if (h)
-               g_free(h);
+
+       g_free(h);
 }
 
 static dbus_h *__make_dbus_connection(void)
@@ -61,10 +65,10 @@ static dbus_h *__make_dbus_connection(void)
 
        h->cancellable = g_cancellable_new();
 
-       h->dbus_object = ttsd_worker_dbus_proxy_new_for_bus_sync(G_BUS_TYPE_SYSTEM,
+       h->dbus_object = ttd_worker_dbus_proxy_new_for_bus_sync(G_BUS_TYPE_SYSTEM,
                        G_DBUS_PROXY_FLAGS_NONE,
-                       TTSD_WORKER_DBUS_NAME,
-                       TTSD_WORKER_DBUS_OBJECT_PATH,
+                       TTD_WORKER_DBUS_NAME,
+                       TTD_WORKER_DBUS_OBJECT_PATH,
                        h->cancellable,
                        &error);
        if (!h->dbus_object) {
@@ -83,7 +87,7 @@ static void __submit_completed_cb(GObject *source_object, GAsyncResult *res, gpo
        dbus_h *h = user_data;
        gint ret_val = -1;
        gboolean ret = FALSE;
-       ttsd_worker_submit_result_e result;
+       ttd_worker_submit_result_e result;
 
        _D("Send completed");
 
@@ -92,17 +96,17 @@ static void __submit_completed_cb(GObject *source_object, GAsyncResult *res, gpo
                return;
        }
 
-       ret = ttsd_worker_dbus_call_ttsd_worker_submit_report_finish(h->dbus_object, &ret_val, res, &g_error);
+       ret = ttd_worker_dbus_call_ttd_worker_submit_report_finish(h->dbus_object, &ret_val, res, &g_error);
        if (!ret) {
                _E("DBus proxy call is failed[%s]", g_error->message);
-               result = TTSD_WORKER_SUBMIT_FAIL;
+               result = TTD_WORKER_SUBMIT_FAIL;
                g_error_free(g_error);
        } else {
                if (ret_val < 0) {
                        _E("Submit report is failed");
-                       result = TTSD_WORKER_SUBMIT_FAIL;
+                       result = TTD_WORKER_SUBMIT_FAIL;
                } else
-                       result = TTSD_WORKER_SUBMIT_SUCCESS;
+                       result = TTD_WORKER_SUBMIT_SUCCESS;
        }
 
        if (h->completed_cb)
@@ -111,7 +115,8 @@ static void __submit_completed_cb(GObject *source_object, GAsyncResult *res, gpo
        __destroy_dbus_connection(h);
 }
 
-int ttsd_worker_submit_report(const char *report, ttsd_worker_submit_report_completed_cb completed_cb, void *user_data)
+int ttd_worker_submit_report(const char *report, ttd_worker_working_state_e working_state,
+               ttd_worker_submit_report_completed_cb completed_cb, void *user_data)
 {
        dbus_h *h = NULL;
 
@@ -124,8 +129,9 @@ int ttsd_worker_submit_report(const char *report, ttsd_worker_submit_report_comp
        h->completed_cb = completed_cb;
        h->completed_cb_data = user_data;
 
-       ttsd_worker_dbus_call_ttsd_worker_submit_report(h->dbus_object,
+       ttd_worker_dbus_call_ttd_worker_submit_report(h->dbus_object,
                        report,
+                       working_state,
                        h->cancellable,
                        (GAsyncReadyCallback) __submit_completed_cb,
                        h);
@@ -133,7 +139,7 @@ int ttsd_worker_submit_report(const char *report, ttsd_worker_submit_report_comp
        return 0;
 }
 
-int ttsd_worker_submit_report_sync(const char *report)
+int ttd_worker_submit_report_sync(const char *report, ttd_worker_working_state_e working_state)
 {
        dbus_h *h = NULL;
        GError *error = NULL;
@@ -146,8 +152,9 @@ int ttsd_worker_submit_report_sync(const char *report)
                return -1;
        }
 
-       ret = ttsd_worker_dbus_call_ttsd_worker_submit_report_sync(h->dbus_object,
+       ret = ttd_worker_dbus_call_ttd_worker_submit_report_sync(h->dbus_object,
                        report,
+                       working_state,
                        &ret_val,
                        h->cancellable,
                        &error);