Mercurial > pidgin
comparison libpurple/media.h @ 26406:2d332d327a0e
Hide and GObjectify PurpleMediaCandidate.
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Fri, 03 Apr 2009 00:21:10 +0000 |
parents | 217574ec2a34 |
children | 440e999c27ca |
comparison
equal
deleted
inserted
replaced
26405:70ab418e9d4f | 26406:2d332d327a0e |
---|---|
32 | 32 |
33 #include <glib.h> | 33 #include <glib.h> |
34 #include <glib-object.h> | 34 #include <glib-object.h> |
35 | 35 |
36 G_BEGIN_DECLS | 36 G_BEGIN_DECLS |
37 | |
38 #define PURPLE_TYPE_MEDIA_CANDIDATE (purple_media_candidate_get_type()) | |
39 #define PURPLE_MEDIA_CANDIDATE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_MEDIA_CANDIDATE, PurpleMediaCandidate)) | |
40 #define PURPLE_MEDIA_CANDIDATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_MEDIA_CANDIDATE, PurpleMediaCandidate)) | |
41 #define PURPLE_IS_MEDIA_CANDIDATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_MEDIA_CANDIDATE)) | |
42 #define PURPLE_IS_MEDIA_CANDIDATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA_CANDIDATE)) | |
43 #define PURPLE_MEDIA_CANDIDATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA_CANDIDATE, PurpleMediaCandidate)) | |
37 | 44 |
38 #define PURPLE_TYPE_MEDIA_CODEC (purple_media_codec_get_type()) | 45 #define PURPLE_TYPE_MEDIA_CODEC (purple_media_codec_get_type()) |
39 #define PURPLE_MEDIA_CODEC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_MEDIA_CODEC, PurpleMediaCodec)) | 46 #define PURPLE_MEDIA_CODEC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_MEDIA_CODEC, PurpleMediaCodec)) |
40 #define PURPLE_MEDIA_CODEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_MEDIA_CODEC, PurpleMediaCodec)) | 47 #define PURPLE_MEDIA_CODEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_MEDIA_CODEC, PurpleMediaCodec)) |
41 #define PURPLE_IS_MEDIA_CODEC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_MEDIA_CODEC)) | 48 #define PURPLE_IS_MEDIA_CODEC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_MEDIA_CODEC)) |
42 #define PURPLE_IS_MEDIA_CODEC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA_CODEC)) | 49 #define PURPLE_IS_MEDIA_CODEC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA_CODEC)) |
43 #define PURPLE_MEDIA_CODEC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA_CODEC, PurpleMediaCodec)) | 50 #define PURPLE_MEDIA_CODEC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA_CODEC, PurpleMediaCodec)) |
44 | 51 |
45 #define PURPLE_TYPE_MEDIA_SESSION_TYPE (purple_media_session_type_get_type()) | 52 #define PURPLE_TYPE_MEDIA_SESSION_TYPE (purple_media_session_type_get_type()) |
46 #define PURPLE_TYPE_MEDIA (purple_media_get_type()) | 53 #define PURPLE_TYPE_MEDIA (purple_media_get_type()) |
47 #define PURPLE_TYPE_MEDIA_CANDIDATE (purple_media_candidate_get_type()) | |
48 #define PURPLE_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_MEDIA, PurpleMedia)) | 54 #define PURPLE_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_MEDIA, PurpleMedia)) |
49 #define PURPLE_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_MEDIA, PurpleMediaClass)) | 55 #define PURPLE_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_MEDIA, PurpleMediaClass)) |
50 #define PURPLE_IS_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_MEDIA)) | 56 #define PURPLE_IS_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_MEDIA)) |
51 #define PURPLE_IS_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA)) | 57 #define PURPLE_IS_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA)) |
52 #define PURPLE_MEDIA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA, PurpleMediaClass)) | 58 #define PURPLE_MEDIA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA, PurpleMediaClass)) |
53 | 59 |
60 #define PURPLE_TYPE_MEDIA_CANDIDATE_TYPE (purple_media_candidate_type_get_type()) | |
61 #define PURPLE_TYPE_MEDIA_NETWORK_PROTOCOL (purple_media_network_protocol_get_type()) | |
54 #define PURPLE_MEDIA_TYPE_STATE (purple_media_state_changed_get_type()) | 62 #define PURPLE_MEDIA_TYPE_STATE (purple_media_state_changed_get_type()) |
55 #define PURPLE_MEDIA_TYPE_INFO_TYPE (purple_media_info_type_get_type()) | 63 #define PURPLE_MEDIA_TYPE_INFO_TYPE (purple_media_info_type_get_type()) |
56 | 64 |
57 /** @copydoc _PurpleMedia */ | 65 /** @copydoc _PurpleMedia */ |
58 typedef struct _PurpleMedia PurpleMedia; | 66 typedef struct _PurpleMedia PurpleMedia; |
123 typedef enum { | 131 typedef enum { |
124 PURPLE_MEDIA_NETWORK_PROTOCOL_UDP, | 132 PURPLE_MEDIA_NETWORK_PROTOCOL_UDP, |
125 PURPLE_MEDIA_NETWORK_PROTOCOL_TCP, | 133 PURPLE_MEDIA_NETWORK_PROTOCOL_TCP, |
126 } PurpleMediaNetworkProtocol; | 134 } PurpleMediaNetworkProtocol; |
127 | 135 |
128 struct _PurpleMediaCandidate | |
129 { | |
130 const gchar *foundation; | |
131 guint component_id; | |
132 const gchar *ip; | |
133 guint16 port; | |
134 const gchar *base_ip; | |
135 guint16 base_port; | |
136 PurpleMediaNetworkProtocol proto; | |
137 guint32 priority; | |
138 PurpleMediaCandidateType type; | |
139 const gchar *username; | |
140 const gchar *password; | |
141 guint ttl; | |
142 }; | |
143 | |
144 #ifdef __cplusplus | 136 #ifdef __cplusplus |
145 extern "C" { | 137 extern "C" { |
146 #endif | 138 #endif |
147 | 139 |
148 /** | 140 /** |
149 * Gets the media session type's GType | 141 * Gets the media session type's GType |
150 * | 142 * |
151 * @return The media session type's GType. | 143 * @return The media session type's GType. |
152 */ | 144 */ |
153 GType purple_media_session_type_get_type(void); | 145 GType purple_media_session_type_get_type(void); |
146 | |
147 /** | |
148 * Gets the media candidate type's GType | |
149 * | |
150 * @return The media candidate type's GType. | |
151 */ | |
152 GType purple_media_candidate_type_get_type(void); | |
153 | |
154 /** | |
155 * Gets the media network protocol's GType | |
156 * | |
157 * @return The media network protocol's GType. | |
158 */ | |
159 GType purple_media_network_protocol_get_type(void); | |
154 | 160 |
155 /** | 161 /** |
156 * Gets the media class's GType | 162 * Gets the media class's GType |
157 * | 163 * |
158 * @return The media class's GType. | 164 * @return The media class's GType. |
211 * Frees a GList of PurpleMediaCandidate and its contents. | 217 * Frees a GList of PurpleMediaCandidate and its contents. |
212 * | 218 * |
213 * @param candidates The list of candidates to be freed. | 219 * @param candidates The list of candidates to be freed. |
214 */ | 220 */ |
215 void purple_media_candidate_list_free(GList *candidates); | 221 void purple_media_candidate_list_free(GList *candidates); |
222 | |
223 gchar *purple_media_candidate_get_foundation(PurpleMediaCandidate *candidate); | |
224 guint purple_media_candidate_get_component_id(PurpleMediaCandidate *candidate); | |
225 gchar *purple_media_candidate_get_ip(PurpleMediaCandidate *candidate); | |
226 guint16 purple_media_candidate_get_port(PurpleMediaCandidate *candidate); | |
227 gchar *purple_media_candidate_get_base_ip(PurpleMediaCandidate *candidate); | |
228 guint16 purple_media_candidate_get_base_port(PurpleMediaCandidate *candidate); | |
229 PurpleMediaNetworkProtocol purple_media_candidate_get_protocol( | |
230 PurpleMediaCandidate *candidate); | |
231 guint32 purple_media_candidate_get_priority(PurpleMediaCandidate *candidate); | |
232 PurpleMediaCandidateType purple_media_candidate_get_candidate_type( | |
233 PurpleMediaCandidate *candidate); | |
234 gchar *purple_media_candidate_get_username(PurpleMediaCandidate *candidate); | |
235 gchar *purple_media_candidate_get_password(PurpleMediaCandidate *candidate); | |
236 guint purple_media_candidate_get_ttl(PurpleMediaCandidate *candidate); | |
216 | 237 |
217 /** | 238 /** |
218 * Gets the type of the media codec structure. | 239 * Gets the type of the media codec structure. |
219 * | 240 * |
220 * @return The media codec's GType | 241 * @return The media codec's GType |