Initial commit.
[qtgstreamer:qtgstreamer.git] / src / qgstbin.h
1 /*
2     Copyright (C) 2009  George Kiagiadakis <kiagiadakis.george@gmail.com>
3
4     This library is free software; you can redistribute it and/or modify
5     it under the terms of the GNU Lesser General Public License as published
6     by the Free Software Foundation; either version 2.1 of the License, or
7     (at your option) any later version.
8
9     This program is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
13
14     You should have received a copy of the GNU Lesser General Public License
15     along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 */
17 #ifndef _QTGSTREAMER_QGSTBIN_H
18 #define _QTGSTREAMER_QGSTBIN_H
19
20 #include "qgstelement.h"
21 typedef struct _GstBin GstBin;
22
23 namespace QtGstreamer {
24
25 class QGstBin : public QGstElement
26 {
27     Q_OBJECT
28     Q_DISABLE_COPY(QGstBin)
29 public:
30     explicit QGstBin(const char *name = 0, QObject *parent = 0);
31     explicit QGstBin(GstBin *gstBin, QObject *parent = 0);
32     virtual ~QGstBin();
33
34     bool add(QGstElement *element);
35     QGstBin & operator<<(QGstElement *element);
36
37     bool remove(QGstElement *element);
38 };
39
40 }
41
42 #endif