1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
#ifndef __TPMEDIA_CHANNEL_H__
#define __TPMEDIA_CHANNEL_H__
#include <glib-object.h>
#include <telepathy-glib/channel.h>
#include "stream.h"
G_BEGIN_DECLS
#define TPMEDIA_TYPE_CHANNEL tpmedia_channel_get_type()
#define TPMEDIA_CHANNEL(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), \
TPMEDIA_TYPE_CHANNEL, TpmediaChannel))
#define TPMEDIA_CHANNEL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), \
TPMEDIA_TYPE_CHANNEL, TpmediaChannelClass))
#define TP_STREAM_ENGINE_IS_CHANNEL(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), TPMEDIA_TYPE_CHANNEL))
#define TP_STREAM_ENGINE_IS_CHANNEL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), TPMEDIA_TYPE_CHANNEL))
#define TPMEDIA_CHANNEL_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), \
TPMEDIA_TYPE_CHANNEL, TpmediaChannelClass))
typedef struct _TpmediaChannelPrivate TpmediaChannelPrivate;
/**
* TpmediaChannel:
*
* All members of the object are private
*/
typedef struct {
GObject parent;
/*< private >*/
TpmediaChannelPrivate *priv;
} TpmediaChannel;
/**
* TpmediaChannelClass:
* @parent_class: the parent #GObjecClass
*
* There are no overridable functions
*/
typedef struct {
GObjectClass parent_class;
/*< private >*/
gpointer unused[4];
} TpmediaChannelClass;
GType tpmedia_channel_get_type (void);
TpmediaChannel *tpmedia_channel_new (
TpDBusDaemon *dbus_daemon,
const gchar *bus_name,
const gchar *connection_path,
const gchar *channel_path,
guint handle_type,
guint handle,
GError **error);
TpmediaChannel *tpmedia_channel_new_from_proxy (TpChannel *channel_proxy);
void tpmedia_channel_error (TpmediaChannel *chan,
guint error,
const gchar *message);
TpmediaStream *tpmedia_channel_lookup_stream (TpmediaChannel *chan,
guint stream_id);
/**
* TpmediaChannelStreamFunc:
* @chan: The #TpMediaChannel
* @stream_id: the id of the stream
* @stream: the #TpmediaStream
* @user_data: the passed user data
*
* Callback function called on every stream by tpmedia_channel_foreach_stream()
*/
typedef void (* TpmediaChannelStreamFunc) (TpmediaChannel *chan,
guint stream_id,
TpmediaStream *stream,
gpointer user_data);
void tpmedia_channel_foreach_stream (TpmediaChannel *chan,
TpmediaChannelStreamFunc func,
gpointer user_data);
gboolean tpmedia_channel_bus_message (TpmediaChannel *channel,
GstMessage *message);
G_END_DECLS
#endif /* __TPMEDIA_CHANNEL_H__ */
|