libpurple/media/enum-types.h

Wed, 18 Apr 2018 09:02:50 +0100

author
David Woodhouse <dwmw2@infradead.org>
date
Wed, 18 Apr 2018 09:02:50 +0100
branch
media
changeset 38958
a6464e785099
parent 36349
358594a1aef9
permissions
-rw-r--r--

media: allow per-stream src/sink elements to be set

Instead of only using the default registered elements for a given media
stream type, allow a different PurpleMediaElementInfo to be passed in by
attaching it to the PurpleMedia before calling purple_media_add_stream().

This means that PURPLE_MEDIA_SEND_VIDEO streams which are actually a
screen share, for example, can use ximagesrc instead of the camera.

For screen share, we'll actually want the UI to have a method for
choosing which monitor/window to share, and providing the appropriate
PurpleMediaElementInfo according to the user's choice (and the platform).
For now I'm doing it in my PRPL.

29551
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
1 /**
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
2 * @file enum-types.h Enum types for Media API
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
3 * @ingroup core
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
4 */
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
5
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
6 /* purple
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
7 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
8 * Purple is the legal property of its developers, whose names are too numerous
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
10 * source distribution.
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
11 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
15 * (at your option) any later version.
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
16 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
20 * GNU General Public License for more details.
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
21 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
23 * along with this program; if not, write to the Free Software
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
25 */
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
26
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
27 #ifndef _PURPLE_MEDIA_ENUM_TYPES_H_
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
28 #define _PURPLE_MEDIA_ENUM_TYPES_H_
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
29
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
30 #include <glib-object.h>
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
31
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
32 G_BEGIN_DECLS
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
33
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
34 #define PURPLE_TYPE_MEDIA_CANDIDATE_TYPE (purple_media_candidate_type_get_type())
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
35 #define PURPLE_MEDIA_TYPE_CAPS (purple_media_caps_get_type())
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
36 #define PURPLE_MEDIA_TYPE_INFO_TYPE (purple_media_info_type_get_type())
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
37 #define PURPLE_TYPE_MEDIA_NETWORK_PROTOCOL (purple_media_network_protocol_get_type())
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
38 #define PURPLE_TYPE_MEDIA_SESSION_TYPE (purple_media_session_type_get_type())
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
39 #define PURPLE_MEDIA_TYPE_STATE (purple_media_state_changed_get_type())
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
40
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
41 /** Media candidate types */
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
42 typedef enum {
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
43 PURPLE_MEDIA_CANDIDATE_TYPE_HOST,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
44 PURPLE_MEDIA_CANDIDATE_TYPE_SRFLX,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
45 PURPLE_MEDIA_CANDIDATE_TYPE_PRFLX,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
46 PURPLE_MEDIA_CANDIDATE_TYPE_RELAY,
33217
7e266d890064 Remove trailing commas from enums.
David Michael <fedora.dm0@gmail.com>
parents: 29551
diff changeset
47 PURPLE_MEDIA_CANDIDATE_TYPE_MULTICAST
29551
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
48 } PurpleMediaCandidateType;
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
49
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
50 /** Media caps */
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
51 typedef enum {
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
52 PURPLE_MEDIA_CAPS_NONE = 0,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
53 PURPLE_MEDIA_CAPS_AUDIO = 1,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
54 PURPLE_MEDIA_CAPS_AUDIO_SINGLE_DIRECTION = 1 << 1,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
55 PURPLE_MEDIA_CAPS_VIDEO = 1 << 2,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
56 PURPLE_MEDIA_CAPS_VIDEO_SINGLE_DIRECTION = 1 << 3,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
57 PURPLE_MEDIA_CAPS_AUDIO_VIDEO = 1 << 4,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
58 PURPLE_MEDIA_CAPS_MODIFY_SESSION = 1 << 5,
33217
7e266d890064 Remove trailing commas from enums.
David Michael <fedora.dm0@gmail.com>
parents: 29551
diff changeset
59 PURPLE_MEDIA_CAPS_CHANGE_DIRECTION = 1 << 6
29551
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
60 } PurpleMediaCaps;
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
61
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
62 /** Media component types */
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
63 typedef enum {
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
64 PURPLE_MEDIA_COMPONENT_NONE = 0,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
65 PURPLE_MEDIA_COMPONENT_RTP = 1,
33217
7e266d890064 Remove trailing commas from enums.
David Michael <fedora.dm0@gmail.com>
parents: 29551
diff changeset
66 PURPLE_MEDIA_COMPONENT_RTCP = 2
29551
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
67 } PurpleMediaComponentType;
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
68
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
69 /** Media info types */
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
70 typedef enum {
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
71 PURPLE_MEDIA_INFO_HANGUP = 0,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
72 PURPLE_MEDIA_INFO_ACCEPT,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
73 PURPLE_MEDIA_INFO_REJECT,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
74 PURPLE_MEDIA_INFO_MUTE,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
75 PURPLE_MEDIA_INFO_UNMUTE,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
76 PURPLE_MEDIA_INFO_PAUSE,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
77 PURPLE_MEDIA_INFO_UNPAUSE,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
78 PURPLE_MEDIA_INFO_HOLD,
33217
7e266d890064 Remove trailing commas from enums.
David Michael <fedora.dm0@gmail.com>
parents: 29551
diff changeset
79 PURPLE_MEDIA_INFO_UNHOLD
29551
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
80 } PurpleMediaInfoType;
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
81
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
82 /** Media network protocols */
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
83 typedef enum {
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
84 PURPLE_MEDIA_NETWORK_PROTOCOL_UDP,
36317
fcecf7f838e2 Add MS-TURN TCP support
Jakub Adam <jakub.adam@ktknet.cz>
parents: 33217
diff changeset
85 PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_PASSIVE,
fcecf7f838e2 Add MS-TURN TCP support
Jakub Adam <jakub.adam@ktknet.cz>
parents: 33217
diff changeset
86 PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_ACTIVE,
fcecf7f838e2 Add MS-TURN TCP support
Jakub Adam <jakub.adam@ktknet.cz>
parents: 33217
diff changeset
87 PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_SO,
29551
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
88 } PurpleMediaNetworkProtocol;
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
89
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
90 /** Media session types */
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
91 typedef enum {
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
92 PURPLE_MEDIA_NONE = 0,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
93 PURPLE_MEDIA_RECV_AUDIO = 1 << 0,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
94 PURPLE_MEDIA_SEND_AUDIO = 1 << 1,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
95 PURPLE_MEDIA_RECV_VIDEO = 1 << 2,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
96 PURPLE_MEDIA_SEND_VIDEO = 1 << 3,
36333
4fe1034f3dce Add application media type and APIs
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
97 PURPLE_MEDIA_RECV_APPLICATION = 1 << 4,
4fe1034f3dce Add application media type and APIs
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
98 PURPLE_MEDIA_SEND_APPLICATION = 1 << 5,
29551
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
99 PURPLE_MEDIA_AUDIO = PURPLE_MEDIA_RECV_AUDIO | PURPLE_MEDIA_SEND_AUDIO,
36333
4fe1034f3dce Add application media type and APIs
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
100 PURPLE_MEDIA_VIDEO = PURPLE_MEDIA_RECV_VIDEO | PURPLE_MEDIA_SEND_VIDEO,
4fe1034f3dce Add application media type and APIs
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
101 PURPLE_MEDIA_APPLICATION = PURPLE_MEDIA_RECV_APPLICATION |
38958
a6464e785099 media: allow per-stream src/sink elements to be set
David Woodhouse <dwmw2@infradead.org>
parents: 36349
diff changeset
102 PURPLE_MEDIA_SEND_APPLICATION,
a6464e785099 media: allow per-stream src/sink elements to be set
David Woodhouse <dwmw2@infradead.org>
parents: 36349
diff changeset
103 PURPLE_MEDIA_SEND = PURPLE_MEDIA_SEND_AUDIO | PURPLE_MEDIA_SEND_VIDEO |
a6464e785099 media: allow per-stream src/sink elements to be set
David Woodhouse <dwmw2@infradead.org>
parents: 36349
diff changeset
104 PURPLE_MEDIA_SEND_APPLICATION,
a6464e785099 media: allow per-stream src/sink elements to be set
David Woodhouse <dwmw2@infradead.org>
parents: 36349
diff changeset
105 PURPLE_MEDIA_RECV = PURPLE_MEDIA_RECV_AUDIO | PURPLE_MEDIA_RECV_VIDEO |
a6464e785099 media: allow per-stream src/sink elements to be set
David Woodhouse <dwmw2@infradead.org>
parents: 36349
diff changeset
106 PURPLE_MEDIA_RECV_APPLICATION
29551
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
107 } PurpleMediaSessionType;
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
108
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
109 /** Media state-changed types */
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
110 typedef enum {
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
111 PURPLE_MEDIA_STATE_NEW = 0,
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
112 PURPLE_MEDIA_STATE_CONNECTED,
33217
7e266d890064 Remove trailing commas from enums.
David Michael <fedora.dm0@gmail.com>
parents: 29551
diff changeset
113 PURPLE_MEDIA_STATE_END
29551
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
114 } PurpleMediaState;
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
115
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
116 /**
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
117 * Gets the media candidate type's GType
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
118 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
119 * @return The media candidate type's GType.
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
120 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
121 * @since 2.6.0
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
122 */
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
123 GType purple_media_candidate_type_get_type(void);
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
124
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
125 /**
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
126 * Gets the type of the media caps flags
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
127 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
128 * @return The media caps flags' GType
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
129 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
130 * @since 2.7.0
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
131 */
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
132 GType purple_media_caps_get_type(void);
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
133
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
134 /**
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
135 * Gets the type of the info type enum
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
136 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
137 * @return The info type enum's GType
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
138 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
139 * @since 2.6.0
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
140 */
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
141 GType purple_media_info_type_get_type(void);
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
142
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
143 /**
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
144 * Gets the media network protocol's GType
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
145 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
146 * @return The media network protocol's GType.
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
147 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
148 * @since 2.6.0
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
149 */
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
150 GType purple_media_network_protocol_get_type(void);
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
151
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
152 /**
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
153 * Gets the media session type's GType
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
154 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
155 * @return The media session type's GType.
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
156 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
157 * @since 2.6.0
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
158 */
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
159 GType purple_media_session_type_get_type(void);
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
160
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
161 /**
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
162 * Gets the type of the state-changed enum
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
163 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
164 * @return The state-changed enum's GType
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
165 *
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
166 * @since 2.6.0
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
167 */
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
168 GType purple_media_state_changed_get_type(void);
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
169
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
170 G_END_DECLS
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
171
5208cf010a12 Split the media API's enum types out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
172 #endif /* _PURPLE_MEDIA_ENUM_TYPES_ */

mercurial