static void handle_method_call (GDBusConnection *connection, const char *sender, const char *object_path, const char *interface_name, const char *method_name, GVariant *parameters, GDBusMethodInvocation *invocation, ServiceData *svc) { rb_debug ("handling metadata service message: %s.%s", interface_name, method_name); if (g_strcmp0 (method_name, "ping") == 0) { rb_metadata_dbus_ping (parameters, invocation, svc); } else if (g_strcmp0 (method_name, "load") == 0) { rb_metadata_dbus_load (parameters, invocation, svc); } else if (g_strcmp0 (method_name, "getSaveableTypes") == 0) { rb_metadata_dbus_get_saveable_types (parameters, invocation, svc); } else if (g_strcmp0 (method_name, "save") == 0) { rb_metadata_dbus_save (parameters, invocation, svc); } svc->last_active = time (NULL); }
static DBusHandlerResult _handle_message (DBusConnection *connection, DBusMessage *message, void *data) { ServiceData *svc = (ServiceData *)data; DBusHandlerResult result; rb_debug ("handling metadata service message: %s", dbus_message_get_member (message)); if (dbus_message_is_method_call (message, RB_METADATA_DBUS_INTERFACE, "load")) { result = rb_metadata_dbus_load (connection, message, svc); } else if (dbus_message_is_method_call (message, RB_METADATA_DBUS_INTERFACE, "getSaveableTypes")) { result = rb_metadata_dbus_get_saveable_types (connection, message, svc); } else if (dbus_message_is_method_call (message, RB_METADATA_DBUS_INTERFACE, "save")) { result = rb_metadata_dbus_save (connection, message, svc); } else if (dbus_message_is_method_call (message, RB_METADATA_DBUS_INTERFACE, "ping")) { result = rb_metadata_dbus_ping (connection, message, svc); } else { result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } svc->last_active = time (NULL); return result; }