libpurple/mediamanager.h

Wed, 13 May 2009 20:29:03 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Wed, 13 May 2009 20:29:03 +0000
changeset 27110
05ca719b901b
parent 26858
7c3e817f4575
child 28321
c8d617c408ab
permissions
-rw-r--r--

Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.

19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1 /**
19889
defa6a4f45cc Cosmetics.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19885
diff changeset
2 * @file mediamanager.h Media Manager API
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
3 * @ingroup core
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
4 */
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
5
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
6 /* purple
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
7 *
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
8 * Purple is the legal property of its developers, whose names are too numerous
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
10 * source distribution.
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
11 *
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
15 * (at your option) any later version.
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
16 *
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
20 * GNU General Public License for more details.
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
21 *
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
23 * along with this program; if not, write to the Free Software
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
24 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
25 */
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
26
26649
1a6c4fd19355 Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <darkrain42@pidgin.im>
parents: 26648
diff changeset
27 #ifndef _PURPLE_MEDIA_MANAGER_H_
1a6c4fd19355 Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <darkrain42@pidgin.im>
parents: 26648
diff changeset
28 #define _PURPLE_MEDIA_MANAGER_H_
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
29
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
30 #include <glib.h>
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
31 #include <glib-object.h>
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
32
26649
1a6c4fd19355 Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <darkrain42@pidgin.im>
parents: 26648
diff changeset
33 /** @copydoc _PurpleMediaManager */
1a6c4fd19355 Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <darkrain42@pidgin.im>
parents: 26648
diff changeset
34 typedef struct _PurpleMediaManager PurpleMediaManager;
1a6c4fd19355 Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <darkrain42@pidgin.im>
parents: 26648
diff changeset
35 /** @copydoc _PurpleMediaManagerClass */
1a6c4fd19355 Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <darkrain42@pidgin.im>
parents: 26648
diff changeset
36 typedef struct _PurpleMediaManagerClass PurpleMediaManagerClass;
1a6c4fd19355 Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <darkrain42@pidgin.im>
parents: 26648
diff changeset
37
26746
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26649
diff changeset
38 #include "account.h"
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
39 #include "media.h"
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
40
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
41 G_BEGIN_DECLS
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
42
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
43 #define PURPLE_TYPE_MEDIA_MANAGER (purple_media_manager_get_type())
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
44 #define PURPLE_MEDIA_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_MEDIA_MANAGER, PurpleMediaManager))
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
45 #define PURPLE_MEDIA_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_MEDIA_MANAGER, PurpleMediaManagerClass))
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
46 #define PURPLE_IS_MEDIA_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_MEDIA_MANAGER))
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
47 #define PURPLE_IS_MEDIA_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA_MANAGER))
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
48 #define PURPLE_MEDIA_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA_MANAGER, PurpleMediaManagerClass))
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
49
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
50 #ifdef __cplusplus
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
51 extern "C" {
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
52 #endif
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
53
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
54 /**************************************************************************/
26858
7c3e817f4575 s/cname/name/
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
55 /** @name Media Manager API */
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
56 /**************************************************************************/
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
57 /*@{*/
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
58
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
59 /**
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
60 * Gets the media manager's GType.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
61 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
62 * @return The media manager's GType.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
63 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
64 * @since 2.6.0
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
65 */
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
66 GType purple_media_manager_get_type(void);
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
67
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
68 /**
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
69 * Gets the "global" media manager object. It's created if it doesn't already exist.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
70 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
71 * @return The "global" instance of the media manager object.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
72 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
73 * @since 2.6.0
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
74 */
19889
defa6a4f45cc Cosmetics.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19885
diff changeset
75 PurpleMediaManager *purple_media_manager_get(void);
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
76
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
77 /**
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
78 * Creates a media session.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
79 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
80 * @param manager The media manager to create the session under.
26746
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26649
diff changeset
81 * @param account The account to create the session on.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
82 * @param conference_type The conference type to feed into Farsight2.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
83 * @param remote_user The remote user to initiate the session with.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
84 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
85 * @return A newly created media session.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
86 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
87 * @since 2.6.0
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
88 */
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
89 PurpleMedia *purple_media_manager_create_media(PurpleMediaManager *manager,
26746
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26649
diff changeset
90 PurpleAccount *account,
23697
299bafcd8eb8 Updates voice and video to use Farsight 2, gets XMPP voice conferences
Michael Ruprecht <maiku@pidgin.im>
parents: 22074
diff changeset
91 const char *conference_type,
26187
3b3059a7c091 Add initiator property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26150
diff changeset
92 const char *remote_user,
3b3059a7c091 Add initiator property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26150
diff changeset
93 gboolean initiator);
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
94
26115
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
95 /**
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
96 * Gets all of the media sessions.
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
97 *
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
98 * @param manager The media manager to get all of the sessions from.
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
99 *
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
100 * @return A list of all the media sessions.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
101 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
102 * @since 2.6.0
26115
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
103 */
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
104 GList *purple_media_manager_get_media(PurpleMediaManager *manager);
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
105
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
106 /**
26746
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26649
diff changeset
107 * Gets all of the media sessions for a given account.
26329
6e390d9ea49a Added purple_media_manager_get_media_by_connection.
Michael Ruprecht <maiku@pidgin.im>
parents: 26323
diff changeset
108 *
6e390d9ea49a Added purple_media_manager_get_media_by_connection.
Michael Ruprecht <maiku@pidgin.im>
parents: 26323
diff changeset
109 * @param manager The media manager to get the sessions from.
26746
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26649
diff changeset
110 * @param account The account the sessions are on.
26329
6e390d9ea49a Added purple_media_manager_get_media_by_connection.
Michael Ruprecht <maiku@pidgin.im>
parents: 26323
diff changeset
111 *
26746
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26649
diff changeset
112 * @return A list of the media sessions on the given account.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
113 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
114 * @since 2.6.0
26329
6e390d9ea49a Added purple_media_manager_get_media_by_connection.
Michael Ruprecht <maiku@pidgin.im>
parents: 26323
diff changeset
115 */
26746
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26649
diff changeset
116 GList *purple_media_manager_get_media_by_account(
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26649
diff changeset
117 PurpleMediaManager *manager, PurpleAccount *account);
26329
6e390d9ea49a Added purple_media_manager_get_media_by_connection.
Michael Ruprecht <maiku@pidgin.im>
parents: 26323
diff changeset
118
6e390d9ea49a Added purple_media_manager_get_media_by_connection.
Michael Ruprecht <maiku@pidgin.im>
parents: 26323
diff changeset
119 /**
26115
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
120 * Removes a media session from the media manager.
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
121 *
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
122 * @param manager The media manager to remove the media session from.
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
123 * @param media The media session to remove.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
124 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
125 * @since 2.6.0
26115
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
126 */
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
127 void
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
128 purple_media_manager_remove_media(PurpleMediaManager *manager,
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
129 PurpleMedia *media);
5f0500efc781 * Added input/output volume preferences for voice conversations.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
130
26150
951503fc5456 Add purple_media_manager_get_element.
Michael Ruprecht <maiku@pidgin.im>
parents: 26143
diff changeset
131 /**
26491
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
132 * Signals that output windows should be created for the chosen stream.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
133 *
26323
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26320
diff changeset
134 * This shouldn't be called outside of mediamanager.c and media.c
26491
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
135 *
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
136 * @param manager Manager the output windows are registered with.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
137 * @param media Media session the output windows are registered for.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
138 * @param session_id The session the output windows are registered with.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
139 * @param participant The participant the output windows are registered with.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
140 *
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
141 * @return TRUE if it succeeded, FALSE if it failed.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
142 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
143 * @since 2.6.0
26323
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26320
diff changeset
144 */
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26320
diff changeset
145 gboolean purple_media_manager_create_output_window(
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26320
diff changeset
146 PurpleMediaManager *manager, PurpleMedia *media,
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26320
diff changeset
147 const gchar *session_id, const gchar *participant);
26491
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
148
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
149 /**
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
150 * Registers a video output window to be created for a given stream.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
151 *
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
152 * @param manager The manager to register the output window with.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
153 * @param media The media instance to find the stream in.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
154 * @param session_id The session the stream is associated with.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
155 * @param participant The participant the stream is associated with.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
156 * @param window_id The window ID to embed the video in.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
157 *
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
158 * @return A unique ID to the registered output window, 0 if it failed.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
159 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
160 * @since 2.6.0
26491
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
161 */
26323
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26320
diff changeset
162 gulong purple_media_manager_set_output_window(PurpleMediaManager *manager,
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26320
diff changeset
163 PurpleMedia *media, const gchar *session_id,
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26320
diff changeset
164 const gchar *participant, gulong window_id);
26491
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
165
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
166 /**
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
167 * Remove a previously registerd output window.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
168 *
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
169 * @param manager The manager the output window was registered with.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
170 * @param output_window_id The ID of the output window.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
171 *
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
172 * @return TRUE if it found the output window and was successful, else FALSE.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
173 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
174 * @since 2.6.0
26491
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
175 */
26323
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26320
diff changeset
176 gboolean purple_media_manager_remove_output_window(
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26320
diff changeset
177 PurpleMediaManager *manager, gulong output_window_id);
26491
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
178
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
179 /**
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
180 * Remove all output windows for a given conference/session/participant/stream.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
181 *
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
182 * @param manager The manager the output windows were registered with.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
183 * @param media The media instance the output windows were registered for.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
184 * @param session_id The session the output windows were registered for.
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
185 * @param participant The participant the output windows were registered for.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
186 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
187 * @since 2.6.0
26491
7e4f1b50df9f Add some documentation to mediamanager.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
188 */
26323
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26320
diff changeset
189 void purple_media_manager_remove_output_windows(
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26320
diff changeset
190 PurpleMediaManager *manager, PurpleMedia *media,
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26320
diff changeset
191 const gchar *session_id, const gchar *participant);
26520
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
192
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
193 /**
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
194 * Sets which media caps the UI supports.
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
195 *
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
196 * @param manager The manager to set the caps on.
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
197 * @param caps The caps to set.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
198 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
199 * @since 2.6.0
26520
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
200 */
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
201 void purple_media_manager_set_ui_caps(PurpleMediaManager *manager,
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
202 PurpleMediaCaps caps);
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
203
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
204 /**
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
205 * Gets which media caps the UI supports.
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
206 *
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
207 * @param manager The manager to get caps from.
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
208 *
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
209 * @return caps The caps retrieved.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
210 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26614
diff changeset
211 * @since 2.6.0
26520
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
212 */
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
213 PurpleMediaCaps purple_media_manager_get_ui_caps(PurpleMediaManager *manager);
8cbe60f17f3b Add purple_media_manager_{get,set}_ui_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26491
diff changeset
214
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
215 /*}@*/
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
216
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
217 #ifdef __cplusplus
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
218 }
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
219 #endif
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
220
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
221 G_END_DECLS
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
222
26649
1a6c4fd19355 Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <darkrain42@pidgin.im>
parents: 26648
diff changeset
223 #endif /* _PURPLE_MEDIA_MANAGER_H_ */

mercurial