2
* gabble-call-stream.h - Header for TpyBaseMediaCallStream
3
* Copyright (C) 2009 Collabora Ltd.
4
* @author Sjoerd Simons <sjoerd.simons@collabora.co.uk>
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
11
* This library is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with this library; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
#ifndef __TPY_BASE_MEDIA_CALL_STREAM_H__
22
#define __TPY_BASE_MEDIA_CALL_STREAM_H__
24
#include <glib-object.h>
26
#include <telepathy-yell/base-call-stream.h>
27
#include <telepathy-yell/call-stream-endpoint.h>
31
typedef struct _TpyBaseMediaCallStream TpyBaseMediaCallStream;
32
typedef struct _TpyBaseMediaCallStreamPrivate TpyBaseMediaCallStreamPrivate;
33
typedef struct _TpyBaseMediaCallStreamClass TpyBaseMediaCallStreamClass;
34
typedef void (*TpyBaseMediaStreamFunc) (TpyBaseMediaCallStream *self);
35
typedef GPtrArray *(*TpyMediaStreamAddCandidatesFunc) (
36
TpyBaseMediaCallStream *self,
37
const GPtrArray *candidates,
40
struct _TpyBaseMediaCallStreamClass {
41
TpyBaseCallStreamClass parent_class;
43
TpyMediaStreamAddCandidatesFunc add_local_candidates;
44
TpyBaseMediaStreamFunc local_candidates_prepared;
47
struct _TpyBaseMediaCallStream {
48
TpyBaseCallStream parent;
50
TpyBaseMediaCallStreamPrivate *priv;
53
GType tpy_base_media_call_stream_get_type (void);
55
void tpy_base_media_call_stream_set_relay_info (
56
TpyBaseMediaCallStream *self,
57
const GPtrArray *relays);
58
void tpy_base_media_call_stream_set_stun_servers (
59
TpyBaseMediaCallStream *self,
60
const GPtrArray *stun_servers);
61
void tpy_base_media_call_stream_take_endpoint (
62
TpyBaseMediaCallStream *self,
63
TpyCallStreamEndpoint *endpoint);
64
GList *tpy_base_media_call_stream_get_endpoints (
65
TpyBaseMediaCallStream *self);
66
void tpy_base_media_call_stream_set_transport (
67
TpyBaseMediaCallStream *self,
68
TpyStreamTransportType transport);
69
const gchar *tpy_base_media_call_stream_get_username (
70
TpyBaseMediaCallStream *self);
71
const gchar *tpy_base_media_call_stream_get_password (
72
TpyBaseMediaCallStream *self);
76
#define TPY_TYPE_BASE_MEDIA_CALL_STREAM \
77
(tpy_base_media_call_stream_get_type ())
78
#define TPY_BASE_MEDIA_CALL_STREAM(obj) \
79
(G_TYPE_CHECK_INSTANCE_CAST((obj), TPY_TYPE_BASE_MEDIA_CALL_STREAM, TpyBaseMediaCallStream))
80
#define TPY_BASE_MEDIA_CALL_STREAM_CLASS(klass) \
81
(G_TYPE_CHECK_CLASS_CAST((klass), TPY_TYPE_BASE_MEDIA_CALL_STREAM, \
82
TpyBaseMediaCallStreamClass))
83
#define TPY_IS_BASE_MEDIA_CALL_STREAM(obj) \
84
(G_TYPE_CHECK_INSTANCE_TYPE((obj), TPY_TYPE_BASE_MEDIA_CALL_STREAM))
85
#define TPY_IS_BASE_MEDIA_CALL_STREAM_CLASS(klass) \
86
(G_TYPE_CHECK_CLASS_TYPE((klass), TPY_TYPE_BASE_MEDIA_CALL_STREAM))
87
#define TPY_BASE_MEDIA_CALL_STREAM_GET_CLASS(obj) \
88
(G_TYPE_INSTANCE_GET_CLASS ((obj), TPY_TYPE_BASE_MEDIA_CALL_STREAM, \
89
TpyBaseMediaCallStreamClass))
95
#endif /* #ifndef __TPY_BASE_MEDIA_CALL_STREAM_H__*/