Imported Upstream version 0.1.17
[platform/upstream/libnice.git] / agent / inputstream.h
1 /*
2  * This file is part of the Nice GLib ICE library.
3  *
4  * (C) 2010, 2013 Collabora Ltd.
5  *  Contact: Youness Alaoui
6  *
7  * The contents of this file are subject to the Mozilla Public License Version
8  * 1.1 (the "License"); you may not use this file except in compliance with
9  * the License. You may obtain a copy of the License at
10  * http://www.mozilla.org/MPL/
11  *
12  * Software distributed under the License is distributed on an "AS IS" basis,
13  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14  * for the specific language governing rights and limitations under the
15  * License.
16  *
17  * The Original Code is the Nice GLib ICE library.
18  *
19  * The Initial Developers of the Original Code are Collabora Ltd and Nokia
20  * Corporation. All Rights Reserved.
21  *
22  * Contributors:
23  *   Youness Alaoui, Collabora Ltd.
24  *
25  * Alternatively, the contents of this file may be used under the terms of the
26  * the GNU Lesser General Public License Version 2.1 (the "LGPL"), in which
27  * case the provisions of LGPL are applicable instead of those above. If you
28  * wish to allow use of your version of this file only under the terms of the
29  * LGPL and not to allow others to use your version of this file under the
30  * MPL, indicate your decision by deleting the provisions above and replace
31  * them with the notice and other provisions required by the LGPL. If you do
32  * not delete the provisions above, a recipient may use your version of this
33  * file under either the MPL or the LGPL.
34  */
35
36 #ifndef __NICE_INPUT_STREAM_H__
37 #define __NICE_INPUT_STREAM_H__
38
39 #include <glib-object.h>
40 #include <gio/gio.h>
41 #include "agent.h"
42
43 G_BEGIN_DECLS
44
45 /* TYPE MACROS */
46 #define NICE_TYPE_INPUT_STREAM \
47   (nice_input_stream_get_type ())
48 #define NICE_INPUT_STREAM(obj) \
49   (G_TYPE_CHECK_INSTANCE_CAST((obj), NICE_TYPE_INPUT_STREAM, \
50                               NiceInputStream))
51 #define NICE_INPUT_STREAM_CLASS(klass) \
52   (G_TYPE_CHECK_CLASS_CAST((klass), NICE_TYPE_INPUT_STREAM, \
53                            NiceInputStreamClass))
54 #define NICE_IS_INPUT_STREAM(obj) \
55   (G_TYPE_CHECK_INSTANCE_TYPE((obj), NICE_TYPE_INPUT_STREAM))
56 #define NICE_IS_INPUT_STREAM_CLASS(klass) \
57   (G_TYPE_CHECK_CLASS_TYPE((klass), NICE_TYPE_INPUT_STREAM))
58 #define NICE_INPUT_STREAM_GET_CLASS(obj) \
59   (G_TYPE_INSTANCE_GET_CLASS ((obj), NICE_TYPE_INPUT_STREAM, \
60                               NiceInputStreamClass))
61
62
63 typedef struct _NiceInputStreamPrivate    NiceInputStreamPrivate;
64 typedef struct _NiceInputStreamClass  NiceInputStreamClass;
65 typedef struct _NiceInputStream NiceInputStream;
66
67 GType nice_input_stream_get_type (void);
68
69 struct _NiceInputStreamClass
70 {
71   GInputStreamClass parent_class;
72 };
73
74 struct _NiceInputStream
75 {
76   GInputStream parent_instance;
77   NiceInputStreamPrivate *priv;
78 };
79
80
81 NiceInputStream *nice_input_stream_new (NiceAgent *agent,
82     guint stream_id, guint component_id);
83
84
85 G_END_DECLS
86
87 #endif /* __NICE_INPUT_STREAM_H__ */