3 * Purple is the legal property of its developers, whose names are too numerous
4 * to list here. Please refer to the COPYRIGHT file distributed with this
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
22 #ifndef PURPLE_MEDIA_ENUM_TYPES_H
23 #define PURPLE_MEDIA_ENUM_TYPES_H
26 * @section_id: libpurple-enum-types
27 * @short_description: <filename>media/enum-types.h</filename>
28 * @title: Enum types for Media API
31 #include <glib-object.h>
35 #define PURPLE_TYPE_MEDIA_CANDIDATE_TYPE (purple_media_candidate_type_get_type())
36 #define PURPLE_MEDIA_TYPE_CAPS (purple_media_caps_get_type())
37 #define PURPLE_MEDIA_TYPE_INFO_TYPE (purple_media_info_type_get_type())
38 #define PURPLE_TYPE_MEDIA_NETWORK_PROTOCOL (purple_media_network_protocol_get_type())
39 #define PURPLE_TYPE_MEDIA_SESSION_TYPE (purple_media_session_type_get_type())
40 #define PURPLE_MEDIA_TYPE_STATE (purple_media_state_changed_get_type())
43 * PurpleMediaCandidateType:
45 * Media candidate types
48 PURPLE_MEDIA_CANDIDATE_TYPE_HOST
,
49 PURPLE_MEDIA_CANDIDATE_TYPE_SRFLX
,
50 PURPLE_MEDIA_CANDIDATE_TYPE_PRFLX
,
51 PURPLE_MEDIA_CANDIDATE_TYPE_RELAY
,
52 PURPLE_MEDIA_CANDIDATE_TYPE_MULTICAST
53 } PurpleMediaCandidateType
;
61 PURPLE_MEDIA_CAPS_NONE
= 0,
62 PURPLE_MEDIA_CAPS_AUDIO
= 1,
63 PURPLE_MEDIA_CAPS_AUDIO_SINGLE_DIRECTION
= 1 << 1,
64 PURPLE_MEDIA_CAPS_VIDEO
= 1 << 2,
65 PURPLE_MEDIA_CAPS_VIDEO_SINGLE_DIRECTION
= 1 << 3,
66 PURPLE_MEDIA_CAPS_AUDIO_VIDEO
= 1 << 4,
67 PURPLE_MEDIA_CAPS_MODIFY_SESSION
= 1 << 5,
68 PURPLE_MEDIA_CAPS_CHANGE_DIRECTION
= 1 << 6
72 * PurpleMediaComponentType:
74 * Media component types
77 PURPLE_MEDIA_COMPONENT_NONE
= 0,
78 PURPLE_MEDIA_COMPONENT_RTP
= 1,
79 PURPLE_MEDIA_COMPONENT_RTCP
= 2
80 } PurpleMediaComponentType
;
83 * PurpleMediaInfoType:
88 PURPLE_MEDIA_INFO_HANGUP
= 0,
89 PURPLE_MEDIA_INFO_ACCEPT
,
90 PURPLE_MEDIA_INFO_REJECT
,
91 PURPLE_MEDIA_INFO_MUTE
,
92 PURPLE_MEDIA_INFO_UNMUTE
,
93 PURPLE_MEDIA_INFO_PAUSE
,
94 PURPLE_MEDIA_INFO_UNPAUSE
,
95 PURPLE_MEDIA_INFO_HOLD
,
96 PURPLE_MEDIA_INFO_UNHOLD
97 } PurpleMediaInfoType
;
100 * PurpleMediaNetworkProtocol:
102 * Media network protocols
105 PURPLE_MEDIA_NETWORK_PROTOCOL_UDP
,
106 PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_PASSIVE
,
107 PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_ACTIVE
,
108 PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_SO
,
109 } PurpleMediaNetworkProtocol
;
112 * PurpleMediaSessionType:
114 * Media session types
117 PURPLE_MEDIA_NONE
= 0,
118 PURPLE_MEDIA_RECV_AUDIO
= 1 << 0,
119 PURPLE_MEDIA_SEND_AUDIO
= 1 << 1,
120 PURPLE_MEDIA_RECV_VIDEO
= 1 << 2,
121 PURPLE_MEDIA_SEND_VIDEO
= 1 << 3,
122 PURPLE_MEDIA_RECV_APPLICATION
= 1 << 4,
123 PURPLE_MEDIA_SEND_APPLICATION
= 1 << 5,
124 PURPLE_MEDIA_AUDIO
= PURPLE_MEDIA_RECV_AUDIO
| PURPLE_MEDIA_SEND_AUDIO
,
125 PURPLE_MEDIA_VIDEO
= PURPLE_MEDIA_RECV_VIDEO
| PURPLE_MEDIA_SEND_VIDEO
,
126 PURPLE_MEDIA_APPLICATION
= PURPLE_MEDIA_RECV_APPLICATION
|
127 PURPLE_MEDIA_SEND_APPLICATION
128 } PurpleMediaSessionType
;
133 * Media state-changed types
136 PURPLE_MEDIA_STATE_NEW
= 0,
137 PURPLE_MEDIA_STATE_CONNECTED
,
138 PURPLE_MEDIA_STATE_END
142 * purple_media_candidate_type_get_type:
144 * Gets the media candidate type's GType
146 * Returns: The media candidate type's GType.
148 GType
purple_media_candidate_type_get_type(void);
151 * purple_media_caps_get_type:
153 * Gets the type of the media caps flags
155 * Returns: The media caps flags' GType
157 GType
purple_media_caps_get_type(void);
160 * purple_media_info_type_get_type:
162 * Gets the type of the info type enum
164 * Returns: The info type enum's GType
166 GType
purple_media_info_type_get_type(void);
169 * purple_media_network_protocol_get_type:
171 * Gets the media network protocol's GType
173 * Returns: The media network protocol's GType.
175 GType
purple_media_network_protocol_get_type(void);
178 * purple_media_session_type_get_type:
180 * Gets the media session type's GType
182 * Returns: The media session type's GType.
184 GType
purple_media_session_type_get_type(void);
187 * purple_media_state_changed_get_type:
189 * Gets the type of the state-changed enum
191 * Returns: The state-changed enum's GType
193 GType
purple_media_state_changed_get_type(void);
197 #endif /* PURPLE_MEDIA_ENUM_TYPES */