21 #ifndef QGST_STRUCTURE_H
22 #define QGST_STRUCTURE_H
25 #include "../QGlib/type.h"
26 #include "../QGlib/value.h"
27 #include <QtCore/QString>
54 explicit Structure(
const GstStructure *structure);
63 void setName(
const char *name);
67 inline void setValue(
const char *fieldName,
const T & value);
68 void setValue(
const char *fieldName,
const QGlib::Value & value);
70 unsigned int numberOfFields()
const;
71 QString fieldName(
unsigned int fieldNumber)
const;
73 bool hasField(
const char *fieldName)
const;
74 bool hasFieldTyped(
const char *fieldName,
QGlib::Type type)
const;
76 void removeField(
const char *fieldName);
77 void removeAllFields();
79 QString toString()
const;
80 static Structure fromString(
const char *str);
81 static inline Structure fromString(
const QString & str);
83 operator GstStructure*();
84 operator const GstStructure*()
const;
94 QSharedDataPointer<Data> d;
98 inline void Structure::setValue(
const char *fieldName,
const T & value)
104 inline Structure Structure::fromString(
const QString & str)
106 return fromString(str.toUtf8().constData());
146 QTGSTREAMER_NO_EXPORT
148 QTGSTREAMER_NO_EXPORT
149 static StructurePtr fromMiniObject(GstStructure *structure,
const MiniObjectPtr & parent);
150 QTGSTREAMER_NO_EXPORT
151 static StructurePtr fromCaps(GstStructure *structure,
const CapsPtr & parent);
153 Q_DISABLE_COPY(SharedStructure);
157 QTGSTREAMER_EXPORT QDebug operator<<(QDebug debug,
const Structure & structure);
Smart pointer class for working with wrapper classes that support reference counting.
static Value create(const T &data)
Wrapper class for GValue.
Wrapper for GstStructure.
Wrapper class for GstEvent.
Wrappers for GStreamer classes.
Wrapper class for GstMessage.
Helper for shared GstStructure instances.
Wrapper class for GstCaps.
Wrapper class for GstQuery.