1 /* |
|
2 * tp-helpers.h - Header for various helper functions |
|
3 * for telepathy implementation |
|
4 * Copyright (C) 2005 Collabora Ltd. |
|
5 * |
|
6 * |
|
7 * This library is free software; you can redistribute it and/or |
|
8 * modify it under the terms of the GNU Lesser General Public |
|
9 * License as published by the Free Software Foundation; either |
|
10 * version 2.1 of the License, or (at your option) any later version. |
|
11 * |
|
12 * This library is distributed in the hope that it will be useful, |
|
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
15 * Lesser General Public License for more details. |
|
16 * |
|
17 * You should have received a copy of the GNU Lesser General Public |
|
18 * License along with this library; if not, write to the Free Software |
|
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
|
20 */ |
|
21 |
|
22 #ifndef __TELEPATHY_HELPERS_H__ |
|
23 #define __TELEPATHY_HELPERS_H__ |
|
24 |
|
25 #include <glib.h> |
|
26 |
|
27 G_BEGIN_DECLS |
|
28 |
|
29 typedef struct |
|
30 { |
|
31 gpointer key; |
|
32 gpointer value; |
|
33 } TpKeyValue; |
|
34 |
|
35 DBusGConnection * tp_get_bus (); |
|
36 DBusGProxy * tp_get_bus_proxy (); |
|
37 GSList *tp_hash_to_key_value_list(GHashTable *hashtable); |
|
38 void tp_key_value_list_free(GSList *list); |
|
39 |
|
40 |
|
41 typedef struct _tp_connmgr_info TpConnMgrInfo; |
|
42 typedef struct _tp_connmgr_protocol_info TpConnMgrProtInfo; |
|
43 |
|
44 struct _tp_connmgr_protocol_info |
|
45 { |
|
46 gchar **mandatory_params; |
|
47 gchar **optional_params; |
|
48 |
|
49 /* defaul value hash */ |
|
50 GHashTable *default_params; |
|
51 }; |
|
52 |
|
53 struct _tp_connmgr_info |
|
54 { |
|
55 gchar *name; |
|
56 gchar *bus_name; |
|
57 gchar *object_path; |
|
58 gchar **protocols; |
|
59 |
|
60 /* hash of protocol infos */ |
|
61 GHashTable *protocol_info; |
|
62 }; |
|
63 |
|
64 /* |
|
65 * Lists all the connection manager files. |
|
66 * @return A list of connection manager names |
|
67 */ |
|
68 GSList *tp_connmgr_list_cms(void); |
|
69 |
|
70 /* |
|
71 * Returns the connection manager information for the given connection manager |
|
72 * @param cm: the connection manager name string |
|
73 * @return A struct containing all the information read from the connection |
|
74 * manager file. |
|
75 */ |
|
76 TpConnMgrInfo *tp_connmgr_get_info(gchar *cm); |
|
77 |
|
78 |
|
79 G_END_DECLS |
|
80 |
|
81 #endif /* __TELEPATHY_HELPERS_H__ */ |
|
82 |
|