2
* base-call-channel.h - Header for TpyBaseCallChannel
3
* Copyright © 2009–2010 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_CALL_CHANNEL_H__
22
#define __TPY_BASE_CALL_CHANNEL_H__
24
#include <glib-object.h>
26
#include <telepathy-yell/enums.h>
27
#include <telepathy-yell/base-call-content.h>
29
#include <telepathy-glib/telepathy-glib.h>
33
typedef struct _TpyBaseCallChannel TpyBaseCallChannel;
34
typedef struct _TpyBaseCallChannelPrivate TpyBaseCallChannelPrivate;
35
typedef struct _TpyBaseCallChannelClass TpyBaseCallChannelClass;
37
struct _TpyBaseCallChannelClass {
38
TpBaseChannelClass parent_class;
40
void (*accept) (TpyBaseCallChannel *self);
41
TpyBaseCallContent * (*add_content) (TpyBaseCallChannel *self,
43
TpMediaStreamType media,
46
void (*hangup) (TpyBaseCallChannel *self,
48
const gchar *detailed_reason,
49
const gchar *message);
52
struct _TpyBaseCallChannel {
55
gboolean initial_audio;
56
gboolean initial_video;
58
TpyBaseCallChannelPrivate *priv;
61
GType tpy_base_call_channel_get_type (void);
64
#define TPY_TYPE_BASE_CALL_CHANNEL \
65
(tpy_base_call_channel_get_type ())
66
#define TPY_BASE_CALL_CHANNEL(obj) \
67
(G_TYPE_CHECK_INSTANCE_CAST ((obj), \
68
TPY_TYPE_BASE_CALL_CHANNEL, TpyBaseCallChannel))
69
#define TPY_BASE_CALL_CHANNEL_CLASS(klass) \
70
(G_TYPE_CHECK_CLASS_CAST((klass), \
71
TPY_TYPE_BASE_CALL_CHANNEL, TpyBaseCallChannelClass))
72
#define TPY_IS_BASE_CALL_CHANNEL(obj) \
73
(G_TYPE_CHECK_INSTANCE_TYPE((obj), TPY_TYPE_BASE_CALL_CHANNEL))
74
#define TPY_IS_BASE_CALL_CHANNEL_CLASS(klass) \
75
(G_TYPE_CHECK_CLASS_TYPE((klass), TPY_TYPE_BASE_CALL_CHANNEL))
76
#define TPY_BASE_CALL_CHANNEL_GET_CLASS(obj) \
77
(G_TYPE_INSTANCE_GET_CLASS ((obj), \
78
TPY_TYPE_BASE_CALL_CHANNEL, TpyBaseCallChannelClass))
80
TpyCallState tpy_base_call_channel_get_state (
81
TpyBaseCallChannel *self);
83
void tpy_base_call_channel_set_state (TpyBaseCallChannel *self,
86
GList * tpy_base_call_channel_get_contents (TpyBaseCallChannel *self);
88
void tpy_base_call_channel_add_content (
89
TpyBaseCallChannel *self,
90
TpyBaseCallContent *content);
92
void tpy_base_call_channel_remove_content (TpyBaseCallChannel *self,
93
TpyBaseCallContent *content);
95
void tpy_base_call_channel_update_member_flags (TpyBaseCallChannel *self,
97
TpyCallMemberFlags flags);
99
void tpy_base_call_channel_add_member (TpyBaseCallChannel *self,
101
TpyCallMemberFlags initial_flags);
103
void tpy_base_call_channel_remove_member (TpyBaseCallChannel *self,
108
#endif /* #ifndef __TPY_BASE_CALL_CHANNEL_H__*/