annotate libpurple/mediamanager.h @ 29784:bae447e1fa96

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