Fri, 23 Oct 2009 01:06:48 +0000
This is an interface and not a class.
|
29555
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
1 | /** |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
2 | * @file backend-iface.c Interface for media backend |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
3 | * @ingroup core |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
4 | */ |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
5 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
6 | /* purple |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
7 | * |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
8 | * Purple is the legal property of its developers, whose names are too numerous |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
9 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
10 | * source distribution. |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
11 | * |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
12 | * This program is free software; you can redistribute it and/or modify |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
13 | * it under the terms of the GNU General Public License as published by |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
14 | * the Free Software Foundation; either version 2 of the License, or |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
15 | * (at your option) any later version. |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
16 | * |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
17 | * This program is distributed in the hope that it will be useful, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
20 | * GNU General Public License for more details. |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
21 | * |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
22 | * You should have received a copy of the GNU General Public License |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
23 | * along with this program; if not, write to the Free Software |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
24 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
25 | */ |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
26 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
27 | #include "backend-iface.h" |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
28 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
29 | #include "marshallers.h" |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
30 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
31 | enum { |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
32 | S_ERROR, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
33 | CANDIDATES_PREPARED, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
34 | CODECS_CHANGED, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
35 | NEW_CANDIDATE, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
36 | ACTIVE_CANDIDATE_PAIR, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
37 | LAST_SIGNAL |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
38 | }; |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
39 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
40 | static guint purple_media_backend_signals[LAST_SIGNAL] = {0}; |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
41 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
42 | static void |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
43 | purple_media_backend_base_init(gpointer iface) |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
44 | { |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
45 | static gboolean is_initialized = FALSE; |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
46 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
47 | if (is_initialized) |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
48 | return; |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
49 | |
|
29562
7f2e253c266e
This is an interface and not a class.
Michael Ruprecht <maiku@pidgin.im>
parents:
29560
diff
changeset
|
50 | g_object_interface_install_property(iface, |
|
29560
0af31a3eb297
Fix parameter to actually be a string instead of an object.
Michael Ruprecht <maiku@pidgin.im>
parents:
29558
diff
changeset
|
51 | g_param_spec_string("conference-type", |
|
29558
a151d2be726c
Add the conference-type property to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents:
29555
diff
changeset
|
52 | "Conference Type", |
|
a151d2be726c
Add the conference-type property to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents:
29555
diff
changeset
|
53 | "The type of conference that this backend " |
|
a151d2be726c
Add the conference-type property to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents:
29555
diff
changeset
|
54 | "has been created to provide.", |
|
29560
0af31a3eb297
Fix parameter to actually be a string instead of an object.
Michael Ruprecht <maiku@pidgin.im>
parents:
29558
diff
changeset
|
55 | NULL, |
|
29558
a151d2be726c
Add the conference-type property to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents:
29555
diff
changeset
|
56 | G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); |
|
29562
7f2e253c266e
This is an interface and not a class.
Michael Ruprecht <maiku@pidgin.im>
parents:
29560
diff
changeset
|
57 | g_object_interface_install_property(iface, |
|
29555
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
58 | g_param_spec_object("media", |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
59 | "Purple Media", |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
60 | "The media object that this backend is bound to.", |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
61 | PURPLE_TYPE_MEDIA, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
62 | G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
63 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
64 | purple_media_backend_signals[S_ERROR] = |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
65 | g_signal_new("error", G_TYPE_FROM_CLASS(iface), |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
66 | G_SIGNAL_RUN_LAST, 0, NULL, NULL, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
67 | g_cclosure_marshal_VOID__STRING, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
68 | G_TYPE_NONE, 1, G_TYPE_STRING); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
69 | purple_media_backend_signals[CANDIDATES_PREPARED] = |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
70 | g_signal_new("candidates-prepared", |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
71 | G_TYPE_FROM_CLASS(iface), |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
72 | G_SIGNAL_RUN_LAST, 0, NULL, NULL, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
73 | purple_smarshal_VOID__STRING_STRING, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
74 | G_TYPE_NONE, 2, G_TYPE_STRING, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
75 | G_TYPE_STRING); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
76 | purple_media_backend_signals[CODECS_CHANGED] = |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
77 | g_signal_new("codecs-changed", |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
78 | G_TYPE_FROM_CLASS(iface), |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
79 | G_SIGNAL_RUN_LAST, 0, NULL, NULL, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
80 | g_cclosure_marshal_VOID__STRING, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
81 | G_TYPE_NONE, 1, G_TYPE_STRING); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
82 | purple_media_backend_signals[NEW_CANDIDATE] = |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
83 | g_signal_new("new-candidate", |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
84 | G_TYPE_FROM_CLASS(iface), |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
85 | G_SIGNAL_RUN_LAST, 0, NULL, NULL, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
86 | purple_smarshal_VOID__POINTER_POINTER_OBJECT, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
87 | G_TYPE_NONE, 3, G_TYPE_POINTER, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
88 | G_TYPE_POINTER, PURPLE_TYPE_MEDIA_CANDIDATE); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
89 | purple_media_backend_signals[ACTIVE_CANDIDATE_PAIR] = |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
90 | g_signal_new("active-candidate-pair", |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
91 | G_TYPE_FROM_CLASS(iface), |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
92 | G_SIGNAL_RUN_LAST, 0, NULL, NULL, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
93 | purple_smarshal_VOID__STRING_STRING_OBJECT_OBJECT, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
94 | G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_STRING, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
95 | PURPLE_TYPE_MEDIA_CANDIDATE, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
96 | PURPLE_TYPE_MEDIA_CANDIDATE); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
97 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
98 | is_initialized = TRUE; |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
99 | } |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
100 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
101 | GType |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
102 | purple_media_backend_get_type(void) |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
103 | { |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
104 | static GType iface_type = 0; |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
105 | if (iface_type == 0) { |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
106 | static const GTypeInfo info = { |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
107 | sizeof(PurpleMediaBackendIface), |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
108 | purple_media_backend_base_init, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
109 | NULL, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
110 | NULL, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
111 | NULL, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
112 | NULL, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
113 | 0, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
114 | 0, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
115 | NULL, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
116 | NULL |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
117 | }; |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
118 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
119 | iface_type = g_type_register_static (G_TYPE_INTERFACE, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
120 | "PurpleMediaBackend", &info, 0); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
121 | } |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
122 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
123 | return iface_type; |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
124 | } |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
125 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
126 | gboolean |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
127 | purple_media_backend_add_stream(PurpleMediaBackend *self, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
128 | const gchar *sess_id, const gchar *who, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
129 | PurpleMediaSessionType type, gboolean initiator, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
130 | const gchar *transmitter, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
131 | guint num_params, GParameter *params) |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
132 | { |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
133 | g_return_val_if_fail(PURPLE_IS_MEDIA_BACKEND(self), FALSE); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
134 | return PURPLE_MEDIA_BACKEND_GET_INTERFACE(self)->add_stream(self, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
135 | sess_id, who, type, initiator, transmitter, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
136 | num_params, params); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
137 | } |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
138 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
139 | void |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
140 | purple_media_backend_add_remote_candidates(PurpleMediaBackend *self, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
141 | const gchar *sess_id, const gchar *participant, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
142 | GList *remote_candidates) |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
143 | { |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
144 | g_return_if_fail(PURPLE_IS_MEDIA_BACKEND(self)); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
145 | PURPLE_MEDIA_BACKEND_GET_INTERFACE(self)->add_remote_candidates(self, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
146 | sess_id, participant, remote_candidates); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
147 | } |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
148 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
149 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
150 | GList * |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
151 | purple_media_backend_get_codecs(PurpleMediaBackend *self, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
152 | const gchar *sess_id) |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
153 | { |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
154 | g_return_val_if_fail(PURPLE_IS_MEDIA_BACKEND(self), NULL); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
155 | return PURPLE_MEDIA_BACKEND_GET_INTERFACE(self)->get_codecs(self, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
156 | sess_id); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
157 | } |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
158 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
159 | GList * |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
160 | purple_media_backend_get_local_candidates(PurpleMediaBackend *self, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
161 | const gchar *sess_id, const gchar *participant) |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
162 | { |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
163 | g_return_val_if_fail(PURPLE_IS_MEDIA_BACKEND(self), NULL); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
164 | return PURPLE_MEDIA_BACKEND_GET_INTERFACE(self)-> |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
165 | get_local_candidates(self, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
166 | sess_id, participant); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
167 | } |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
168 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
169 | void |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
170 | purple_media_backend_set_remote_codecs(PurpleMediaBackend *self, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
171 | const gchar *sess_id, const gchar *participant, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
172 | GList *codecs) |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
173 | { |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
174 | g_return_if_fail(PURPLE_IS_MEDIA_BACKEND(self)); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
175 | PURPLE_MEDIA_BACKEND_GET_INTERFACE(self)->set_remote_codecs(self, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
176 | sess_id, participant, codecs); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
177 | } |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
178 | |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
179 | void |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
180 | purple_media_backend_set_send_codec(PurpleMediaBackend *self, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
181 | const gchar *sess_id, PurpleMediaCodec *codec) |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
182 | { |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
183 | g_return_if_fail(PURPLE_IS_MEDIA_BACKEND(self)); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
184 | PURPLE_MEDIA_BACKEND_GET_INTERFACE(self)->set_send_codec(self, |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
185 | sess_id, codec); |
|
15bb28ca4cf6
Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
186 | } |