/* * dbus.h - Header for D-Bus utilities * * Copyright (C) 2005-2009 Collabora Ltd. * Copyright (C) 2005-2009 Nokia Corporation * * 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, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #if defined (TP_DISABLE_SINGLE_INCLUDE) && !defined (_TP_IN_META_HEADER) && !defined (_TP_COMPILATION) #error "Only and can be included directly." #endif #ifndef __TELEPATHY_DBUS_H__ #define __TELEPATHY_DBUS_H__ #define __TP_IN_DBUS_H__ #include #include #include G_BEGIN_DECLS void tp_dbus_g_method_return_not_implemented (DBusGMethodInvocation *context); typedef enum /*< flags >*/ { TP_DBUS_NAME_TYPE_UNIQUE = 1, TP_DBUS_NAME_TYPE_WELL_KNOWN = 2, TP_DBUS_NAME_TYPE_BUS_DAEMON = 4, TP_DBUS_NAME_TYPE_NOT_BUS_DAEMON = TP_DBUS_NAME_TYPE_UNIQUE | TP_DBUS_NAME_TYPE_WELL_KNOWN, TP_DBUS_NAME_TYPE_ANY = TP_DBUS_NAME_TYPE_NOT_BUS_DAEMON | TP_DBUS_NAME_TYPE_BUS_DAEMON } TpDBusNameType; gboolean tp_dbus_check_valid_bus_name (const gchar *name, TpDBusNameType allow_types, GError **error); gboolean tp_dbus_check_valid_interface_name (const gchar *name, GError **error); gboolean tp_dbus_check_valid_member_name (const gchar *name, GError **error); gboolean tp_dbus_check_valid_object_path (const gchar *path, GError **error); /* The scanner warns about these, but they're skipped anyway. * See GNOME bug#656743 */ #ifndef __GI_SCANNER__ GValue *tp_g_value_slice_new_bytes (guint length, gconstpointer bytes) G_GNUC_WARN_UNUSED_RESULT; GValue *tp_g_value_slice_new_take_bytes (GArray *bytes) G_GNUC_WARN_UNUSED_RESULT; GValue *tp_g_value_slice_new_object_path (const gchar *path) G_GNUC_WARN_UNUSED_RESULT; GValue *tp_g_value_slice_new_static_object_path (const gchar *path) G_GNUC_WARN_UNUSED_RESULT; GValue *tp_g_value_slice_new_take_object_path (gchar *path) G_GNUC_WARN_UNUSED_RESULT; #endif /* __GI_SCANNER__ */ #define tp_asv_size(asv) _tp_asv_size_inline (asv) static inline guint _tp_asv_size_inline (const GHashTable *asv) { /* The empty comment here is to stop gtkdoc thinking g_hash_table_size is * a declaration. */ return g_hash_table_size /* */ ((GHashTable *) asv); } GHashTable *tp_asv_new (const gchar *first_key, ...) G_GNUC_NULL_TERMINATED G_GNUC_WARN_UNUSED_RESULT; gboolean tp_asv_get_boolean (const GHashTable *asv, const gchar *key, gboolean *valid); void tp_asv_set_boolean (GHashTable *asv, const gchar *key, gboolean value); gpointer tp_asv_get_boxed (const GHashTable *asv, const gchar *key, GType type); void tp_asv_set_boxed (GHashTable *asv, const gchar *key, GType type, gconstpointer value); void tp_asv_take_boxed (GHashTable *asv, const gchar *key, GType type, gpointer value); void tp_asv_set_static_boxed (GHashTable *asv, const gchar *key, GType type, gconstpointer value); const GArray *tp_asv_get_bytes (const GHashTable *asv, const gchar *key); void tp_asv_set_bytes (GHashTable *asv, const gchar *key, guint length, gconstpointer bytes); void tp_asv_take_bytes (GHashTable *asv, const gchar *key, GArray *value); gdouble tp_asv_get_double (const GHashTable *asv, const gchar *key, gboolean *valid); void tp_asv_set_double (GHashTable *asv, const gchar *key, gdouble value); gint32 tp_asv_get_int32 (const GHashTable *asv, const gchar *key, gboolean *valid); void tp_asv_set_int32 (GHashTable *asv, const gchar *key, gint32 value); gint64 tp_asv_get_int64 (const GHashTable *asv, const gchar *key, gboolean *valid); void tp_asv_set_int64 (GHashTable *asv, const gchar *key, gint64 value); const gchar *tp_asv_get_object_path (const GHashTable *asv, const gchar *key); void tp_asv_set_object_path (GHashTable *asv, const gchar *key, const gchar *value); void tp_asv_take_object_path (GHashTable *asv, const gchar *key, gchar *value); void tp_asv_set_static_object_path (GHashTable *asv, const gchar *key, const gchar *value); const gchar *tp_asv_get_string (const GHashTable *asv, const gchar *key); void tp_asv_set_string (GHashTable *asv, const gchar *key, const gchar *value); void tp_asv_take_string (GHashTable *asv, const gchar *key, gchar *value); void tp_asv_set_static_string (GHashTable *asv, const gchar *key, const gchar *value); guint32 tp_asv_get_uint32 (const GHashTable *asv, const gchar *key, gboolean *valid); void tp_asv_set_uint32 (GHashTable *asv, const gchar *key, guint32 value); guint64 tp_asv_get_uint64 (const GHashTable *asv, const gchar *key, gboolean *valid); void tp_asv_set_uint64 (GHashTable *asv, const gchar *key, guint64 value); const GValue *tp_asv_lookup (const GHashTable *asv, const gchar *key); const gchar * const * /* this comment stops gtkdoc denying that this function exists */ tp_asv_get_strv (const GHashTable *asv, const gchar *key); void tp_asv_set_strv (GHashTable *asv, const gchar *key, gchar **value); void tp_asv_dump (GHashTable *asv); #ifndef TP_DISABLE_DEPRECATED _TP_DEPRECATED DBusGConnection * tp_get_bus (void); _TP_DEPRECATED DBusGProxy * tp_get_bus_proxy (void); #endif G_END_DECLS #undef __TP_IN_DBUS_H__ #endif /* __TELEPATHY_DBUS_H__ */