/* tpf-logger.c generated by valac 0.10.0, the Vala compiler * generated from tpf-logger.vala, do not modify */ /* * Copyright (C) 2010 Collabora Ltd. * * This library is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 2.1 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library. If not, see . * * Authors: * Philip Withnall */ #include #include #include #include #include #include #include #include #define TYPE_ACCOUNT_FAVOURITES (account_favourites_get_type ()) typedef struct _AccountFavourites AccountFavourites; #define _g_free0(var) (var = (g_free (var), NULL)) #define TYPE_LOGGER_IFACE (logger_iface_get_type ()) #define LOGGER_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LOGGER_IFACE, LoggerIface)) #define IS_LOGGER_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LOGGER_IFACE)) #define LOGGER_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_LOGGER_IFACE, LoggerIfaceIface)) typedef struct _LoggerIface LoggerIface; typedef struct _LoggerIfaceIface LoggerIfaceIface; typedef struct _DBusObjectVTable _DBusObjectVTable; typedef struct _LoggerIfaceDBusProxy LoggerIfaceDBusProxy; typedef DBusGProxyClass LoggerIfaceDBusProxyClass; typedef struct _LoggerIfaceDBusProxyGetFavouriteContactsData LoggerIfaceDBusProxyGetFavouriteContactsData; typedef struct _LoggerIfaceDBusProxyAddFavouriteContactData LoggerIfaceDBusProxyAddFavouriteContactData; typedef struct _LoggerIfaceDBusProxyRemoveFavouriteContactData LoggerIfaceDBusProxyRemoveFavouriteContactData; #define TYPE_LOGGER (logger_get_type ()) #define LOGGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LOGGER, Logger)) #define LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LOGGER, LoggerClass)) #define IS_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LOGGER)) #define IS_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LOGGER)) #define LOGGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LOGGER, LoggerClass)) typedef struct _Logger Logger; typedef struct _LoggerClass LoggerClass; typedef struct _LoggerPrivate LoggerPrivate; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _dbus_g_connection_unref0(var) ((var == NULL) ? NULL : (var = (dbus_g_connection_unref (var), NULL))) typedef struct _LoggerGetFavouriteContactsData LoggerGetFavouriteContactsData; typedef struct _LoggerAddFavouriteContactData LoggerAddFavouriteContactData; typedef struct _LoggerRemoveFavouriteContactData LoggerRemoveFavouriteContactData; struct _AccountFavourites { char* account_path; char** ids; gint ids_length1; gint _ids_size_; }; struct _LoggerIfaceIface { GTypeInterface parent_iface; void (*get_favourite_contacts) (LoggerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_); AccountFavourites* (*get_favourite_contacts_finish) (LoggerIface* self, GAsyncResult* _res_, int* result_length1, GError** error); void (*add_favourite_contact) (LoggerIface* self, const char* account_path, const char* id, GAsyncReadyCallback _callback_, gpointer _user_data_); void (*add_favourite_contact_finish) (LoggerIface* self, GAsyncResult* _res_, GError** error); void (*remove_favourite_contact) (LoggerIface* self, const char* account_path, const char* id, GAsyncReadyCallback _callback_, gpointer _user_data_); void (*remove_favourite_contact_finish) (LoggerIface* self, GAsyncResult* _res_, GError** error); }; struct _DBusObjectVTable { void (*register_object) (DBusConnection*, const char*, void*); }; struct _LoggerIfaceDBusProxy { DBusGProxy parent_instance; gboolean disposed; }; struct _LoggerIfaceDBusProxyGetFavouriteContactsData { GAsyncReadyCallback _callback_; gpointer _user_data_; DBusPendingCall* pending; }; struct _LoggerIfaceDBusProxyAddFavouriteContactData { GAsyncReadyCallback _callback_; gpointer _user_data_; DBusPendingCall* pending; }; struct _LoggerIfaceDBusProxyRemoveFavouriteContactData { GAsyncReadyCallback _callback_; gpointer _user_data_; DBusPendingCall* pending; }; struct _Logger { GObject parent_instance; LoggerPrivate * priv; }; struct _LoggerClass { GObjectClass parent_class; }; struct _LoggerPrivate { char* account_path; }; struct _LoggerGetFavouriteContactsData { int _state_; GAsyncResult* _res_; GSimpleAsyncResult* _async_result; Logger* self; char** result; gint result_length1; char** _tmp0_; char** _tmp1_; AccountFavourites* favs; gint _tmp2_; gint favs_length1; gint _favs_size_; AccountFavourites* _tmp3_; char** _tmp4_; char** _tmp5_; AccountFavourites* account_collection; int account_collection_length1; int account_it; AccountFavourites _tmp6_; AccountFavourites account; char** _tmp7_; char** _tmp8_; GError * _inner_error_; }; struct _LoggerAddFavouriteContactData { int _state_; GAsyncResult* _res_; GSimpleAsyncResult* _async_result; Logger* self; char* id; char* _tmp0_; GError * _inner_error_; }; struct _LoggerRemoveFavouriteContactData { int _state_; GAsyncResult* _res_; GSimpleAsyncResult* _async_result; Logger* self; char* id; char* _tmp0_; GError * _inner_error_; }; static LoggerIface* logger_logger; static LoggerIface* logger_logger = NULL; static gpointer logger_parent_class = NULL; GType account_favourites_get_type (void) G_GNUC_CONST; AccountFavourites* account_favourites_dup (const AccountFavourites* self); void account_favourites_free (AccountFavourites* self); void account_favourites_copy (const AccountFavourites* self, AccountFavourites* dest); void account_favourites_destroy (AccountFavourites* self); static char** _vala_array_dup2 (char** self, int length); LoggerIface* logger_iface_dbus_proxy_new (DBusGConnection* connection, const char* name, const char* path); GType logger_iface_get_type (void) G_GNUC_CONST; void logger_iface_get_favourite_contacts (LoggerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_); AccountFavourites* logger_iface_get_favourite_contacts_finish (LoggerIface* self, GAsyncResult* _res_, int* result_length1, GError** error); void logger_iface_add_favourite_contact (LoggerIface* self, const char* account_path, const char* id, GAsyncReadyCallback _callback_, gpointer _user_data_); void logger_iface_add_favourite_contact_finish (LoggerIface* self, GAsyncResult* _res_, GError** error); void logger_iface_remove_favourite_contact (LoggerIface* self, const char* account_path, const char* id, GAsyncReadyCallback _callback_, gpointer _user_data_); void logger_iface_remove_favourite_contact_finish (LoggerIface* self, GAsyncResult* _res_, GError** error); static void _vala_dbus_register_object (DBusConnection* connection, const char* path, void* object); static void _vala_dbus_unregister_object (gpointer connection, GObject* object); void logger_iface_dbus_register_object (DBusConnection* connection, const char* path, void* object); void _logger_iface_dbus_unregister (DBusConnection* connection, void* _user_data_); DBusHandlerResult logger_iface_dbus_message (DBusConnection* connection, DBusMessage* message, void* object); static DBusHandlerResult _dbus_logger_iface_introspect (LoggerIface* self, DBusConnection* connection, DBusMessage* message); static DBusHandlerResult _dbus_logger_iface_property_get_all (LoggerIface* self, DBusConnection* connection, DBusMessage* message); static void _vala_AccountFavourites_array_free (AccountFavourites* array, gint array_length); static DBusHandlerResult _dbus_logger_iface_get_favourite_contacts (LoggerIface* self, DBusConnection* connection, DBusMessage* message); static void _dbus_logger_iface_get_favourite_contacts_ready (GObject * source_object, GAsyncResult * _res_, gpointer * _user_data_); static DBusHandlerResult _dbus_logger_iface_add_favourite_contact (LoggerIface* self, DBusConnection* connection, DBusMessage* message); static void _dbus_logger_iface_add_favourite_contact_ready (GObject * source_object, GAsyncResult * _res_, gpointer * _user_data_); static DBusHandlerResult _dbus_logger_iface_remove_favourite_contact (LoggerIface* self, DBusConnection* connection, DBusMessage* message); static void _dbus_logger_iface_remove_favourite_contact_ready (GObject * source_object, GAsyncResult * _res_, gpointer * _user_data_); static void _dbus_logger_iface_favourite_contacts_changed (GObject* _sender, const char* account_path, char** added, int added_length1, char** removed, int removed_length1, DBusConnection* _connection); GType logger_iface_dbus_proxy_get_type (void) G_GNUC_CONST; static void _dbus_handle_logger_iface_favourite_contacts_changed (LoggerIface* self, DBusConnection* connection, DBusMessage* message); DBusHandlerResult logger_iface_dbus_proxy_filter (DBusConnection* connection, DBusMessage* message, void* user_data); enum { LOGGER_IFACE_DBUS_PROXY_DUMMY_PROPERTY }; static void logger_iface_dbus_proxy_get_favourite_contacts_async (LoggerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_); static void logger_iface_dbus_proxy_get_favourite_contacts_ready (DBusPendingCall* pending, void* user_data); static AccountFavourites* logger_iface_dbus_proxy_get_favourite_contacts_finish (LoggerIface* self, GAsyncResult* _res_, int* result_length1, GError** error); static void logger_iface_dbus_proxy_add_favourite_contact_async (LoggerIface* self, const char* account_path, const char* id, GAsyncReadyCallback _callback_, gpointer _user_data_); static void logger_iface_dbus_proxy_add_favourite_contact_ready (DBusPendingCall* pending, void* user_data); static void logger_iface_dbus_proxy_add_favourite_contact_finish (LoggerIface* self, GAsyncResult* _res_, GError** error); static void logger_iface_dbus_proxy_remove_favourite_contact_async (LoggerIface* self, const char* account_path, const char* id, GAsyncReadyCallback _callback_, gpointer _user_data_); static void logger_iface_dbus_proxy_remove_favourite_contact_ready (DBusPendingCall* pending, void* user_data); static void logger_iface_dbus_proxy_remove_favourite_contact_finish (LoggerIface* self, GAsyncResult* _res_, GError** error); static void logger_iface_dbus_proxy_logger_iface__interface_init (LoggerIfaceIface* iface); static void logger_iface_dbus_proxy_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void logger_iface_dbus_proxy_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); GType logger_get_type (void) G_GNUC_CONST; #define LOGGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LOGGER, LoggerPrivate)) enum { LOGGER_DUMMY_PROPERTY }; Logger* logger_new (const char* account_path, GError** error); Logger* logger_construct (GType object_type, const char* account_path, GError** error); static void _lambda0_ (Logger* self); static void __lambda0__dbus_g_proxy_destroy (DBusGProxy* _sender, gpointer self); static void _lambda1_ (const char* ap, char** a, int a_length1, char** r, int r_length1, Logger* self); static void __lambda1__logger_iface_favourite_contacts_changed (LoggerIface* _sender, const char* account_path, char** added, int added_length1, char** removed, int removed_length1, gpointer self); static void logger_get_favourite_contacts_data_free (gpointer _data); static void logger_get_favourite_contacts_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); void logger_get_favourite_contacts (Logger* self, GAsyncReadyCallback _callback_, gpointer _user_data_); char** logger_get_favourite_contacts_finish (Logger* self, GAsyncResult* _res_, int* result_length1, GError** error); static gboolean logger_get_favourite_contacts_co (LoggerGetFavouriteContactsData* data); static char** _vala_array_dup3 (char** self, int length); static void logger_add_favourite_contact_data_free (gpointer _data); static void logger_add_favourite_contact_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); void logger_add_favourite_contact (Logger* self, const char* id, GAsyncReadyCallback _callback_, gpointer _user_data_); void logger_add_favourite_contact_finish (Logger* self, GAsyncResult* _res_, GError** error); static gboolean logger_add_favourite_contact_co (LoggerAddFavouriteContactData* data); static void logger_remove_favourite_contact_data_free (gpointer _data); static void logger_remove_favourite_contact_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); void logger_remove_favourite_contact (Logger* self, const char* id, GAsyncReadyCallback _callback_, gpointer _user_data_); void logger_remove_favourite_contact_finish (Logger* self, GAsyncResult* _res_, GError** error); static gboolean logger_remove_favourite_contact_co (LoggerRemoveFavouriteContactData* data); static void logger_finalize (GObject* obj); static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); static int _vala_strcmp0 (const char * str1, const char * str2); static const DBusObjectPathVTable _logger_iface_dbus_path_vtable = {_logger_iface_dbus_unregister, logger_iface_dbus_message}; static const _DBusObjectVTable _logger_iface_dbus_vtable = {logger_iface_dbus_register_object}; static void g_cclosure_user_marshal_VOID__BOXED_BOXED_INT_BOXED_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); static void g_cclosure_user_marshal_VOID__BOXED_INT_BOXED_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); static char** _vala_array_dup2 (char** self, int length) { char** result; int i; result = g_new0 (char*, length + 1); for (i = 0; i < length; i++) { result[i] = g_strdup (self[i]); } return result; } void account_favourites_copy (const AccountFavourites* self, AccountFavourites* dest) { char** _tmp0_; dest->account_path = g_strdup (self->account_path); dest->ids = (_tmp0_ = self->ids, (_tmp0_ == NULL) ? ((gpointer) _tmp0_) : _vala_array_dup2 (_tmp0_, (*self).ids_length1)); dest->ids_length1 = self->ids_length1; } void account_favourites_destroy (AccountFavourites* self) { _g_free0 (self->account_path); self->ids = (_vala_array_free (self->ids, (*self).ids_length1, (GDestroyNotify) g_free), NULL); } AccountFavourites* account_favourites_dup (const AccountFavourites* self) { AccountFavourites* dup; dup = g_new0 (AccountFavourites, 1); account_favourites_copy (self, dup); return dup; } void account_favourites_free (AccountFavourites* self) { account_favourites_destroy (self); g_free (self); } GType account_favourites_get_type (void) { static volatile gsize account_favourites_type_id__volatile = 0; if (g_once_init_enter (&account_favourites_type_id__volatile)) { GType account_favourites_type_id; account_favourites_type_id = g_boxed_type_register_static ("AccountFavourites", (GBoxedCopyFunc) account_favourites_dup, (GBoxedFreeFunc) account_favourites_free); g_once_init_leave (&account_favourites_type_id__volatile, account_favourites_type_id); } return account_favourites_type_id__volatile; } void logger_iface_get_favourite_contacts (LoggerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { LOGGER_IFACE_GET_INTERFACE (self)->get_favourite_contacts (self, _callback_, _user_data_); } AccountFavourites* logger_iface_get_favourite_contacts_finish (LoggerIface* self, GAsyncResult* _res_, int* result_length1, GError** error) { return LOGGER_IFACE_GET_INTERFACE (self)->get_favourite_contacts_finish (self, _res_, result_length1, error); } void logger_iface_add_favourite_contact (LoggerIface* self, const char* account_path, const char* id, GAsyncReadyCallback _callback_, gpointer _user_data_) { LOGGER_IFACE_GET_INTERFACE (self)->add_favourite_contact (self, account_path, id, _callback_, _user_data_); } void logger_iface_add_favourite_contact_finish (LoggerIface* self, GAsyncResult* _res_, GError** error) { LOGGER_IFACE_GET_INTERFACE (self)->add_favourite_contact_finish (self, _res_, error); } void logger_iface_remove_favourite_contact (LoggerIface* self, const char* account_path, const char* id, GAsyncReadyCallback _callback_, gpointer _user_data_) { LOGGER_IFACE_GET_INTERFACE (self)->remove_favourite_contact (self, account_path, id, _callback_, _user_data_); } void logger_iface_remove_favourite_contact_finish (LoggerIface* self, GAsyncResult* _res_, GError** error) { LOGGER_IFACE_GET_INTERFACE (self)->remove_favourite_contact_finish (self, _res_, error); } static void _vala_dbus_register_object (DBusConnection* connection, const char* path, void* object) { const _DBusObjectVTable * vtable; vtable = g_type_get_qdata (G_TYPE_FROM_INSTANCE (object), g_quark_from_static_string ("DBusObjectVTable")); if (vtable) { vtable->register_object (connection, path, object); } else { g_warning ("Object does not implement any D-Bus interface"); } } static void _vala_dbus_unregister_object (gpointer connection, GObject* object) { char* path; path = g_object_steal_data ((GObject*) object, "dbus_object_path"); dbus_connection_unregister_object_path (connection, path); g_free (path); } void _logger_iface_dbus_unregister (DBusConnection* connection, void* _user_data_) { } static DBusHandlerResult _dbus_logger_iface_introspect (LoggerIface* self, DBusConnection* connection, DBusMessage* message) { DBusMessage* reply; DBusMessageIter iter; GString* xml_data; char** children; int i; reply = dbus_message_new_method_return (message); dbus_message_iter_init_append (reply, &iter); xml_data = g_string_new ("\n"); g_string_append (xml_data, "\n\n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n"); dbus_connection_list_registered (connection, g_object_get_data ((GObject *) self, "dbus_object_path"), &children); for (i = 0; children[i]; i++) { g_string_append_printf (xml_data, "\n", children[i]); } dbus_free_string_array (children); g_string_append (xml_data, "\n"); dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &xml_data->str); g_string_free (xml_data, TRUE); if (reply) { dbus_connection_send (connection, reply, NULL); dbus_message_unref (reply); return DBUS_HANDLER_RESULT_HANDLED; } else { return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } } static DBusHandlerResult _dbus_logger_iface_property_get_all (LoggerIface* self, DBusConnection* connection, DBusMessage* message) { DBusMessage* reply; DBusMessageIter iter, reply_iter, subiter; char* interface_name; const char* _tmp0_; if (strcmp (dbus_message_get_signature (message), "s")) { return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } dbus_message_iter_init (message, &iter); reply = dbus_message_new_method_return (message); dbus_message_iter_init_append (reply, &reply_iter); dbus_message_iter_get_basic (&iter, &_tmp0_); dbus_message_iter_next (&iter); interface_name = g_strdup (_tmp0_); if (strcmp (interface_name, "org.freedesktop.Telepathy.Logger.DRAFT") == 0) { dbus_message_iter_open_container (&reply_iter, DBUS_TYPE_ARRAY, "{sv}", &subiter); dbus_message_iter_close_container (&reply_iter, &subiter); } else { dbus_message_unref (reply); reply = NULL; } g_free (interface_name); if (reply) { dbus_connection_send (connection, reply, NULL); dbus_message_unref (reply); return DBUS_HANDLER_RESULT_HANDLED; } else { return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } } static void _vala_AccountFavourites_array_free (AccountFavourites* array, gint array_length) { if (array != NULL) { int i; for (i = 0; i < array_length; i = i + 1) { account_favourites_destroy (&array[i]); } } g_free (array); } static DBusHandlerResult _dbus_logger_iface_get_favourite_contacts (LoggerIface* self, DBusConnection* connection, DBusMessage* message) { DBusMessageIter iter; gpointer * _user_data_; if (strcmp (dbus_message_get_signature (message), "")) { return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } dbus_message_iter_init (message, &iter); _user_data_ = g_new0 (gpointer, 2); _user_data_[0] = dbus_connection_ref (connection); _user_data_[1] = dbus_message_ref (message); logger_iface_get_favourite_contacts (self, (GAsyncReadyCallback) _dbus_logger_iface_get_favourite_contacts_ready, _user_data_); return DBUS_HANDLER_RESULT_HANDLED; } static void _dbus_logger_iface_get_favourite_contacts_ready (GObject * source_object, GAsyncResult * _res_, gpointer * _user_data_) { DBusConnection * connection; DBusMessage * message; DBusMessageIter iter; GError* error; AccountFavourites* result; int result_length1; DBusMessage* reply; AccountFavourites* _tmp1_; DBusMessageIter _tmp2_; int _tmp3_; connection = _user_data_[0]; message = _user_data_[1]; error = NULL; result_length1 = 0; result = logger_iface_get_favourite_contacts_finish ((LoggerIface*) source_object, _res_, &result_length1, &error); if (error) { if (error->domain == DBUS_GERROR) { switch (error->code) { case DBUS_GERROR_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Failed", error->message); break; case DBUS_GERROR_NO_MEMORY: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoMemory", error->message); break; case DBUS_GERROR_SERVICE_UNKNOWN: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.ServiceUnknown", error->message); break; case DBUS_GERROR_NAME_HAS_NO_OWNER: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NameHasNoOwner", error->message); break; case DBUS_GERROR_NO_REPLY: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoReply", error->message); break; case DBUS_GERROR_IO_ERROR: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.IOError", error->message); break; case DBUS_GERROR_BAD_ADDRESS: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.BadAddress", error->message); break; case DBUS_GERROR_NOT_SUPPORTED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NotSupported", error->message); break; case DBUS_GERROR_LIMITS_EXCEEDED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.LimitsExceeded", error->message); break; case DBUS_GERROR_ACCESS_DENIED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.AccessDenied", error->message); break; case DBUS_GERROR_AUTH_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.AuthFailed", error->message); break; case DBUS_GERROR_NO_SERVER: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoServer", error->message); break; case DBUS_GERROR_TIMEOUT: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Timeout", error->message); break; case DBUS_GERROR_NO_NETWORK: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoNetwork", error->message); break; case DBUS_GERROR_ADDRESS_IN_USE: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.AddressInUse", error->message); break; case DBUS_GERROR_DISCONNECTED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Disconnected", error->message); break; case DBUS_GERROR_INVALID_ARGS: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.InvalidArgs", error->message); break; case DBUS_GERROR_FILE_NOT_FOUND: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.FileNotFound", error->message); break; case DBUS_GERROR_FILE_EXISTS: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.FileExists", error->message); break; case DBUS_GERROR_UNKNOWN_METHOD: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.UnknownMethod", error->message); break; case DBUS_GERROR_TIMED_OUT: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.TimedOut", error->message); break; case DBUS_GERROR_MATCH_RULE_NOT_FOUND: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.MatchRuleNotFound", error->message); break; case DBUS_GERROR_MATCH_RULE_INVALID: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.MatchRuleInvalid", error->message); break; case DBUS_GERROR_SPAWN_EXEC_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ExecFailed", error->message); break; case DBUS_GERROR_SPAWN_FORK_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ForkFailed", error->message); break; case DBUS_GERROR_SPAWN_CHILD_EXITED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ChildExited", error->message); break; case DBUS_GERROR_SPAWN_CHILD_SIGNALED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ChildSignaled", error->message); break; case DBUS_GERROR_SPAWN_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.Failed", error->message); break; case DBUS_GERROR_UNIX_PROCESS_ID_UNKNOWN: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.UnixProcessIdUnknown", error->message); break; case DBUS_GERROR_INVALID_SIGNATURE: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.InvalidSignature", error->message); break; case DBUS_GERROR_INVALID_FILE_CONTENT: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.InvalidFileContent", error->message); break; case DBUS_GERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown", error->message); break; case DBUS_GERROR_REMOTE_EXCEPTION: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.RemoteException", error->message); break; } } dbus_connection_send (connection, reply, NULL); dbus_message_unref (reply); return; } reply = dbus_message_new_method_return (message); dbus_message_iter_init_append (reply, &iter); _tmp1_ = result; dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, "(oas)", &_tmp2_); for (_tmp3_ = 0; _tmp3_ < result_length1; _tmp3_++) { DBusMessageIter _tmp4_; const char* _tmp5_; char** _tmp6_; DBusMessageIter _tmp7_; int _tmp8_; dbus_message_iter_open_container (&_tmp2_, DBUS_TYPE_STRUCT, NULL, &_tmp4_); _tmp5_ = (*_tmp1_).account_path; dbus_message_iter_append_basic (&_tmp4_, DBUS_TYPE_OBJECT_PATH, &_tmp5_); _tmp6_ = (*_tmp1_).ids; dbus_message_iter_open_container (&_tmp4_, DBUS_TYPE_ARRAY, "s", &_tmp7_); for (_tmp8_ = 0; _tmp8_ < (*_tmp1_).ids_length1; _tmp8_++) { const char* _tmp9_; _tmp9_ = *_tmp6_; dbus_message_iter_append_basic (&_tmp7_, DBUS_TYPE_STRING, &_tmp9_); _tmp6_++; } dbus_message_iter_close_container (&_tmp4_, &_tmp7_); dbus_message_iter_close_container (&_tmp2_, &_tmp4_); _tmp1_++; } dbus_message_iter_close_container (&iter, &_tmp2_); result = (_vala_AccountFavourites_array_free (result, result_length1), NULL); dbus_connection_send (connection, reply, NULL); dbus_message_unref (reply); dbus_connection_unref (connection); dbus_message_unref (message); g_free (_user_data_); } static DBusHandlerResult _dbus_logger_iface_add_favourite_contact (LoggerIface* self, DBusConnection* connection, DBusMessage* message) { DBusMessageIter iter; char* account_path = NULL; const char* _tmp10_; char* id = NULL; const char* _tmp11_; gpointer * _user_data_; if (strcmp (dbus_message_get_signature (message), "os")) { return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } dbus_message_iter_init (message, &iter); dbus_message_iter_get_basic (&iter, &_tmp10_); dbus_message_iter_next (&iter); account_path = g_strdup (_tmp10_); dbus_message_iter_get_basic (&iter, &_tmp11_); dbus_message_iter_next (&iter); id = g_strdup (_tmp11_); _user_data_ = g_new0 (gpointer, 2); _user_data_[0] = dbus_connection_ref (connection); _user_data_[1] = dbus_message_ref (message); logger_iface_add_favourite_contact (self, account_path, id, (GAsyncReadyCallback) _dbus_logger_iface_add_favourite_contact_ready, _user_data_); _g_free0 (account_path); _g_free0 (id); return DBUS_HANDLER_RESULT_HANDLED; } static void _dbus_logger_iface_add_favourite_contact_ready (GObject * source_object, GAsyncResult * _res_, gpointer * _user_data_) { DBusConnection * connection; DBusMessage * message; DBusMessageIter iter; GError* error; DBusMessage* reply; connection = _user_data_[0]; message = _user_data_[1]; error = NULL; logger_iface_add_favourite_contact_finish ((LoggerIface*) source_object, _res_, &error); if (error) { if (error->domain == DBUS_GERROR) { switch (error->code) { case DBUS_GERROR_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Failed", error->message); break; case DBUS_GERROR_NO_MEMORY: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoMemory", error->message); break; case DBUS_GERROR_SERVICE_UNKNOWN: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.ServiceUnknown", error->message); break; case DBUS_GERROR_NAME_HAS_NO_OWNER: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NameHasNoOwner", error->message); break; case DBUS_GERROR_NO_REPLY: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoReply", error->message); break; case DBUS_GERROR_IO_ERROR: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.IOError", error->message); break; case DBUS_GERROR_BAD_ADDRESS: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.BadAddress", error->message); break; case DBUS_GERROR_NOT_SUPPORTED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NotSupported", error->message); break; case DBUS_GERROR_LIMITS_EXCEEDED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.LimitsExceeded", error->message); break; case DBUS_GERROR_ACCESS_DENIED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.AccessDenied", error->message); break; case DBUS_GERROR_AUTH_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.AuthFailed", error->message); break; case DBUS_GERROR_NO_SERVER: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoServer", error->message); break; case DBUS_GERROR_TIMEOUT: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Timeout", error->message); break; case DBUS_GERROR_NO_NETWORK: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoNetwork", error->message); break; case DBUS_GERROR_ADDRESS_IN_USE: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.AddressInUse", error->message); break; case DBUS_GERROR_DISCONNECTED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Disconnected", error->message); break; case DBUS_GERROR_INVALID_ARGS: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.InvalidArgs", error->message); break; case DBUS_GERROR_FILE_NOT_FOUND: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.FileNotFound", error->message); break; case DBUS_GERROR_FILE_EXISTS: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.FileExists", error->message); break; case DBUS_GERROR_UNKNOWN_METHOD: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.UnknownMethod", error->message); break; case DBUS_GERROR_TIMED_OUT: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.TimedOut", error->message); break; case DBUS_GERROR_MATCH_RULE_NOT_FOUND: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.MatchRuleNotFound", error->message); break; case DBUS_GERROR_MATCH_RULE_INVALID: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.MatchRuleInvalid", error->message); break; case DBUS_GERROR_SPAWN_EXEC_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ExecFailed", error->message); break; case DBUS_GERROR_SPAWN_FORK_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ForkFailed", error->message); break; case DBUS_GERROR_SPAWN_CHILD_EXITED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ChildExited", error->message); break; case DBUS_GERROR_SPAWN_CHILD_SIGNALED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ChildSignaled", error->message); break; case DBUS_GERROR_SPAWN_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.Failed", error->message); break; case DBUS_GERROR_UNIX_PROCESS_ID_UNKNOWN: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.UnixProcessIdUnknown", error->message); break; case DBUS_GERROR_INVALID_SIGNATURE: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.InvalidSignature", error->message); break; case DBUS_GERROR_INVALID_FILE_CONTENT: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.InvalidFileContent", error->message); break; case DBUS_GERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown", error->message); break; case DBUS_GERROR_REMOTE_EXCEPTION: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.RemoteException", error->message); break; } } dbus_connection_send (connection, reply, NULL); dbus_message_unref (reply); return; } reply = dbus_message_new_method_return (message); dbus_message_iter_init_append (reply, &iter); dbus_connection_send (connection, reply, NULL); dbus_message_unref (reply); dbus_connection_unref (connection); dbus_message_unref (message); g_free (_user_data_); } static DBusHandlerResult _dbus_logger_iface_remove_favourite_contact (LoggerIface* self, DBusConnection* connection, DBusMessage* message) { DBusMessageIter iter; char* account_path = NULL; const char* _tmp12_; char* id = NULL; const char* _tmp13_; gpointer * _user_data_; if (strcmp (dbus_message_get_signature (message), "os")) { return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } dbus_message_iter_init (message, &iter); dbus_message_iter_get_basic (&iter, &_tmp12_); dbus_message_iter_next (&iter); account_path = g_strdup (_tmp12_); dbus_message_iter_get_basic (&iter, &_tmp13_); dbus_message_iter_next (&iter); id = g_strdup (_tmp13_); _user_data_ = g_new0 (gpointer, 2); _user_data_[0] = dbus_connection_ref (connection); _user_data_[1] = dbus_message_ref (message); logger_iface_remove_favourite_contact (self, account_path, id, (GAsyncReadyCallback) _dbus_logger_iface_remove_favourite_contact_ready, _user_data_); _g_free0 (account_path); _g_free0 (id); return DBUS_HANDLER_RESULT_HANDLED; } static void _dbus_logger_iface_remove_favourite_contact_ready (GObject * source_object, GAsyncResult * _res_, gpointer * _user_data_) { DBusConnection * connection; DBusMessage * message; DBusMessageIter iter; GError* error; DBusMessage* reply; connection = _user_data_[0]; message = _user_data_[1]; error = NULL; logger_iface_remove_favourite_contact_finish ((LoggerIface*) source_object, _res_, &error); if (error) { if (error->domain == DBUS_GERROR) { switch (error->code) { case DBUS_GERROR_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Failed", error->message); break; case DBUS_GERROR_NO_MEMORY: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoMemory", error->message); break; case DBUS_GERROR_SERVICE_UNKNOWN: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.ServiceUnknown", error->message); break; case DBUS_GERROR_NAME_HAS_NO_OWNER: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NameHasNoOwner", error->message); break; case DBUS_GERROR_NO_REPLY: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoReply", error->message); break; case DBUS_GERROR_IO_ERROR: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.IOError", error->message); break; case DBUS_GERROR_BAD_ADDRESS: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.BadAddress", error->message); break; case DBUS_GERROR_NOT_SUPPORTED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NotSupported", error->message); break; case DBUS_GERROR_LIMITS_EXCEEDED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.LimitsExceeded", error->message); break; case DBUS_GERROR_ACCESS_DENIED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.AccessDenied", error->message); break; case DBUS_GERROR_AUTH_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.AuthFailed", error->message); break; case DBUS_GERROR_NO_SERVER: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoServer", error->message); break; case DBUS_GERROR_TIMEOUT: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Timeout", error->message); break; case DBUS_GERROR_NO_NETWORK: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoNetwork", error->message); break; case DBUS_GERROR_ADDRESS_IN_USE: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.AddressInUse", error->message); break; case DBUS_GERROR_DISCONNECTED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Disconnected", error->message); break; case DBUS_GERROR_INVALID_ARGS: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.InvalidArgs", error->message); break; case DBUS_GERROR_FILE_NOT_FOUND: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.FileNotFound", error->message); break; case DBUS_GERROR_FILE_EXISTS: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.FileExists", error->message); break; case DBUS_GERROR_UNKNOWN_METHOD: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.UnknownMethod", error->message); break; case DBUS_GERROR_TIMED_OUT: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.TimedOut", error->message); break; case DBUS_GERROR_MATCH_RULE_NOT_FOUND: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.MatchRuleNotFound", error->message); break; case DBUS_GERROR_MATCH_RULE_INVALID: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.MatchRuleInvalid", error->message); break; case DBUS_GERROR_SPAWN_EXEC_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ExecFailed", error->message); break; case DBUS_GERROR_SPAWN_FORK_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ForkFailed", error->message); break; case DBUS_GERROR_SPAWN_CHILD_EXITED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ChildExited", error->message); break; case DBUS_GERROR_SPAWN_CHILD_SIGNALED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ChildSignaled", error->message); break; case DBUS_GERROR_SPAWN_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.Failed", error->message); break; case DBUS_GERROR_UNIX_PROCESS_ID_UNKNOWN: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.UnixProcessIdUnknown", error->message); break; case DBUS_GERROR_INVALID_SIGNATURE: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.InvalidSignature", error->message); break; case DBUS_GERROR_INVALID_FILE_CONTENT: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.InvalidFileContent", error->message); break; case DBUS_GERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown", error->message); break; case DBUS_GERROR_REMOTE_EXCEPTION: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.RemoteException", error->message); break; } } dbus_connection_send (connection, reply, NULL); dbus_message_unref (reply); return; } reply = dbus_message_new_method_return (message); dbus_message_iter_init_append (reply, &iter); dbus_connection_send (connection, reply, NULL); dbus_message_unref (reply); dbus_connection_unref (connection); dbus_message_unref (message); g_free (_user_data_); } DBusHandlerResult logger_iface_dbus_message (DBusConnection* connection, DBusMessage* message, void* object) { DBusHandlerResult result; result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED; if (dbus_message_is_method_call (message, "org.freedesktop.DBus.Introspectable", "Introspect")) { result = _dbus_logger_iface_introspect (object, connection, message); } else if (dbus_message_is_method_call (message, "org.freedesktop.DBus.Properties", "GetAll")) { result = _dbus_logger_iface_property_get_all (object, connection, message); } else if (dbus_message_is_method_call (message, "org.freedesktop.Telepathy.Logger.DRAFT", "GetFavouriteContacts")) { result = _dbus_logger_iface_get_favourite_contacts (object, connection, message); } else if (dbus_message_is_method_call (message, "org.freedesktop.Telepathy.Logger.DRAFT", "AddFavouriteContact")) { result = _dbus_logger_iface_add_favourite_contact (object, connection, message); } else if (dbus_message_is_method_call (message, "org.freedesktop.Telepathy.Logger.DRAFT", "RemoveFavouriteContact")) { result = _dbus_logger_iface_remove_favourite_contact (object, connection, message); } if (result == DBUS_HANDLER_RESULT_HANDLED) { return result; } else { return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } } static void _dbus_logger_iface_favourite_contacts_changed (GObject* _sender, const char* account_path, char** added, int added_length1, char** removed, int removed_length1, DBusConnection* _connection) { const char * _path; DBusMessage *_message; DBusMessageIter _iter; const char* _tmp14_; char** _tmp15_; DBusMessageIter _tmp16_; int _tmp17_; char** _tmp19_; DBusMessageIter _tmp20_; int _tmp21_; _path = g_object_get_data (_sender, "dbus_object_path"); _message = dbus_message_new_signal (_path, "org.freedesktop.Telepathy.Logger.DRAFT", "FavouriteContactsChanged"); dbus_message_iter_init_append (_message, &_iter); _tmp14_ = account_path; dbus_message_iter_append_basic (&_iter, DBUS_TYPE_OBJECT_PATH, &_tmp14_); _tmp15_ = added; dbus_message_iter_open_container (&_iter, DBUS_TYPE_ARRAY, "s", &_tmp16_); for (_tmp17_ = 0; _tmp17_ < added_length1; _tmp17_++) { const char* _tmp18_; _tmp18_ = *_tmp15_; dbus_message_iter_append_basic (&_tmp16_, DBUS_TYPE_STRING, &_tmp18_); _tmp15_++; } dbus_message_iter_close_container (&_iter, &_tmp16_); _tmp19_ = removed; dbus_message_iter_open_container (&_iter, DBUS_TYPE_ARRAY, "s", &_tmp20_); for (_tmp21_ = 0; _tmp21_ < removed_length1; _tmp21_++) { const char* _tmp22_; _tmp22_ = *_tmp19_; dbus_message_iter_append_basic (&_tmp20_, DBUS_TYPE_STRING, &_tmp22_); _tmp19_++; } dbus_message_iter_close_container (&_iter, &_tmp20_); dbus_connection_send (_connection, _message, NULL); dbus_message_unref (_message); } void logger_iface_dbus_register_object (DBusConnection* connection, const char* path, void* object) { if (!g_object_get_data (object, "dbus_object_path")) { g_object_set_data (object, "dbus_object_path", g_strdup (path)); dbus_connection_register_object_path (connection, path, &_logger_iface_dbus_path_vtable, object); g_object_weak_ref (object, _vala_dbus_unregister_object, connection); } g_signal_connect (object, "favourite-contacts-changed", (GCallback) _dbus_logger_iface_favourite_contacts_changed, connection); } static void logger_iface_base_init (LoggerIfaceIface * iface) { static gboolean initialized = FALSE; if (!initialized) { initialized = TRUE; g_signal_new ("favourite_contacts_changed", TYPE_LOGGER_IFACE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__BOXED_BOXED_INT_BOXED_INT, G_TYPE_NONE, 5, DBUS_TYPE_G_OBJECT_PATH, G_TYPE_STRV, G_TYPE_INT, G_TYPE_STRV, G_TYPE_INT); g_type_set_qdata (TYPE_LOGGER_IFACE, g_quark_from_static_string ("DBusObjectVTable"), (void*) (&_logger_iface_dbus_vtable)); } } GType logger_iface_get_type (void) { static volatile gsize logger_iface_type_id__volatile = 0; if (g_once_init_enter (&logger_iface_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (LoggerIfaceIface), (GBaseInitFunc) logger_iface_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; GType logger_iface_type_id; logger_iface_type_id = g_type_register_static (G_TYPE_INTERFACE, "LoggerIface", &g_define_type_info, 0); g_type_interface_add_prerequisite (logger_iface_type_id, DBUS_TYPE_G_PROXY); g_type_set_qdata (logger_iface_type_id, g_quark_from_string ("ValaDBusInterfaceProxyType"), &logger_iface_dbus_proxy_get_type); g_once_init_leave (&logger_iface_type_id__volatile, logger_iface_type_id); } return logger_iface_type_id__volatile; } G_DEFINE_TYPE_EXTENDED (LoggerIfaceDBusProxy, logger_iface_dbus_proxy, DBUS_TYPE_G_PROXY, 0, G_IMPLEMENT_INTERFACE (TYPE_LOGGER_IFACE, logger_iface_dbus_proxy_logger_iface__interface_init) ); LoggerIface* logger_iface_dbus_proxy_new (DBusGConnection* connection, const char* name, const char* path) { LoggerIface* self; self = g_object_new (logger_iface_dbus_proxy_get_type (), "connection", connection, "name", name, "path", path, "interface", "org.freedesktop.Telepathy.Logger.DRAFT", NULL); return self; } static GObject* logger_iface_dbus_proxy_construct (GType gtype, guint n_properties, GObjectConstructParam* properties) { GObject* self; DBusGConnection *connection; char* path; char* filter; self = G_OBJECT_CLASS (logger_iface_dbus_proxy_parent_class)->constructor (gtype, n_properties, properties); g_object_get (self, "connection", &connection, NULL); g_object_get (self, "path", &path, NULL); dbus_connection_add_filter (dbus_g_connection_get_connection (connection), logger_iface_dbus_proxy_filter, self, NULL); filter = g_strdup_printf ("type='signal',path='%s'", path); dbus_bus_add_match (dbus_g_connection_get_connection (connection), filter, NULL); dbus_g_connection_unref (connection); g_free (path); g_free (filter); return self; } static void _dbus_handle_logger_iface_favourite_contacts_changed (LoggerIface* self, DBusConnection* connection, DBusMessage* message) { DBusMessageIter iter; char* account_path = NULL; const char* _tmp0_; char** added = NULL; int added_length1; char** _tmp1_; int _tmp1__length; int _tmp1__size; int _tmp1__length1; DBusMessageIter _tmp2_; char** removed = NULL; int removed_length1; char** _tmp4_; int _tmp4__length; int _tmp4__size; int _tmp4__length1; DBusMessageIter _tmp5_; DBusMessage* reply; if (strcmp (dbus_message_get_signature (message), "oasas")) { return; } dbus_message_iter_init (message, &iter); dbus_message_iter_get_basic (&iter, &_tmp0_); dbus_message_iter_next (&iter); account_path = g_strdup (_tmp0_); added_length1 = 0; _tmp1_ = g_new (char*, 5); _tmp1__length = 0; _tmp1__size = 4; _tmp1__length1 = 0; dbus_message_iter_recurse (&iter, &_tmp2_); for (; dbus_message_iter_get_arg_type (&_tmp2_); _tmp1__length1++) { const char* _tmp3_; if (_tmp1__size == _tmp1__length) { _tmp1__size = 2 * _tmp1__size; _tmp1_ = g_renew (char*, _tmp1_, _tmp1__size + 1); } dbus_message_iter_get_basic (&_tmp2_, &_tmp3_); dbus_message_iter_next (&_tmp2_); _tmp1_[_tmp1__length++] = g_strdup (_tmp3_); } added_length1 = _tmp1__length1; _tmp1_[_tmp1__length] = NULL; dbus_message_iter_next (&iter); added = _tmp1_; removed_length1 = 0; _tmp4_ = g_new (char*, 5); _tmp4__length = 0; _tmp4__size = 4; _tmp4__length1 = 0; dbus_message_iter_recurse (&iter, &_tmp5_); for (; dbus_message_iter_get_arg_type (&_tmp5_); _tmp4__length1++) { const char* _tmp6_; if (_tmp4__size == _tmp4__length) { _tmp4__size = 2 * _tmp4__size; _tmp4_ = g_renew (char*, _tmp4_, _tmp4__size + 1); } dbus_message_iter_get_basic (&_tmp5_, &_tmp6_); dbus_message_iter_next (&_tmp5_); _tmp4_[_tmp4__length++] = g_strdup (_tmp6_); } removed_length1 = _tmp4__length1; _tmp4_[_tmp4__length] = NULL; dbus_message_iter_next (&iter); removed = _tmp4_; g_signal_emit_by_name (self, "favourite-contacts-changed", account_path, added, added_length1, removed, removed_length1); _g_free0 (account_path); added = (_vala_array_free (added, added_length1, (GDestroyNotify) g_free), NULL); removed = (_vala_array_free (removed, removed_length1, (GDestroyNotify) g_free), NULL); } DBusHandlerResult logger_iface_dbus_proxy_filter (DBusConnection* connection, DBusMessage* message, void* user_data) { if (dbus_message_has_path (message, dbus_g_proxy_get_path (user_data))) { if (dbus_message_is_signal (message, "org.freedesktop.Telepathy.Logger.DRAFT", "FavouriteContactsChanged")) { _dbus_handle_logger_iface_favourite_contacts_changed (user_data, connection, message); } } return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } static void logger_iface_dbus_proxy_dispose (GObject* self) { DBusGConnection *connection; if (((LoggerIfaceDBusProxy*) self)->disposed) { return; } ((LoggerIfaceDBusProxy*) self)->disposed = TRUE; g_object_get (self, "connection", &connection, NULL); dbus_connection_remove_filter (dbus_g_connection_get_connection (connection), logger_iface_dbus_proxy_filter, self); G_OBJECT_CLASS (logger_iface_dbus_proxy_parent_class)->dispose (self); } static void logger_iface_dbus_proxy_class_init (LoggerIfaceDBusProxyClass* klass) { G_OBJECT_CLASS (klass)->constructor = logger_iface_dbus_proxy_construct; G_OBJECT_CLASS (klass)->dispose = logger_iface_dbus_proxy_dispose; G_OBJECT_CLASS (klass)->get_property = logger_iface_dbus_proxy_get_property; G_OBJECT_CLASS (klass)->set_property = logger_iface_dbus_proxy_set_property; } static void logger_iface_dbus_proxy_init (LoggerIfaceDBusProxy* self) { } static void logger_iface_dbus_proxy_get_favourite_contacts_async (LoggerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { DBusGConnection *_connection; DBusMessage *_message; DBusPendingCall *_pending; DBusMessageIter _iter; LoggerIfaceDBusProxyGetFavouriteContactsData* _data_; _message = dbus_message_new_method_call (dbus_g_proxy_get_bus_name ((DBusGProxy*) self), dbus_g_proxy_get_path ((DBusGProxy*) self), "org.freedesktop.Telepathy.Logger.DRAFT", "GetFavouriteContacts"); dbus_message_iter_init_append (_message, &_iter); g_object_get (self, "connection", &_connection, NULL); dbus_connection_send_with_reply (dbus_g_connection_get_connection (_connection), _message, &_pending, -1); dbus_g_connection_unref (_connection); dbus_message_unref (_message); _data_ = g_slice_new0 (LoggerIfaceDBusProxyGetFavouriteContactsData); _data_->_callback_ = _callback_; _data_->_user_data_ = _user_data_; _data_->pending = _pending; dbus_pending_call_set_notify (_pending, logger_iface_dbus_proxy_get_favourite_contacts_ready, _data_, NULL); } static void logger_iface_dbus_proxy_get_favourite_contacts_ready (DBusPendingCall* pending, void* user_data) { LoggerIfaceDBusProxyGetFavouriteContactsData* _data_; GObject * _obj_; GSimpleAsyncResult * _res_; _data_ = user_data; _obj_ = g_object_newv (G_TYPE_OBJECT, 0, NULL); _res_ = g_simple_async_result_new (_obj_, _data_->_callback_, _data_->_user_data_, _data_); g_simple_async_result_complete (_res_); g_object_unref (_obj_); g_object_unref (_res_); g_slice_free (LoggerIfaceDBusProxyGetFavouriteContactsData, _data_); dbus_pending_call_unref (pending); } static AccountFavourites* logger_iface_dbus_proxy_get_favourite_contacts_finish (LoggerIface* self, GAsyncResult* _res_, int* result_length1, GError** error) { LoggerIfaceDBusProxyGetFavouriteContactsData* _data_; DBusError _dbus_error; DBusMessage *_reply; DBusMessageIter _iter; AccountFavourites* _result; int _result_length1; AccountFavourites* _tmp16_; int _tmp16__length; int _tmp16__size; int _tmp16__length1; DBusMessageIter _tmp17_; _data_ = g_simple_async_result_get_source_tag ((GSimpleAsyncResult *) _res_); dbus_error_init (&_dbus_error); _reply = dbus_pending_call_steal_reply (_data_->pending); dbus_set_error_from_message (&_dbus_error, _reply); if (dbus_error_is_set (&_dbus_error)) { GQuark _edomain; gint _ecode; if (strstr (_dbus_error.name, "org.freedesktop.DBus.Error") == _dbus_error.name) { const char* _tmp15_; _edomain = DBUS_GERROR; _tmp15_ = _dbus_error.name + 27; if (strcmp (_tmp15_, "Failed") == 0) { _ecode = DBUS_GERROR_FAILED; } else if (strcmp (_tmp15_, "NoMemory") == 0) { _ecode = DBUS_GERROR_NO_MEMORY; } else if (strcmp (_tmp15_, "ServiceUnknown") == 0) { _ecode = DBUS_GERROR_SERVICE_UNKNOWN; } else if (strcmp (_tmp15_, "NameHasNoOwner") == 0) { _ecode = DBUS_GERROR_NAME_HAS_NO_OWNER; } else if (strcmp (_tmp15_, "NoReply") == 0) { _ecode = DBUS_GERROR_NO_REPLY; } else if (strcmp (_tmp15_, "IOError") == 0) { _ecode = DBUS_GERROR_IO_ERROR; } else if (strcmp (_tmp15_, "BadAddress") == 0) { _ecode = DBUS_GERROR_BAD_ADDRESS; } else if (strcmp (_tmp15_, "NotSupported") == 0) { _ecode = DBUS_GERROR_NOT_SUPPORTED; } else if (strcmp (_tmp15_, "LimitsExceeded") == 0) { _ecode = DBUS_GERROR_LIMITS_EXCEEDED; } else if (strcmp (_tmp15_, "AccessDenied") == 0) { _ecode = DBUS_GERROR_ACCESS_DENIED; } else if (strcmp (_tmp15_, "AuthFailed") == 0) { _ecode = DBUS_GERROR_AUTH_FAILED; } else if (strcmp (_tmp15_, "NoServer") == 0) { _ecode = DBUS_GERROR_NO_SERVER; } else if (strcmp (_tmp15_, "Timeout") == 0) { _ecode = DBUS_GERROR_TIMEOUT; } else if (strcmp (_tmp15_, "NoNetwork") == 0) { _ecode = DBUS_GERROR_NO_NETWORK; } else if (strcmp (_tmp15_, "AddressInUse") == 0) { _ecode = DBUS_GERROR_ADDRESS_IN_USE; } else if (strcmp (_tmp15_, "Disconnected") == 0) { _ecode = DBUS_GERROR_DISCONNECTED; } else if (strcmp (_tmp15_, "InvalidArgs") == 0) { _ecode = DBUS_GERROR_INVALID_ARGS; } else if (strcmp (_tmp15_, "FileNotFound") == 0) { _ecode = DBUS_GERROR_FILE_NOT_FOUND; } else if (strcmp (_tmp15_, "FileExists") == 0) { _ecode = DBUS_GERROR_FILE_EXISTS; } else if (strcmp (_tmp15_, "UnknownMethod") == 0) { _ecode = DBUS_GERROR_UNKNOWN_METHOD; } else if (strcmp (_tmp15_, "TimedOut") == 0) { _ecode = DBUS_GERROR_TIMED_OUT; } else if (strcmp (_tmp15_, "MatchRuleNotFound") == 0) { _ecode = DBUS_GERROR_MATCH_RULE_NOT_FOUND; } else if (strcmp (_tmp15_, "MatchRuleInvalid") == 0) { _ecode = DBUS_GERROR_MATCH_RULE_INVALID; } else if (strcmp (_tmp15_, "Spawn.ExecFailed") == 0) { _ecode = DBUS_GERROR_SPAWN_EXEC_FAILED; } else if (strcmp (_tmp15_, "Spawn.ForkFailed") == 0) { _ecode = DBUS_GERROR_SPAWN_FORK_FAILED; } else if (strcmp (_tmp15_, "Spawn.ChildExited") == 0) { _ecode = DBUS_GERROR_SPAWN_CHILD_EXITED; } else if (strcmp (_tmp15_, "Spawn.ChildSignaled") == 0) { _ecode = DBUS_GERROR_SPAWN_CHILD_SIGNALED; } else if (strcmp (_tmp15_, "Spawn.Failed") == 0) { _ecode = DBUS_GERROR_SPAWN_FAILED; } else if (strcmp (_tmp15_, "UnixProcessIdUnknown") == 0) { _ecode = DBUS_GERROR_UNIX_PROCESS_ID_UNKNOWN; } else if (strcmp (_tmp15_, "InvalidSignature") == 0) { _ecode = DBUS_GERROR_INVALID_SIGNATURE; } else if (strcmp (_tmp15_, "InvalidFileContent") == 0) { _ecode = DBUS_GERROR_INVALID_FILE_CONTENT; } else if (strcmp (_tmp15_, "SELinuxSecurityContextUnknown") == 0) { _ecode = DBUS_GERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN; } else if (strcmp (_tmp15_, "RemoteException") == 0) { _ecode = DBUS_GERROR_REMOTE_EXCEPTION; } } g_set_error (error, _edomain, _ecode, "%s", _dbus_error.message); dbus_error_free (&_dbus_error); return NULL; } if (strcmp (dbus_message_get_signature (_reply), "a(oas)")) { g_set_error (error, DBUS_GERROR, DBUS_GERROR_INVALID_SIGNATURE, "Invalid signature, expected \"%s\", got \"%s\"", "a(oas)", dbus_message_get_signature (_reply)); dbus_message_unref (_reply); return NULL; } dbus_message_iter_init (_reply, &_iter); _result_length1 = 0; _tmp16_ = g_new (AccountFavourites, 5); _tmp16__length = 0; _tmp16__size = 4; _tmp16__length1 = 0; dbus_message_iter_recurse (&_iter, &_tmp17_); for (; dbus_message_iter_get_arg_type (&_tmp17_); _tmp16__length1++) { AccountFavourites _tmp18_; DBusMessageIter _tmp19_; const char* _tmp20_; char** _tmp21_; int _tmp21__length; int _tmp21__size; int _tmp21__length1; DBusMessageIter _tmp22_; if (_tmp16__size == _tmp16__length) { _tmp16__size = 2 * _tmp16__size; _tmp16_ = g_renew (AccountFavourites, _tmp16_, _tmp16__size + 1); } dbus_message_iter_recurse (&_tmp17_, &_tmp19_); dbus_message_iter_get_basic (&_tmp19_, &_tmp20_); dbus_message_iter_next (&_tmp19_); _tmp18_.account_path = g_strdup (_tmp20_); _tmp21_ = g_new (char*, 5); _tmp21__length = 0; _tmp21__size = 4; _tmp21__length1 = 0; dbus_message_iter_recurse (&_tmp19_, &_tmp22_); for (; dbus_message_iter_get_arg_type (&_tmp22_); _tmp21__length1++) { const char* _tmp23_; if (_tmp21__size == _tmp21__length) { _tmp21__size = 2 * _tmp21__size; _tmp21_ = g_renew (char*, _tmp21_, _tmp21__size + 1); } dbus_message_iter_get_basic (&_tmp22_, &_tmp23_); dbus_message_iter_next (&_tmp22_); _tmp21_[_tmp21__length++] = g_strdup (_tmp23_); } _tmp18_.ids_length1 = _tmp21__length1; _tmp21_[_tmp21__length] = NULL; dbus_message_iter_next (&_tmp19_); _tmp18_.ids = _tmp21_; dbus_message_iter_next (&_tmp17_); _tmp16_[_tmp16__length++] = _tmp18_; } _result_length1 = _tmp16__length1; dbus_message_iter_next (&_iter); _result = _tmp16_; *result_length1 = _result_length1; dbus_message_unref (_reply); return _result; } static void logger_iface_dbus_proxy_add_favourite_contact_async (LoggerIface* self, const char* account_path, const char* id, GAsyncReadyCallback _callback_, gpointer _user_data_) { DBusGConnection *_connection; DBusMessage *_message; DBusPendingCall *_pending; DBusMessageIter _iter; const char* _tmp24_; const char* _tmp25_; LoggerIfaceDBusProxyAddFavouriteContactData* _data_; _message = dbus_message_new_method_call (dbus_g_proxy_get_bus_name ((DBusGProxy*) self), dbus_g_proxy_get_path ((DBusGProxy*) self), "org.freedesktop.Telepathy.Logger.DRAFT", "AddFavouriteContact"); dbus_message_iter_init_append (_message, &_iter); _tmp24_ = account_path; dbus_message_iter_append_basic (&_iter, DBUS_TYPE_OBJECT_PATH, &_tmp24_); _tmp25_ = id; dbus_message_iter_append_basic (&_iter, DBUS_TYPE_STRING, &_tmp25_); g_object_get (self, "connection", &_connection, NULL); dbus_connection_send_with_reply (dbus_g_connection_get_connection (_connection), _message, &_pending, -1); dbus_g_connection_unref (_connection); dbus_message_unref (_message); _data_ = g_slice_new0 (LoggerIfaceDBusProxyAddFavouriteContactData); _data_->_callback_ = _callback_; _data_->_user_data_ = _user_data_; _data_->pending = _pending; dbus_pending_call_set_notify (_pending, logger_iface_dbus_proxy_add_favourite_contact_ready, _data_, NULL); } static void logger_iface_dbus_proxy_add_favourite_contact_ready (DBusPendingCall* pending, void* user_data) { LoggerIfaceDBusProxyAddFavouriteContactData* _data_; GObject * _obj_; GSimpleAsyncResult * _res_; _data_ = user_data; _obj_ = g_object_newv (G_TYPE_OBJECT, 0, NULL); _res_ = g_simple_async_result_new (_obj_, _data_->_callback_, _data_->_user_data_, _data_); g_simple_async_result_complete (_res_); g_object_unref (_obj_); g_object_unref (_res_); g_slice_free (LoggerIfaceDBusProxyAddFavouriteContactData, _data_); dbus_pending_call_unref (pending); } static void logger_iface_dbus_proxy_add_favourite_contact_finish (LoggerIface* self, GAsyncResult* _res_, GError** error) { LoggerIfaceDBusProxyAddFavouriteContactData* _data_; DBusError _dbus_error; DBusMessage *_reply; DBusMessageIter _iter; _data_ = g_simple_async_result_get_source_tag ((GSimpleAsyncResult *) _res_); dbus_error_init (&_dbus_error); _reply = dbus_pending_call_steal_reply (_data_->pending); dbus_set_error_from_message (&_dbus_error, _reply); if (dbus_error_is_set (&_dbus_error)) { GQuark _edomain; gint _ecode; if (strstr (_dbus_error.name, "org.freedesktop.DBus.Error") == _dbus_error.name) { const char* _tmp26_; _edomain = DBUS_GERROR; _tmp26_ = _dbus_error.name + 27; if (strcmp (_tmp26_, "Failed") == 0) { _ecode = DBUS_GERROR_FAILED; } else if (strcmp (_tmp26_, "NoMemory") == 0) { _ecode = DBUS_GERROR_NO_MEMORY; } else if (strcmp (_tmp26_, "ServiceUnknown") == 0) { _ecode = DBUS_GERROR_SERVICE_UNKNOWN; } else if (strcmp (_tmp26_, "NameHasNoOwner") == 0) { _ecode = DBUS_GERROR_NAME_HAS_NO_OWNER; } else if (strcmp (_tmp26_, "NoReply") == 0) { _ecode = DBUS_GERROR_NO_REPLY; } else if (strcmp (_tmp26_, "IOError") == 0) { _ecode = DBUS_GERROR_IO_ERROR; } else if (strcmp (_tmp26_, "BadAddress") == 0) { _ecode = DBUS_GERROR_BAD_ADDRESS; } else if (strcmp (_tmp26_, "NotSupported") == 0) { _ecode = DBUS_GERROR_NOT_SUPPORTED; } else if (strcmp (_tmp26_, "LimitsExceeded") == 0) { _ecode = DBUS_GERROR_LIMITS_EXCEEDED; } else if (strcmp (_tmp26_, "AccessDenied") == 0) { _ecode = DBUS_GERROR_ACCESS_DENIED; } else if (strcmp (_tmp26_, "AuthFailed") == 0) { _ecode = DBUS_GERROR_AUTH_FAILED; } else if (strcmp (_tmp26_, "NoServer") == 0) { _ecode = DBUS_GERROR_NO_SERVER; } else if (strcmp (_tmp26_, "Timeout") == 0) { _ecode = DBUS_GERROR_TIMEOUT; } else if (strcmp (_tmp26_, "NoNetwork") == 0) { _ecode = DBUS_GERROR_NO_NETWORK; } else if (strcmp (_tmp26_, "AddressInUse") == 0) { _ecode = DBUS_GERROR_ADDRESS_IN_USE; } else if (strcmp (_tmp26_, "Disconnected") == 0) { _ecode = DBUS_GERROR_DISCONNECTED; } else if (strcmp (_tmp26_, "InvalidArgs") == 0) { _ecode = DBUS_GERROR_INVALID_ARGS; } else if (strcmp (_tmp26_, "FileNotFound") == 0) { _ecode = DBUS_GERROR_FILE_NOT_FOUND; } else if (strcmp (_tmp26_, "FileExists") == 0) { _ecode = DBUS_GERROR_FILE_EXISTS; } else if (strcmp (_tmp26_, "UnknownMethod") == 0) { _ecode = DBUS_GERROR_UNKNOWN_METHOD; } else if (strcmp (_tmp26_, "TimedOut") == 0) { _ecode = DBUS_GERROR_TIMED_OUT; } else if (strcmp (_tmp26_, "MatchRuleNotFound") == 0) { _ecode = DBUS_GERROR_MATCH_RULE_NOT_FOUND; } else if (strcmp (_tmp26_, "MatchRuleInvalid") == 0) { _ecode = DBUS_GERROR_MATCH_RULE_INVALID; } else if (strcmp (_tmp26_, "Spawn.ExecFailed") == 0) { _ecode = DBUS_GERROR_SPAWN_EXEC_FAILED; } else if (strcmp (_tmp26_, "Spawn.ForkFailed") == 0) { _ecode = DBUS_GERROR_SPAWN_FORK_FAILED; } else if (strcmp (_tmp26_, "Spawn.ChildExited") == 0) { _ecode = DBUS_GERROR_SPAWN_CHILD_EXITED; } else if (strcmp (_tmp26_, "Spawn.ChildSignaled") == 0) { _ecode = DBUS_GERROR_SPAWN_CHILD_SIGNALED; } else if (strcmp (_tmp26_, "Spawn.Failed") == 0) { _ecode = DBUS_GERROR_SPAWN_FAILED; } else if (strcmp (_tmp26_, "UnixProcessIdUnknown") == 0) { _ecode = DBUS_GERROR_UNIX_PROCESS_ID_UNKNOWN; } else if (strcmp (_tmp26_, "InvalidSignature") == 0) { _ecode = DBUS_GERROR_INVALID_SIGNATURE; } else if (strcmp (_tmp26_, "InvalidFileContent") == 0) { _ecode = DBUS_GERROR_INVALID_FILE_CONTENT; } else if (strcmp (_tmp26_, "SELinuxSecurityContextUnknown") == 0) { _ecode = DBUS_GERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN; } else if (strcmp (_tmp26_, "RemoteException") == 0) { _ecode = DBUS_GERROR_REMOTE_EXCEPTION; } } g_set_error (error, _edomain, _ecode, "%s", _dbus_error.message); dbus_error_free (&_dbus_error); return; } if (strcmp (dbus_message_get_signature (_reply), "")) { g_set_error (error, DBUS_GERROR, DBUS_GERROR_INVALID_SIGNATURE, "Invalid signature, expected \"%s\", got \"%s\"", "", dbus_message_get_signature (_reply)); dbus_message_unref (_reply); return; } dbus_message_iter_init (_reply, &_iter); dbus_message_unref (_reply); } static void logger_iface_dbus_proxy_remove_favourite_contact_async (LoggerIface* self, const char* account_path, const char* id, GAsyncReadyCallback _callback_, gpointer _user_data_) { DBusGConnection *_connection; DBusMessage *_message; DBusPendingCall *_pending; DBusMessageIter _iter; const char* _tmp29_; const char* _tmp30_; LoggerIfaceDBusProxyRemoveFavouriteContactData* _data_; _message = dbus_message_new_method_call (dbus_g_proxy_get_bus_name ((DBusGProxy*) self), dbus_g_proxy_get_path ((DBusGProxy*) self), "org.freedesktop.Telepathy.Logger.DRAFT", "RemoveFavouriteContact"); dbus_message_iter_init_append (_message, &_iter); _tmp29_ = account_path; dbus_message_iter_append_basic (&_iter, DBUS_TYPE_OBJECT_PATH, &_tmp29_); _tmp30_ = id; dbus_message_iter_append_basic (&_iter, DBUS_TYPE_STRING, &_tmp30_); g_object_get (self, "connection", &_connection, NULL); dbus_connection_send_with_reply (dbus_g_connection_get_connection (_connection), _message, &_pending, -1); dbus_g_connection_unref (_connection); dbus_message_unref (_message); _data_ = g_slice_new0 (LoggerIfaceDBusProxyRemoveFavouriteContactData); _data_->_callback_ = _callback_; _data_->_user_data_ = _user_data_; _data_->pending = _pending; dbus_pending_call_set_notify (_pending, logger_iface_dbus_proxy_remove_favourite_contact_ready, _data_, NULL); } static void logger_iface_dbus_proxy_remove_favourite_contact_ready (DBusPendingCall* pending, void* user_data) { LoggerIfaceDBusProxyRemoveFavouriteContactData* _data_; GObject * _obj_; GSimpleAsyncResult * _res_; _data_ = user_data; _obj_ = g_object_newv (G_TYPE_OBJECT, 0, NULL); _res_ = g_simple_async_result_new (_obj_, _data_->_callback_, _data_->_user_data_, _data_); g_simple_async_result_complete (_res_); g_object_unref (_obj_); g_object_unref (_res_); g_slice_free (LoggerIfaceDBusProxyRemoveFavouriteContactData, _data_); dbus_pending_call_unref (pending); } static void logger_iface_dbus_proxy_remove_favourite_contact_finish (LoggerIface* self, GAsyncResult* _res_, GError** error) { LoggerIfaceDBusProxyRemoveFavouriteContactData* _data_; DBusError _dbus_error; DBusMessage *_reply; DBusMessageIter _iter; _data_ = g_simple_async_result_get_source_tag ((GSimpleAsyncResult *) _res_); dbus_error_init (&_dbus_error); _reply = dbus_pending_call_steal_reply (_data_->pending); dbus_set_error_from_message (&_dbus_error, _reply); if (dbus_error_is_set (&_dbus_error)) { GQuark _edomain; gint _ecode; if (strstr (_dbus_error.name, "org.freedesktop.DBus.Error") == _dbus_error.name) { const char* _tmp31_; _edomain = DBUS_GERROR; _tmp31_ = _dbus_error.name + 27; if (strcmp (_tmp31_, "Failed") == 0) { _ecode = DBUS_GERROR_FAILED; } else if (strcmp (_tmp31_, "NoMemory") == 0) { _ecode = DBUS_GERROR_NO_MEMORY; } else if (strcmp (_tmp31_, "ServiceUnknown") == 0) { _ecode = DBUS_GERROR_SERVICE_UNKNOWN; } else if (strcmp (_tmp31_, "NameHasNoOwner") == 0) { _ecode = DBUS_GERROR_NAME_HAS_NO_OWNER; } else if (strcmp (_tmp31_, "NoReply") == 0) { _ecode = DBUS_GERROR_NO_REPLY; } else if (strcmp (_tmp31_, "IOError") == 0) { _ecode = DBUS_GERROR_IO_ERROR; } else if (strcmp (_tmp31_, "BadAddress") == 0) { _ecode = DBUS_GERROR_BAD_ADDRESS; } else if (strcmp (_tmp31_, "NotSupported") == 0) { _ecode = DBUS_GERROR_NOT_SUPPORTED; } else if (strcmp (_tmp31_, "LimitsExceeded") == 0) { _ecode = DBUS_GERROR_LIMITS_EXCEEDED; } else if (strcmp (_tmp31_, "AccessDenied") == 0) { _ecode = DBUS_GERROR_ACCESS_DENIED; } else if (strcmp (_tmp31_, "AuthFailed") == 0) { _ecode = DBUS_GERROR_AUTH_FAILED; } else if (strcmp (_tmp31_, "NoServer") == 0) { _ecode = DBUS_GERROR_NO_SERVER; } else if (strcmp (_tmp31_, "Timeout") == 0) { _ecode = DBUS_GERROR_TIMEOUT; } else if (strcmp (_tmp31_, "NoNetwork") == 0) { _ecode = DBUS_GERROR_NO_NETWORK; } else if (strcmp (_tmp31_, "AddressInUse") == 0) { _ecode = DBUS_GERROR_ADDRESS_IN_USE; } else if (strcmp (_tmp31_, "Disconnected") == 0) { _ecode = DBUS_GERROR_DISCONNECTED; } else if (strcmp (_tmp31_, "InvalidArgs") == 0) { _ecode = DBUS_GERROR_INVALID_ARGS; } else if (strcmp (_tmp31_, "FileNotFound") == 0) { _ecode = DBUS_GERROR_FILE_NOT_FOUND; } else if (strcmp (_tmp31_, "FileExists") == 0) { _ecode = DBUS_GERROR_FILE_EXISTS; } else if (strcmp (_tmp31_, "UnknownMethod") == 0) { _ecode = DBUS_GERROR_UNKNOWN_METHOD; } else if (strcmp (_tmp31_, "TimedOut") == 0) { _ecode = DBUS_GERROR_TIMED_OUT; } else if (strcmp (_tmp31_, "MatchRuleNotFound") == 0) { _ecode = DBUS_GERROR_MATCH_RULE_NOT_FOUND; } else if (strcmp (_tmp31_, "MatchRuleInvalid") == 0) { _ecode = DBUS_GERROR_MATCH_RULE_INVALID; } else if (strcmp (_tmp31_, "Spawn.ExecFailed") == 0) { _ecode = DBUS_GERROR_SPAWN_EXEC_FAILED; } else if (strcmp (_tmp31_, "Spawn.ForkFailed") == 0) { _ecode = DBUS_GERROR_SPAWN_FORK_FAILED; } else if (strcmp (_tmp31_, "Spawn.ChildExited") == 0) { _ecode = DBUS_GERROR_SPAWN_CHILD_EXITED; } else if (strcmp (_tmp31_, "Spawn.ChildSignaled") == 0) { _ecode = DBUS_GERROR_SPAWN_CHILD_SIGNALED; } else if (strcmp (_tmp31_, "Spawn.Failed") == 0) { _ecode = DBUS_GERROR_SPAWN_FAILED; } else if (strcmp (_tmp31_, "UnixProcessIdUnknown") == 0) { _ecode = DBUS_GERROR_UNIX_PROCESS_ID_UNKNOWN; } else if (strcmp (_tmp31_, "InvalidSignature") == 0) { _ecode = DBUS_GERROR_INVALID_SIGNATURE; } else if (strcmp (_tmp31_, "InvalidFileContent") == 0) { _ecode = DBUS_GERROR_INVALID_FILE_CONTENT; } else if (strcmp (_tmp31_, "SELinuxSecurityContextUnknown") == 0) { _ecode = DBUS_GERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN; } else if (strcmp (_tmp31_, "RemoteException") == 0) { _ecode = DBUS_GERROR_REMOTE_EXCEPTION; } } g_set_error (error, _edomain, _ecode, "%s", _dbus_error.message); dbus_error_free (&_dbus_error); return; } if (strcmp (dbus_message_get_signature (_reply), "")) { g_set_error (error, DBUS_GERROR, DBUS_GERROR_INVALID_SIGNATURE, "Invalid signature, expected \"%s\", got \"%s\"", "", dbus_message_get_signature (_reply)); dbus_message_unref (_reply); return; } dbus_message_iter_init (_reply, &_iter); dbus_message_unref (_reply); } static void logger_iface_dbus_proxy_logger_iface__interface_init (LoggerIfaceIface* iface) { iface->get_favourite_contacts = logger_iface_dbus_proxy_get_favourite_contacts_async; iface->get_favourite_contacts_finish = logger_iface_dbus_proxy_get_favourite_contacts_finish; iface->add_favourite_contact = logger_iface_dbus_proxy_add_favourite_contact_async; iface->add_favourite_contact_finish = logger_iface_dbus_proxy_add_favourite_contact_finish; iface->remove_favourite_contact = logger_iface_dbus_proxy_remove_favourite_contact_async; iface->remove_favourite_contact_finish = logger_iface_dbus_proxy_remove_favourite_contact_finish; } static void logger_iface_dbus_proxy_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { } static void logger_iface_dbus_proxy_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { } static void _lambda0_ (Logger* self) { LoggerIface* _tmp0_; logger_logger = (_tmp0_ = NULL, _g_object_unref0 (logger_logger), _tmp0_); g_signal_emit_by_name (self, "invalidated"); } static void __lambda0__dbus_g_proxy_destroy (DBusGProxy* _sender, gpointer self) { _lambda0_ (self); } static void _lambda1_ (const char* ap, char** a, int a_length1, char** r, int r_length1, Logger* self) { g_return_if_fail (ap != NULL); if (_vala_strcmp0 (ap, self->priv->account_path) != 0) { return; } g_signal_emit_by_name (self, "favourite-contacts-changed", a, a_length1, r, r_length1); } static void __lambda1__logger_iface_favourite_contacts_changed (LoggerIface* _sender, const char* account_path, char** added, int added_length1, char** removed, int removed_length1, gpointer self) { _lambda1_ (account_path, added, added_length1, removed, removed_length1, self); } Logger* logger_construct (GType object_type, const char* account_path, GError** error) { Logger * self; char* _tmp1_; GError * _inner_error_ = NULL; g_return_val_if_fail (account_path != NULL, NULL); self = (Logger*) g_object_new (object_type, NULL); if (logger_logger == NULL) { DBusGConnection* dbus_conn; LoggerIface* _tmp0_; dbus_conn = dbus_g_bus_get (DBUS_BUS_SESSION, &_inner_error_); if (_inner_error_ != NULL) { if (_inner_error_->domain == DBUS_GERROR) { g_propagate_error (error, _inner_error_); _g_object_unref0 (self); return NULL; } else { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return NULL; } } logger_logger = (_tmp0_ = logger_iface_dbus_proxy_new (dbus_conn, "org.freedesktop.Telepathy.Logger", "/org/freedesktop/Telepathy/Logger"), _g_object_unref0 (logger_logger), _tmp0_); g_signal_connect_object ((DBusGProxy*) logger_logger, "destroy", (GCallback) __lambda0__dbus_g_proxy_destroy, self, 0); _dbus_g_connection_unref0 (dbus_conn); } self->priv->account_path = (_tmp1_ = g_strdup (account_path), _g_free0 (self->priv->account_path), _tmp1_); g_signal_connect_object (logger_logger, "favourite-contacts-changed", (GCallback) __lambda1__logger_iface_favourite_contacts_changed, self, 0); return self; } Logger* logger_new (const char* account_path, GError** error) { return logger_construct (TYPE_LOGGER, account_path, error); } static void logger_get_favourite_contacts_data_free (gpointer _data) { LoggerGetFavouriteContactsData* data; data = _data; data->result = (_vala_array_free (data->result, data->result_length1, (GDestroyNotify) g_free), NULL); g_object_unref (data->self); g_slice_free (LoggerGetFavouriteContactsData, data); } void logger_get_favourite_contacts (Logger* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { LoggerGetFavouriteContactsData* _data_; _data_ = g_slice_new0 (LoggerGetFavouriteContactsData); _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, logger_get_favourite_contacts); g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, logger_get_favourite_contacts_data_free); _data_->self = g_object_ref (self); logger_get_favourite_contacts_co (_data_); } char** logger_get_favourite_contacts_finish (Logger* self, GAsyncResult* _res_, int* result_length1, GError** error) { char** result; LoggerGetFavouriteContactsData* _data_; if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) { return NULL; } _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_)); result = _data_->result; *result_length1 = _data_->result_length1; _data_->result = NULL; return result; } static void logger_get_favourite_contacts_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) { LoggerGetFavouriteContactsData* data; data = _user_data_; data->_res_ = _res_; logger_get_favourite_contacts_co (data); } static char** _vala_array_dup3 (char** self, int length) { char** result; int i; result = g_new0 (char*, length + 1); for (i = 0; i < length; i++) { result[i] = g_strdup (self[i]); } return result; } static gboolean logger_get_favourite_contacts_co (LoggerGetFavouriteContactsData* data) { switch (data->_state_) { case 0: goto _state_0; default: g_assert_not_reached (); case 10: goto _state_10; } _state_0: if (logger_logger == NULL) { data->_tmp0_ = NULL; data->result = (data->_tmp1_ = (data->_tmp0_ = g_new0 (char*, 0 + 1), data->_tmp0_), data->result_length1 = 0, data->_tmp1_); { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } } data->_state_ = 10; logger_iface_get_favourite_contacts (logger_logger, logger_get_favourite_contacts_ready, data); return FALSE; _state_10: data->favs = (data->_tmp3_ = logger_iface_get_favourite_contacts_finish (logger_logger, data->_res_, &data->_tmp2_, &data->_inner_error_), data->favs_length1 = data->_tmp2_, data->_favs_size_ = data->favs_length1, data->_tmp3_); if (data->_inner_error_ != NULL) { if (data->_inner_error_->domain == DBUS_GERROR) { g_simple_async_result_set_from_error (data->_async_result, data->_inner_error_); g_error_free (data->_inner_error_); { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } } else { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, data->_inner_error_->message, g_quark_to_string (data->_inner_error_->domain), data->_inner_error_->code); g_clear_error (&data->_inner_error_); return FALSE; } } { data->account_collection = data->favs; data->account_collection_length1 = data->favs_length1; for (data->account_it = 0; data->account_it < data->favs_length1; data->account_it = data->account_it + 1) { memset (&data->_tmp6_, 0, sizeof (AccountFavourites)); data->account = (account_favourites_copy (&data->account_collection[data->account_it], &data->_tmp6_), data->_tmp6_); { if (_vala_strcmp0 (data->account.account_path, data->self->priv->account_path) == 0) { data->result = (data->_tmp5_ = (data->_tmp4_ = data->account.ids, (data->_tmp4_ == NULL) ? ((gpointer) data->_tmp4_) : _vala_array_dup3 (data->_tmp4_, data->account.ids_length1)), data->result_length1 = data->account.ids_length1, data->_tmp5_); account_favourites_destroy (&data->account); data->favs = (_vala_AccountFavourites_array_free (data->favs, data->favs_length1), NULL); { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } } account_favourites_destroy (&data->account); } } } data->_tmp7_ = NULL; data->result = (data->_tmp8_ = (data->_tmp7_ = g_new0 (char*, 0 + 1), data->_tmp7_), data->result_length1 = 0, data->_tmp8_); data->favs = (_vala_AccountFavourites_array_free (data->favs, data->favs_length1), NULL); { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } data->favs = (_vala_AccountFavourites_array_free (data->favs, data->favs_length1), NULL); { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } } static void logger_add_favourite_contact_data_free (gpointer _data) { LoggerAddFavouriteContactData* data; data = _data; _g_free0 (data->id); g_object_unref (data->self); g_slice_free (LoggerAddFavouriteContactData, data); } void logger_add_favourite_contact (Logger* self, const char* id, GAsyncReadyCallback _callback_, gpointer _user_data_) { LoggerAddFavouriteContactData* _data_; _data_ = g_slice_new0 (LoggerAddFavouriteContactData); _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, logger_add_favourite_contact); g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, logger_add_favourite_contact_data_free); _data_->self = g_object_ref (self); _data_->id = g_strdup (id); logger_add_favourite_contact_co (_data_); } void logger_add_favourite_contact_finish (Logger* self, GAsyncResult* _res_, GError** error) { LoggerAddFavouriteContactData* _data_; if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) { return; } _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_)); } static void logger_add_favourite_contact_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) { LoggerAddFavouriteContactData* data; data = _user_data_; data->_res_ = _res_; logger_add_favourite_contact_co (data); } static gboolean logger_add_favourite_contact_co (LoggerAddFavouriteContactData* data) { switch (data->_state_) { case 0: goto _state_0; default: g_assert_not_reached (); case 11: goto _state_11; } _state_0: if (logger_logger == NULL) { { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } } data->_state_ = 11; logger_iface_add_favourite_contact (logger_logger, data->_tmp0_ = g_strdup (data->self->priv->account_path), data->id, logger_add_favourite_contact_ready, data); return FALSE; _state_11: logger_iface_add_favourite_contact_finish (logger_logger, data->_res_, &data->_inner_error_); _g_free0 (data->_tmp0_); if (data->_inner_error_ != NULL) { if (data->_inner_error_->domain == DBUS_GERROR) { g_simple_async_result_set_from_error (data->_async_result, data->_inner_error_); g_error_free (data->_inner_error_); { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } } else { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, data->_inner_error_->message, g_quark_to_string (data->_inner_error_->domain), data->_inner_error_->code); g_clear_error (&data->_inner_error_); return FALSE; } } { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } } static void logger_remove_favourite_contact_data_free (gpointer _data) { LoggerRemoveFavouriteContactData* data; data = _data; _g_free0 (data->id); g_object_unref (data->self); g_slice_free (LoggerRemoveFavouriteContactData, data); } void logger_remove_favourite_contact (Logger* self, const char* id, GAsyncReadyCallback _callback_, gpointer _user_data_) { LoggerRemoveFavouriteContactData* _data_; _data_ = g_slice_new0 (LoggerRemoveFavouriteContactData); _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, logger_remove_favourite_contact); g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, logger_remove_favourite_contact_data_free); _data_->self = g_object_ref (self); _data_->id = g_strdup (id); logger_remove_favourite_contact_co (_data_); } void logger_remove_favourite_contact_finish (Logger* self, GAsyncResult* _res_, GError** error) { LoggerRemoveFavouriteContactData* _data_; if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) { return; } _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_)); } static void logger_remove_favourite_contact_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) { LoggerRemoveFavouriteContactData* data; data = _user_data_; data->_res_ = _res_; logger_remove_favourite_contact_co (data); } static gboolean logger_remove_favourite_contact_co (LoggerRemoveFavouriteContactData* data) { switch (data->_state_) { case 0: goto _state_0; default: g_assert_not_reached (); case 12: goto _state_12; } _state_0: if (logger_logger == NULL) { { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } } data->_state_ = 12; logger_iface_remove_favourite_contact (logger_logger, data->_tmp0_ = g_strdup (data->self->priv->account_path), data->id, logger_remove_favourite_contact_ready, data); return FALSE; _state_12: logger_iface_remove_favourite_contact_finish (logger_logger, data->_res_, &data->_inner_error_); _g_free0 (data->_tmp0_); if (data->_inner_error_ != NULL) { if (data->_inner_error_->domain == DBUS_GERROR) { g_simple_async_result_set_from_error (data->_async_result, data->_inner_error_); g_error_free (data->_inner_error_); { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } } else { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, data->_inner_error_->message, g_quark_to_string (data->_inner_error_->domain), data->_inner_error_->code); g_clear_error (&data->_inner_error_); return FALSE; } } { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } } static void logger_class_init (LoggerClass * klass) { logger_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (LoggerPrivate)); G_OBJECT_CLASS (klass)->finalize = logger_finalize; g_signal_new ("invalidated", TYPE_LOGGER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_signal_new ("favourite_contacts_changed", TYPE_LOGGER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__BOXED_INT_BOXED_INT, G_TYPE_NONE, 4, G_TYPE_STRV, G_TYPE_INT, G_TYPE_STRV, G_TYPE_INT); } static void logger_instance_init (Logger * self) { self->priv = LOGGER_GET_PRIVATE (self); } static void logger_finalize (GObject* obj) { Logger * self; self = LOGGER (obj); _g_free0 (self->priv->account_path); G_OBJECT_CLASS (logger_parent_class)->finalize (obj); } GType logger_get_type (void) { static volatile gsize logger_type_id__volatile = 0; if (g_once_init_enter (&logger_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (LoggerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) logger_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Logger), 0, (GInstanceInitFunc) logger_instance_init, NULL }; GType logger_type_id; logger_type_id = g_type_register_static (G_TYPE_OBJECT, "Logger", &g_define_type_info, 0); g_once_init_leave (&logger_type_id__volatile, logger_type_id); } return logger_type_id__volatile; } static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { if ((array != NULL) && (destroy_func != NULL)) { int i; for (i = 0; i < array_length; i = i + 1) { if (((gpointer*) array)[i] != NULL) { destroy_func (((gpointer*) array)[i]); } } } } static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { _vala_array_destroy (array, array_length, destroy_func); g_free (array); } static int _vala_strcmp0 (const char * str1, const char * str2) { if (str1 == NULL) { return -(str1 != str2); } if (str2 == NULL) { return str1 != str2; } return strcmp (str1, str2); } static void g_cclosure_user_marshal_VOID__BOXED_BOXED_INT_BOXED_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__BOXED_BOXED_INT_BOXED_INT) (gpointer data1, gpointer arg_1, gpointer arg_2, gint arg_3, gpointer arg_4, gint arg_5, gpointer data2); register GMarshalFunc_VOID__BOXED_BOXED_INT_BOXED_INT callback; register GCClosure * cc; register gpointer data1, data2; cc = (GCClosure *) closure; g_return_if_fail (n_param_values == 6); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = param_values->data[0].v_pointer; } else { data1 = param_values->data[0].v_pointer; data2 = closure->data; } callback = (GMarshalFunc_VOID__BOXED_BOXED_INT_BOXED_INT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_value_get_boxed (param_values + 1), g_value_get_boxed (param_values + 2), g_value_get_int (param_values + 3), g_value_get_boxed (param_values + 4), g_value_get_int (param_values + 5), data2); } static void g_cclosure_user_marshal_VOID__BOXED_INT_BOXED_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__BOXED_INT_BOXED_INT) (gpointer data1, gpointer arg_1, gint arg_2, gpointer arg_3, gint arg_4, gpointer data2); register GMarshalFunc_VOID__BOXED_INT_BOXED_INT callback; register GCClosure * cc; register gpointer data1, data2; cc = (GCClosure *) closure; g_return_if_fail (n_param_values == 5); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = param_values->data[0].v_pointer; } else { data1 = param_values->data[0].v_pointer; data2 = closure->data; } callback = (GMarshalFunc_VOID__BOXED_INT_BOXED_INT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_value_get_boxed (param_values + 1), g_value_get_int (param_values + 2), g_value_get_boxed (param_values + 3), g_value_get_int (param_values + 4), data2); }