QtGStreamer 0.10.1
|
00001 /* 00002 Copyright (C) 2010 George Kiagiadakis <kiagiadakis.george@gmail.com> 00003 00004 This library is free software; you can redistribute it and/or modify 00005 it under the terms of the GNU Lesser General Public License as published 00006 by the Free Software Foundation; either version 2.1 of the License, or 00007 (at your option) any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU General Public License for more details. 00013 00014 You should have received a copy of the GNU Lesser General Public License 00015 along with this program. If not, see <http://www.gnu.org/licenses/>. 00016 */ 00017 #ifndef QGST_OBJECT_H 00018 #define QGST_OBJECT_H 00019 00020 #include "global.h" 00021 #include "../QGlib/object.h" 00022 00023 namespace QGst { 00024 00028 class QTGSTREAMER_EXPORT Object : public QGlib::Object 00029 { 00030 QGST_WRAPPER(Object) 00031 public: 00032 QString name() const; 00033 bool setName(const char *name); 00034 00035 ObjectPtr parent() const; 00036 bool setParent(const ObjectPtr & parent); 00037 void unparent(); 00038 00039 bool isAncestorOf(const ObjectPtr & object) const; 00040 00041 QString pathString() const; 00042 00043 protected: 00044 virtual void ref(bool increaseRef); 00045 virtual void unref(); 00046 }; 00047 00048 } 00049 00050 QGST_REGISTER_TYPE(QGst::Object) 00051 00052 #endif // QGST_OBJECT_H