/usr/include/telepathy-1.0/telepathy-glib/base-connection.h is in libtelepathy-glib-dev 0.18.0-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | /*
* base-connection.h - Header for TpBaseConnection
*
* Copyright (C) 2007-2008 Collabora Ltd.
* Copyright (C) 2007-2008 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 __TP_BASE_CONNECTION_H__
#define __TP_BASE_CONNECTION_H__
#include <dbus/dbus-glib.h>
#include <glib-object.h>
#include <telepathy-glib/channel-manager.h>
#include <telepathy-glib/defs.h>
#include <telepathy-glib/enums.h>
#include <telepathy-glib/handle-repo.h>
#include <telepathy-glib/proxy.h>
#include <telepathy-glib/svc-connection.h>
G_BEGIN_DECLS
typedef struct _TpBaseConnection TpBaseConnection;
typedef struct _TpBaseConnectionClass TpBaseConnectionClass;
typedef struct _TpBaseConnectionPrivate TpBaseConnectionPrivate;
typedef void (*TpBaseConnectionProc) (TpBaseConnection *self);
typedef gboolean (*TpBaseConnectionStartConnectingImpl) (
TpBaseConnection *self, GError **error);
typedef void (*TpBaseConnectionCreateHandleReposImpl) (TpBaseConnection *self,
TpHandleRepoIface *repos[NUM_TP_HANDLE_TYPES]);
typedef GPtrArray *(*TpBaseConnectionCreateChannelFactoriesImpl) (
TpBaseConnection *self);
typedef GPtrArray *(*TpBaseConnectionCreateChannelManagersImpl) (
TpBaseConnection *self);
typedef gchar *(*TpBaseConnectionGetUniqueConnectionNameImpl) (
TpBaseConnection *self);
struct _TpBaseConnection {
/*<public>*/
GObject parent;
gchar *bus_name;
gchar *object_path;
TpConnectionStatus status;
TpHandle self_handle;
/*<private>*/
gpointer _future1;
gpointer _future2;
gpointer _future3;
gpointer _future4;
TpBaseConnectionPrivate *priv;
};
struct _TpBaseConnectionClass {
GObjectClass parent_class;
#ifdef __GI_SCANNER__
/*<private>*/
GCallback _internal_create_handle_repos;
/*<public>*/
#else
TpBaseConnectionCreateHandleReposImpl create_handle_repos;
#endif
TpBaseConnectionCreateChannelFactoriesImpl create_channel_factories;
TpBaseConnectionGetUniqueConnectionNameImpl get_unique_connection_name;
TpBaseConnectionProc connecting;
TpBaseConnectionProc connected;
TpBaseConnectionProc disconnected;
TpBaseConnectionProc shut_down;
TpBaseConnectionStartConnectingImpl start_connecting;
const gchar **interfaces_always_present;
TpBaseConnectionCreateChannelManagersImpl create_channel_managers;
/*<private>*/
gpointer _future2;
gpointer _future3;
gpointer _future4;
gpointer priv;
};
# define TP_INTERNAL_CONNECTION_STATUS_NEW ((TpConnectionStatus)(-1))
GType tp_base_connection_get_type (void);
TpHandleRepoIface *tp_base_connection_get_handles (TpBaseConnection *self,
TpHandleType handle_type);
gboolean tp_base_connection_register (TpBaseConnection *self,
const gchar *cm_name, gchar **bus_name, gchar **object_path,
GError **error);
/* FIXME: when dbus-glib exposes its GError -> D-Bus error name mapping,
we could also add:
void tp_base_connection_disconnect_with_error (TpBaseConnection *self,
const GError *error, GHashTable *details, TpConnectionStatusReason reason);
*/
void tp_base_connection_disconnect_with_dbus_error (TpBaseConnection *self,
const gchar *error_name, GHashTable *details,
TpConnectionStatusReason reason);
void tp_base_connection_change_status (TpBaseConnection *self,
TpConnectionStatus status, TpConnectionStatusReason reason);
TpHandle tp_base_connection_get_self_handle (TpBaseConnection *self);
void tp_base_connection_set_self_handle (TpBaseConnection *self,
TpHandle self_handle);
void tp_base_connection_finish_shutdown (TpBaseConnection *self);
void tp_base_connection_add_interfaces (TpBaseConnection *self,
const gchar **interfaces);
void tp_base_connection_dbus_request_handles (TpSvcConnection *iface,
guint handle_type, const gchar **names, DBusGMethodInvocation *context);
void tp_base_connection_register_with_contacts_mixin (TpBaseConnection *self);
typedef struct _TpChannelManagerIter TpChannelManagerIter;
struct _TpChannelManagerIter {
/*<private>*/
TpBaseConnection *self;
guint index;
gpointer _future[2];
};
void tp_base_connection_channel_manager_iter_init (TpChannelManagerIter *iter,
TpBaseConnection *self);
gboolean tp_base_connection_channel_manager_iter_next (
TpChannelManagerIter *iter, TpChannelManager **manager_out);
/* TYPE MACROS */
#define TP_TYPE_BASE_CONNECTION \
(tp_base_connection_get_type ())
#define TP_BASE_CONNECTION(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj), TP_TYPE_BASE_CONNECTION, \
TpBaseConnection))
#define TP_BASE_CONNECTION_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass), TP_TYPE_BASE_CONNECTION, \
TpBaseConnectionClass))
#define TP_IS_BASE_CONNECTION(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj), TP_TYPE_BASE_CONNECTION))
#define TP_IS_BASE_CONNECTION_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE((klass), TP_TYPE_BASE_CONNECTION))
#define TP_BASE_CONNECTION_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), TP_TYPE_BASE_CONNECTION, \
TpBaseConnectionClass))
/* The cast of a string literal to (gchar *) is to keep C++ compilers happy */
#define TP_BASE_CONNECTION_ERROR_IF_NOT_CONNECTED(conn, context) \
G_STMT_START { \
TpBaseConnection *c = (conn); \
\
if (c->status != TP_CONNECTION_STATUS_CONNECTED) \
{ \
GError e = { TP_ERRORS, TP_ERROR_DISCONNECTED, \
(gchar *) "Connection is disconnected" }; \
\
dbus_g_method_return_error ((context), &e); \
return; \
} \
} G_STMT_END
TpDBusDaemon *tp_base_connection_get_dbus_daemon (TpBaseConnection *self);
void tp_base_connection_add_client_interest (TpBaseConnection *self,
const gchar *unique_name, const gchar *token,
gboolean only_if_uninterested);
void tp_base_connection_add_possible_client_interest (TpBaseConnection *self,
GQuark token);
G_END_DECLS
#endif /* #ifndef __TP_BASE_CONNECTION_H__*/
|