Imported Upstream version 0.1.17
[platform/upstream/libnice.git] / agent / outputstream.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_OUTPUT_STREAM_H__
37 #define __NICE_OUTPUT_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_OUTPUT_STREAM \
47   (nice_output_stream_get_type ())
48 #define NICE_OUTPUT_STREAM(obj) \
49   (G_TYPE_CHECK_INSTANCE_CAST((obj), NICE_TYPE_OUTPUT_STREAM, \
50                               NiceOutputStream))
51 #define NICE_OUTPUT_STREAM_CLASS(klass) \
52   (G_TYPE_CHECK_CLASS_CAST((klass), NICE_TYPE_OUTPUT_STREAM, \
53                            NiceOutputStreamClass))
54 #define NICE_IS_OUTPUT_STREAM(obj) \
55   (G_TYPE_CHECK_INSTANCE_TYPE((obj), NICE_TYPE_OUTPUT_STREAM))
56 #define NICE_IS_OUTPUT_STREAM_CLASS(klass) \
57   (G_TYPE_CHECK_CLASS_TYPE((klass), NICE_TYPE_OUTPUT_STREAM))
58 #define NICE_OUTPUT_STREAM_GET_CLASS(obj) \
59   (G_TYPE_INSTANCE_GET_CLASS ((obj), NICE_TYPE_OUTPUT_STREAM, \
60                               NiceOutputStreamClass))
61
62
63 typedef struct _NiceOutputStreamPrivate    NiceOutputStreamPrivate;
64 typedef struct _NiceOutputStreamClass  NiceOutputStreamClass;
65 typedef struct _NiceOutputStream NiceOutputStream;
66
67
68 GType nice_output_stream_get_type (void);
69
70 struct _NiceOutputStreamClass
71 {
72   GOutputStreamClass parent_class;
73 };
74
75 struct _NiceOutputStream
76 {
77   GOutputStream parent_instance;
78   NiceOutputStreamPrivate *priv;
79 };
80
81
82 NiceOutputStream *nice_output_stream_new (NiceAgent *agent,
83     guint stream_id, guint component_id);
84
85 G_END_DECLS
86
87 #endif /* __NICE_OUTPUT_STREAM_H__ */