1 /*
2  * Copyright (C) 2005-2007 Collabora Ltd. and Nokia Corporation
3  *
4  * sip-connection-private.h- Private structues for SIPConnection
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public License
8  * version 2.1 as published by the Free Software Foundation.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19 
20 #ifndef __SIP_CONNECTION_PRIVATE_H__
21 #define __SIP_CONNECTION_PRIVATE_H__
22 
23 #include <telepathy-glib/channel-factory-iface.h>
24 
25 #include "sip-connection-sofia.h"
26 
27 struct _SIPConnectionPrivate
28 {
29   SIPConnectionSofia *sofia;
30   nua_t  *sofia_nua;
31   su_home_t *sofia_home;
32   nua_handle_t *register_op;
33   sres_resolver_t *sofia_resolver;
34   url_t *account_url;
35   url_t *proxy_url;
36   url_t *registrar_url;
37 
38   gchar *registrar_realm;
39 
40   GHashTable *auth_table;
41 
42   /* channels */
43   TpChannelFactoryIface *text_factory;
44   TpChannelFactoryIface *media_factory;
45 
46   gchar *address;
47   gchar *auth_user;
48   gchar *password;
49   SIPConnectionKeepaliveMechanism keepalive_mechanism;
50   gint keepalive_interval;
51   gchar *http_proxy;
52   gboolean discover_stun;
53   gchar *stun_host;
54   guint stun_port;
55   gchar *local_ip_address;
56   guint local_port;
57   gchar *extra_auth_user;
58   gchar *extra_auth_password;
59   gboolean discover_binding;
60 
61   gboolean dispose_has_run;
62 };
63 
64 #define SIP_PROTOCOL_STRING               "sip"
65 
66 #define SIP_CONNECTION_GET_PRIVATE(o)     (G_TYPE_INSTANCE_GET_PRIVATE ((o), SIP_TYPE_CONNECTION, SIPConnectionPrivate))
67 
68 #endif /*__SIP_CONNECTION_PRIVATE_H__*/
69