Feature #101: Mac OS X 10.13 OpenSSL support (I)
[siplcs.git] / src / telepathy / telepathy-private.h
blob2791f02ff175880a33211d2cee931693d624fc3f
1 /**
2 * @file telepathy-private.h
4 * pidgin-sipe
6 * Copyright (C) 2012-2016 SIPE Project <http://sipe.sourceforge.net/>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 /* Forward declarations */
24 struct _GObject;
25 struct _GObjectClass;
26 struct _GTlsCertificate;
27 struct _SipeConnection;
28 struct _SipeContactList;
29 struct _SipeTLSManager;
30 struct _TpBaseConnection;
31 struct _TpBaseConnectionManager;
32 struct _TpBaseProtocol;
33 struct sipe_tls_info;
34 struct sipe_transport_telepathy;
36 /* constants */
37 #define SIPE_TELEPATHY_DOMAIN "sipe"
39 struct sipe_backend_private {
40 struct sipe_core_public *public;
42 /* buddies */
43 struct _SipeContactList *contact_list;
45 /* connection */
46 struct _SipeConnection *connection;
48 /* photo */
49 gchar *cache_dir;
51 /* status */
52 guint activity;
53 gchar *message;
55 /* TLS certificate verification */
56 struct _SipeTLSManager *tls_manager;
58 /* transport */
59 struct sipe_transport_telepathy *transport;
62 /* buddy */
63 struct _SipeContactList *sipe_telepathy_contact_list_new(struct _TpBaseConnection *connection);
64 const gchar *sipe_telepathy_buddy_get_alias(struct _SipeContactList *contact_list,
65 const guint contact);
66 void sipe_telepathy_buddy_set_alias(struct _SipeContactList *contact_list,
67 const guint contact,
68 const gchar *alias);
69 const gchar *sipe_telepathy_buddy_get_hash(struct _SipeContactList *contact_list,
70 const guint contact);
71 guint sipe_telepathy_buddy_get_presence(struct _SipeContactList *contact_list,
72 guint contact);
73 void sipe_telepathy_avatars_iface_init(gpointer g_iface,
74 gpointer iface_data);
75 void sipe_telepathy_contact_info_iface_init(gpointer g_iface,
76 gpointer iface_data);
77 GPtrArray *sipe_telepathy_contact_info_fields(void);
78 /* TpDBusPropertiesMixinPropImpl is a broken typedef */
79 gpointer sipe_telepathy_contact_info_props(void);
81 /* connection */
82 struct _TpBaseConnection *sipe_telepathy_connection_new(struct _TpBaseProtocol *protocol,
83 GHashTable *params,
84 GError **error);
85 void sipe_telepathy_connection_alias_updated(struct _TpBaseConnection *connection,
86 guint contact,
87 const gchar *alias);
88 struct sipe_backend_private *sipe_telepathy_connection_private(GObject *object);
90 /* debugging */
91 void sipe_telepathy_debug_init(void);
92 void sipe_telepathy_debug_finalize(void);
94 /* protocol */
95 void sipe_telepathy_protocol_init(struct _TpBaseConnectionManager *cm);
96 gchar *sipe_telepathy_protocol_normalize_contact(struct _TpBaseProtocol *self,
97 const gchar *contact,
98 GError **error);
100 /* contact search */
101 GType sipe_search_manager_get_type(void);
102 #define SIPE_TYPE_SEARCH_MANAGER (sipe_search_manager_get_type())
103 struct _GObject *sipe_telepathy_search_new(struct _TpBaseConnection *connection);
105 /* status */
106 void sipe_telepathy_status_init(struct _GObjectClass *object_class,
107 gsize struct_offset);
109 /* TLS certificate verification */
110 struct _SipeTLSManager *sipe_telepathy_tls_new(struct _TpBaseConnection *connection);
111 struct sipe_tls_info *sipe_telepathy_tls_info_new(const gchar *hostname,
112 struct _GTlsCertificate *certificate);
113 void sipe_telepathy_tls_info_free(struct sipe_tls_info *tls_info);
114 void sipe_telepathy_tls_verify_async(struct _GObject *connection,
115 struct sipe_tls_info *tls_info,
116 GAsyncReadyCallback callback,
117 gpointer user_data);
120 Local Variables:
121 mode: c
122 c-file-style: "bsd"
123 indent-tabs-mode: t
124 tab-width: 8
125 End: