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