/*
* dbus-daemon.h - Header for TpDBusDaemon
*
* 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
*/
#ifndef __TELEPATHY_DBUS_DAEMON_H__
#define __TELEPATHY_DBUS_DAEMON_H__
#ifndef __TP_IN_DBUS_H__
#error dbus-daemon.h not to be used directly, #include
#endif
#include
#include
G_BEGIN_DECLS
/* TpDBusDaemon is typedef'd in proxy.h */
typedef struct _TpDBusDaemonPrivate TpDBusDaemonPrivate;
typedef struct _TpDBusDaemonClass TpDBusDaemonClass;
GType tp_dbus_daemon_get_type (void);
#define TP_TYPE_DBUS_DAEMON \
(tp_dbus_daemon_get_type ())
#define TP_DBUS_DAEMON(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj), TP_TYPE_DBUS_DAEMON, \
TpDBusDaemon))
#define TP_DBUS_DAEMON_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass), TP_TYPE_DBUS_DAEMON, \
TpDBusDaemonClass))
#define TP_IS_DBUS_DAEMON(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj), TP_TYPE_DBUS_DAEMON))
#define TP_IS_DBUS_DAEMON_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE((klass), TP_TYPE_DBUS_DAEMON))
#define TP_DBUS_DAEMON_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), TP_TYPE_DBUS_DAEMON, \
TpDBusDaemonClass))
TpDBusDaemon *tp_dbus_daemon_dup (GError **error) G_GNUC_WARN_UNUSED_RESULT;
TpDBusDaemon *tp_dbus_daemon_new (DBusGConnection *connection)
G_GNUC_WARN_UNUSED_RESULT;
void tp_dbus_daemon_init_known_interfaces (void);
typedef void (*TpDBusDaemonNameOwnerChangedCb) (TpDBusDaemon *bus_daemon,
const gchar *name, const gchar *new_owner, gpointer user_data);
void tp_dbus_daemon_watch_name_owner (TpDBusDaemon *self,
const gchar *name, TpDBusDaemonNameOwnerChangedCb callback,
gpointer user_data, GDestroyNotify destroy);
gboolean tp_dbus_daemon_cancel_name_owner_watch (TpDBusDaemon *self,
const gchar *name, TpDBusDaemonNameOwnerChangedCb callback,
gconstpointer user_data);
gboolean tp_dbus_daemon_request_name (TpDBusDaemon *self,
const gchar *well_known_name, gboolean idempotent, GError **error);
gboolean tp_dbus_daemon_release_name (TpDBusDaemon *self,
const gchar *well_known_name, GError **error);
const gchar *tp_dbus_daemon_get_unique_name (TpDBusDaemon *self);
typedef void (*TpDBusDaemonListNamesCb) (TpDBusDaemon *bus_daemon,
const gchar * const *names, const GError *error, gpointer user_data,
GObject *weak_object);
void tp_dbus_daemon_list_names (TpDBusDaemon *self,
gint timeout_ms, TpDBusDaemonListNamesCb callback,
gpointer user_data, GDestroyNotify destroy, GObject *weak_object);
void tp_dbus_daemon_list_activatable_names (TpDBusDaemon *self,
gint timeout_ms, TpDBusDaemonListNamesCb callback,
gpointer user_data, GDestroyNotify destroy, GObject *weak_object);
void tp_dbus_daemon_register_object (TpDBusDaemon *self,
const gchar *object_path, gpointer object);
void tp_dbus_daemon_unregister_object (TpDBusDaemon *self, gpointer object);
G_END_DECLS
#include
#endif