annotate libpurple/media/candidate.c @ 30018:7ed0ddbdd2a8

Use an inline RC style to get rid of some other padding to make the small buttons even smaller, as suggested by Paradox on trac, and nicked from nautilus. Refs #8727.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sat, 20 Mar 2010 06:22:53 +0000
parents ec069900bf96
children a8cc50c2279f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29536
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
1 /**
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
2 * @file candidate.c Candidate for Media API
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
3 * @ingroup core
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
4 */
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
5
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
6 /* purple
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
7 *
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
8 * Purple is the legal property of its developers, whose names are too numerous
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
10 * source distribution.
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
11 *
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
15 * (at your option) any later version.
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
16 *
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
20 * GNU General Public License for more details.
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
21 *
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
23 * along with this program; if not, write to the Free Software
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
25 */
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
26
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
27 #include "candidate.h"
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
28
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
29 /** @copydoc _PurpleMediaCandidateClass */
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
30 typedef struct _PurpleMediaCandidateClass PurpleMediaCandidateClass;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
31 /** @copydoc _PurpleMediaCandidatePrivate */
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
32 typedef struct _PurpleMediaCandidatePrivate PurpleMediaCandidatePrivate;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
33
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
34 #define PURPLE_MEDIA_CANDIDATE_GET_PRIVATE(obj) \
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
35 (G_TYPE_INSTANCE_GET_PRIVATE((obj), \
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
36 PURPLE_TYPE_MEDIA_CANDIDATE, \
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
37 PurpleMediaCandidatePrivate))
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
38
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
39
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
40 struct _PurpleMediaCandidateClass
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
41 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
42 GObjectClass parent_class;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
43 };
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
44
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
45 struct _PurpleMediaCandidate
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
46 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
47 GObject parent;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
48 };
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
49
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
50 G_DEFINE_TYPE(PurpleMediaCandidate, purple_media_candidate, G_TYPE_OBJECT);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
51
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
52 struct _PurpleMediaCandidatePrivate
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
53 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
54 gchar *foundation;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
55 guint component_id;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
56 gchar *ip;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
57 guint16 port;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
58 gchar *base_ip;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
59 guint16 base_port;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
60 PurpleMediaNetworkProtocol proto;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
61 guint32 priority;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
62 PurpleMediaCandidateType type;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
63 gchar *username;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
64 gchar *password;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
65 guint ttl;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
66 };
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
67
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
68 enum {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
69 PROP_CANDIDATE_0,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
70 PROP_FOUNDATION,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
71 PROP_COMPONENT_ID,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
72 PROP_IP,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
73 PROP_PORT,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
74 PROP_BASE_IP,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
75 PROP_BASE_PORT,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
76 PROP_PROTOCOL,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
77 PROP_PRIORITY,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
78 PROP_TYPE,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
79 PROP_USERNAME,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
80 PROP_PASSWORD,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
81 PROP_TTL,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
82 };
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
83
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
84 static void
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
85 purple_media_candidate_init(PurpleMediaCandidate *info)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
86 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
87 PurpleMediaCandidatePrivate *priv =
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
88 PURPLE_MEDIA_CANDIDATE_GET_PRIVATE(info);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
89 priv->foundation = NULL;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
90 priv->component_id = 0;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
91 priv->ip = NULL;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
92 priv->port = 0;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
93 priv->base_ip = NULL;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
94 priv->proto = PURPLE_MEDIA_NETWORK_PROTOCOL_UDP;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
95 priv->priority = 0;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
96 priv->type = PURPLE_MEDIA_CANDIDATE_TYPE_HOST;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
97 priv->username = NULL;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
98 priv->password = NULL;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
99 priv->ttl = 0;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
100 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
101
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
102 static void
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
103 purple_media_candidate_finalize(GObject *info)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
104 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
105 PurpleMediaCandidatePrivate *priv =
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
106 PURPLE_MEDIA_CANDIDATE_GET_PRIVATE(info);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
107
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
108 g_free(priv->foundation);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
109 g_free(priv->ip);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
110 g_free(priv->base_ip);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
111 g_free(priv->username);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
112 g_free(priv->password);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
113 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
114
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
115 static void
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
116 purple_media_candidate_set_property (GObject *object, guint prop_id,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
117 const GValue *value, GParamSpec *pspec)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
118 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
119 PurpleMediaCandidatePrivate *priv;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
120 g_return_if_fail(PURPLE_IS_MEDIA_CANDIDATE(object));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
121
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
122 priv = PURPLE_MEDIA_CANDIDATE_GET_PRIVATE(object);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
123
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
124 switch (prop_id) {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
125 case PROP_FOUNDATION:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
126 g_free(priv->foundation);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
127 priv->foundation = g_value_dup_string(value);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
128 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
129 case PROP_COMPONENT_ID:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
130 priv->component_id = g_value_get_uint(value);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
131 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
132 case PROP_IP:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
133 g_free(priv->ip);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
134 priv->ip = g_value_dup_string(value);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
135 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
136 case PROP_PORT:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
137 priv->port = g_value_get_uint(value);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
138 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
139 case PROP_BASE_IP:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
140 g_free(priv->base_ip);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
141 priv->base_ip = g_value_dup_string(value);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
142 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
143 case PROP_BASE_PORT:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
144 priv->base_port = g_value_get_uint(value);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
145 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
146 case PROP_PROTOCOL:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
147 priv->proto = g_value_get_enum(value);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
148 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
149 case PROP_PRIORITY:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
150 priv->priority = g_value_get_uint(value);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
151 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
152 case PROP_TYPE:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
153 priv->type = g_value_get_enum(value);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
154 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
155 case PROP_USERNAME:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
156 g_free(priv->username);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
157 priv->username = g_value_dup_string(value);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
158 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
159 case PROP_PASSWORD:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
160 g_free(priv->password);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
161 priv->password = g_value_dup_string(value);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
162 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
163 case PROP_TTL:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
164 priv->ttl = g_value_get_uint(value);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
165 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
166 default:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
167 G_OBJECT_WARN_INVALID_PROPERTY_ID(
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
168 object, prop_id, pspec);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
169 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
170 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
171 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
172
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
173 static void
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
174 purple_media_candidate_get_property (GObject *object, guint prop_id,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
175 GValue *value, GParamSpec *pspec)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
176 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
177 PurpleMediaCandidatePrivate *priv;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
178 g_return_if_fail(PURPLE_IS_MEDIA_CANDIDATE(object));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
179
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
180 priv = PURPLE_MEDIA_CANDIDATE_GET_PRIVATE(object);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
181
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
182 switch (prop_id) {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
183 case PROP_FOUNDATION:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
184 g_value_set_string(value, priv->foundation);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
185 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
186 case PROP_COMPONENT_ID:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
187 g_value_set_uint(value, priv->component_id);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
188 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
189 case PROP_IP:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
190 g_value_set_string(value, priv->ip);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
191 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
192 case PROP_PORT:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
193 g_value_set_uint(value, priv->port);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
194 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
195 case PROP_BASE_IP:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
196 g_value_set_string(value, priv->base_ip);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
197 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
198 case PROP_BASE_PORT:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
199 g_value_set_uint(value, priv->base_port);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
200 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
201 case PROP_PROTOCOL:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
202 g_value_set_enum(value, priv->proto);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
203 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
204 case PROP_PRIORITY:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
205 g_value_set_uint(value, priv->priority);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
206 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
207 case PROP_TYPE:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
208 g_value_set_enum(value, priv->type);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
209 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
210 case PROP_USERNAME:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
211 g_value_set_string(value, priv->username);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
212 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
213 case PROP_PASSWORD:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
214 g_value_set_string(value, priv->password);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
215 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
216 case PROP_TTL:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
217 g_value_set_uint(value, priv->ttl);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
218 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
219 default:
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
220 G_OBJECT_WARN_INVALID_PROPERTY_ID(
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
221 object, prop_id, pspec);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
222 break;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
223 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
224 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
225
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
226 static void
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
227 purple_media_candidate_class_init(PurpleMediaCandidateClass *klass)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
228 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
229 GObjectClass *gobject_class = (GObjectClass*)klass;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
230
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
231 gobject_class->finalize = purple_media_candidate_finalize;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
232 gobject_class->set_property = purple_media_candidate_set_property;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
233 gobject_class->get_property = purple_media_candidate_get_property;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
234
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
235 g_object_class_install_property(gobject_class, PROP_FOUNDATION,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
236 g_param_spec_string("foundation",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
237 "Foundation",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
238 "The foundation of the candidate.",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
239 NULL,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
240 G_PARAM_READWRITE));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
241
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
242 g_object_class_install_property(gobject_class, PROP_COMPONENT_ID,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
243 g_param_spec_uint("component-id",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
244 "Component ID",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
245 "The component id of the candidate.",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
246 0, G_MAXUINT, 0,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
247 G_PARAM_READWRITE));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
248
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
249 g_object_class_install_property(gobject_class, PROP_IP,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
250 g_param_spec_string("ip",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
251 "IP Address",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
252 "The IP address of the candidate.",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
253 NULL,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
254 G_PARAM_READWRITE));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
255
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
256 g_object_class_install_property(gobject_class, PROP_PORT,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
257 g_param_spec_uint("port",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
258 "Port",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
259 "The port of the candidate.",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
260 0, G_MAXUINT16, 0,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
261 G_PARAM_READWRITE));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
262
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
263 g_object_class_install_property(gobject_class, PROP_BASE_IP,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
264 g_param_spec_string("base-ip",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
265 "Base IP",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
266 "The internal IP address of the candidate.",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
267 NULL,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
268 G_PARAM_READWRITE));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
269
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
270 g_object_class_install_property(gobject_class, PROP_BASE_PORT,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
271 g_param_spec_uint("base-port",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
272 "Base Port",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
273 "The internal port of the candidate.",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
274 0, G_MAXUINT16, 0,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
275 G_PARAM_READWRITE));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
276
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
277 g_object_class_install_property(gobject_class, PROP_PROTOCOL,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
278 g_param_spec_enum("protocol",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
279 "Protocol",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
280 "The protocol of the candidate.",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
281 PURPLE_TYPE_MEDIA_NETWORK_PROTOCOL,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
282 PURPLE_MEDIA_NETWORK_PROTOCOL_UDP,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
283 G_PARAM_READWRITE));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
284
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
285 g_object_class_install_property(gobject_class, PROP_PRIORITY,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
286 g_param_spec_uint("priority",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
287 "Priority",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
288 "The priority of the candidate.",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
289 0, G_MAXUINT32, 0,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
290 G_PARAM_READWRITE));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
291
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
292 g_object_class_install_property(gobject_class, PROP_TYPE,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
293 g_param_spec_enum("type",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
294 "Type",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
295 "The type of the candidate.",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
296 PURPLE_TYPE_MEDIA_CANDIDATE_TYPE,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
297 PURPLE_MEDIA_CANDIDATE_TYPE_HOST,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
298 G_PARAM_READWRITE));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
299
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
300 g_object_class_install_property(gobject_class, PROP_USERNAME,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
301 g_param_spec_string("username",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
302 "Username",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
303 "The username used to connect to the candidate.",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
304 NULL,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
305 G_PARAM_READWRITE));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
306
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
307 g_object_class_install_property(gobject_class, PROP_PASSWORD,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
308 g_param_spec_string("password",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
309 "Password",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
310 "The password use to connect to the candidate.",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
311 NULL,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
312 G_PARAM_READWRITE));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
313
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
314 g_object_class_install_property(gobject_class, PROP_TTL,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
315 g_param_spec_uint("ttl",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
316 "TTL",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
317 "The TTL of the candidate.",
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
318 0, G_MAXUINT, 0,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
319 G_PARAM_READWRITE));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
320
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
321 g_type_class_add_private(klass, sizeof(PurpleMediaCandidatePrivate));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
322 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
323
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
324 PurpleMediaCandidate *
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
325 purple_media_candidate_new(const gchar *foundation, guint component_id,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
326 PurpleMediaCandidateType type,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
327 PurpleMediaNetworkProtocol proto,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
328 const gchar *ip, guint port)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
329 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
330 return g_object_new(PURPLE_TYPE_MEDIA_CANDIDATE,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
331 "foundation", foundation,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
332 "component-id", component_id,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
333 "type", type,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
334 "protocol", proto,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
335 "ip", ip,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
336 "port", port, NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
337 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
338
29558
ec069900bf96 Add purple_media_candidate_copy to the public API.
maiku@pidgin.im
parents: 29536
diff changeset
339 PurpleMediaCandidate *
29536
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
340 purple_media_candidate_copy(PurpleMediaCandidate *candidate)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
341 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
342 PurpleMediaCandidatePrivate *priv;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
343 PurpleMediaCandidate *new_candidate;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
344
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
345 if (candidate == NULL)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
346 return NULL;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
347
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
348 priv = PURPLE_MEDIA_CANDIDATE_GET_PRIVATE(candidate);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
349
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
350 new_candidate = purple_media_candidate_new(priv->foundation,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
351 priv->component_id, priv->type, priv->proto,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
352 priv->ip, priv->port);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
353 g_object_set(new_candidate,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
354 "base-ip", priv->base_ip,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
355 "base-port", priv->base_port,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
356 "priority", priv->priority,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
357 "username", priv->username,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
358 "password", priv->password,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
359 "ttl", priv->ttl, NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
360 return new_candidate;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
361 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
362
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
363 GList *
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
364 purple_media_candidate_list_copy(GList *candidates)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
365 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
366 GList *new_list = NULL;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
367
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
368 for (; candidates; candidates = g_list_next(candidates)) {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
369 new_list = g_list_prepend(new_list,
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
370 purple_media_candidate_copy(candidates->data));
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
371 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
372
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
373 new_list = g_list_reverse(new_list);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
374 return new_list;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
375 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
376
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
377 void
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
378 purple_media_candidate_list_free(GList *candidates)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
379 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
380 for (; candidates; candidates =
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
381 g_list_delete_link(candidates, candidates)) {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
382 g_object_unref(candidates->data);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
383 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
384 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
385
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
386 gchar *
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
387 purple_media_candidate_get_foundation(PurpleMediaCandidate *candidate)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
388 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
389 gchar *foundation;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
390 g_return_val_if_fail(PURPLE_IS_MEDIA_CANDIDATE(candidate), NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
391 g_object_get(candidate, "foundation", &foundation, NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
392 return foundation;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
393 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
394
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
395 guint
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
396 purple_media_candidate_get_component_id(PurpleMediaCandidate *candidate)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
397 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
398 guint component_id;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
399 g_return_val_if_fail(PURPLE_IS_MEDIA_CANDIDATE(candidate), 0);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
400 g_object_get(candidate, "component-id", &component_id, NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
401 return component_id;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
402 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
403
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
404 gchar *
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
405 purple_media_candidate_get_ip(PurpleMediaCandidate *candidate)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
406 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
407 gchar *ip;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
408 g_return_val_if_fail(PURPLE_IS_MEDIA_CANDIDATE(candidate), NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
409 g_object_get(candidate, "ip", &ip, NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
410 return ip;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
411 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
412
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
413 guint16
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
414 purple_media_candidate_get_port(PurpleMediaCandidate *candidate)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
415 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
416 guint port;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
417 g_return_val_if_fail(PURPLE_IS_MEDIA_CANDIDATE(candidate), 0);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
418 g_object_get(candidate, "port", &port, NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
419 return port;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
420 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
421
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
422 gchar *
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
423 purple_media_candidate_get_base_ip(PurpleMediaCandidate *candidate)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
424 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
425 gchar *base_ip;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
426 g_return_val_if_fail(PURPLE_IS_MEDIA_CANDIDATE(candidate), NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
427 g_object_get(candidate, "base-ip", &base_ip, NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
428 return base_ip;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
429 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
430
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
431 guint16
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
432 purple_media_candidate_get_base_port(PurpleMediaCandidate *candidate)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
433 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
434 guint base_port;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
435 g_return_val_if_fail(PURPLE_IS_MEDIA_CANDIDATE(candidate), 0);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
436 g_object_get(candidate, "base_port", &base_port, NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
437 return base_port;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
438 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
439
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
440 PurpleMediaNetworkProtocol
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
441 purple_media_candidate_get_protocol(PurpleMediaCandidate *candidate)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
442 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
443 PurpleMediaNetworkProtocol protocol;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
444 g_return_val_if_fail(PURPLE_IS_MEDIA_CANDIDATE(candidate),
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
445 PURPLE_MEDIA_NETWORK_PROTOCOL_UDP);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
446 g_object_get(candidate, "protocol", &protocol, NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
447 return protocol;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
448 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
449
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
450 guint32
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
451 purple_media_candidate_get_priority(PurpleMediaCandidate *candidate)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
452 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
453 guint priority;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
454 g_return_val_if_fail(PURPLE_IS_MEDIA_CANDIDATE(candidate), 0);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
455 g_object_get(candidate, "priority", &priority, NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
456 return priority;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
457 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
458
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
459 PurpleMediaCandidateType
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
460 purple_media_candidate_get_candidate_type(PurpleMediaCandidate *candidate)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
461 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
462 PurpleMediaCandidateType type;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
463 g_return_val_if_fail(PURPLE_IS_MEDIA_CANDIDATE(candidate),
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
464 PURPLE_MEDIA_CANDIDATE_TYPE_HOST);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
465 g_object_get(candidate, "type", &type, NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
466 return type;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
467 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
468
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
469 gchar *
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
470 purple_media_candidate_get_username(PurpleMediaCandidate *candidate)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
471 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
472 gchar *username;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
473 g_return_val_if_fail(PURPLE_IS_MEDIA_CANDIDATE(candidate), NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
474 g_object_get(candidate, "username", &username, NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
475 return username;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
476 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
477
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
478 gchar *
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
479 purple_media_candidate_get_password(PurpleMediaCandidate *candidate)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
480 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
481 gchar *password;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
482 g_return_val_if_fail(PURPLE_IS_MEDIA_CANDIDATE(candidate), NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
483 g_object_get(candidate, "password", &password, NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
484 return password;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
485 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
486
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
487 guint
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
488 purple_media_candidate_get_ttl(PurpleMediaCandidate *candidate)
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
489 {
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
490 guint ttl;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
491 g_return_val_if_fail(PURPLE_IS_MEDIA_CANDIDATE(candidate), 0);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
492 g_object_get(candidate, "ttl", &ttl, NULL);
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
493 return ttl;
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
494 }
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents:
diff changeset
495