diff options
author | George Kiagiadakis <george.kiagiadakis@collabora.co.uk> | 2011-01-02 14:14:22 +0200 |
---|---|---|
committer | George Kiagiadakis <george.kiagiadakis@collabora.co.uk> | 2011-01-02 14:14:22 +0200 |
commit | 1e16778c2abe392428ab7d3c7a33dcc88d7eb0a9 (patch) | |
tree | e63010b531a6717f989f92a9c51c48d8ad607251 | |
parent | bc60329a64092cc3ec4bcd6cb2f04eae7347a856 (diff) |
Adjust the wrapper declaration macros to support the new wrapper construction method.
-rw-r--r-- | src/QGlib/global.h | 20 | ||||
-rw-r--r-- | src/QGst/event.h | 22 | ||||
-rw-r--r-- | src/QGst/global.h | 17 | ||||
-rw-r--r-- | src/QGst/message.h | 34 | ||||
-rw-r--r-- | src/QGst/query.h | 18 |
5 files changed, 57 insertions, 54 deletions
diff --git a/src/QGlib/global.h b/src/QGlib/global.h index 18c8183..4ddb8b2 100644 --- a/src/QGlib/global.h +++ b/src/QGlib/global.h @@ -44,15 +44,21 @@ typedef RefPointer<Object> ObjectPtr; } //namespace QGlib -#define QGLIB_WRAPPER(Class) \ + +#define QGLIB_WRAPPER_DECLARATION_MACRO(CppClass, CClass, CNamespace, FakeSuperClass) \ public: \ - typedef G##Class CType; \ + typedef CNamespace##CClass CType; \ protected: \ - Class() {} \ - Class(const Class &); \ - Class & operator=(const Class &); \ - ~Class() {} \ - template <class T> friend class QGlib::RefPointer; + CppClass() {} \ + CppClass(const CppClass &); \ + CppClass & operator=(const CppClass &); \ + ~CppClass() {} \ + template <class T> friend class QGlib::RefPointer; \ + friend QGlib::RefCountedObject* FakeSuperClass##_new(void*); \ + private: + +#define QGLIB_WRAPPER(Class) \ + QGLIB_WRAPPER_DECLARATION_MACRO(Class, Class, G, Class) #if !defined(BOOST_NO_STATIC_ASSERT) //we have c++0x static_assert diff --git a/src/QGst/event.h b/src/QGst/event.h index 410c344..34c84e0 100644 --- a/src/QGst/event.h +++ b/src/QGst/event.h @@ -74,7 +74,7 @@ public: */ class FlushStartEvent : public Event { - QGST_WRAPPER_DIFFERENT_C_CLASS(FlushStartEvent, Event) + QGST_WRAPPER_FAKE_SUBCLASS(FlushStart, Event) public: static FlushStartEventPtr create(); }; @@ -84,7 +84,7 @@ public: */ class FlushStopEvent : public Event { - QGST_WRAPPER_DIFFERENT_C_CLASS(FlushStopEvent, Event) + QGST_WRAPPER_FAKE_SUBCLASS(FlushStop, Event) public: static FlushStopEventPtr create(); }; @@ -94,7 +94,7 @@ public: */ class EosEvent : public Event { - QGST_WRAPPER_DIFFERENT_C_CLASS(EosEvent, Event) + QGST_WRAPPER_FAKE_SUBCLASS(Eos, Event) public: static EosEventPtr create(); }; @@ -104,7 +104,7 @@ public: */ class NewSegmentEvent : public Event { - QGST_WRAPPER_DIFFERENT_C_CLASS(NewSegmentEvent, Event) + QGST_WRAPPER_FAKE_SUBCLASS(NewSegment, Event) public: static NewSegmentEventPtr create(bool update, double rate, double appliedRate, Format format, qint64 start, qint64 stop, qint64 position); @@ -125,7 +125,7 @@ public: */ class BufferSizeEvent : public Event { - QGST_WRAPPER_DIFFERENT_C_CLASS(BufferSizeEvent, Event) + QGST_WRAPPER_FAKE_SUBCLASS(BufferSize, Event) public: static BufferSizeEventPtr create(Format format, qint64 minSize, qint64 maxSize, bool isAsync); @@ -140,7 +140,7 @@ public: */ class SinkMessageEvent : public Event { - QGST_WRAPPER_DIFFERENT_C_CLASS(SinkMessageEvent, Event) + QGST_WRAPPER_FAKE_SUBCLASS(SinkMessage, Event) public: static SinkMessageEventPtr create(const MessagePtr & msg); @@ -152,7 +152,7 @@ public: */ class QosEvent : public Event { - QGST_WRAPPER_DIFFERENT_C_CLASS(QosEvent, Event) + QGST_WRAPPER_FAKE_SUBCLASS(Qos, Event) public: static QosEventPtr create(double proportion, ClockTimeDiff diff, ClockTime timestamp); @@ -166,7 +166,7 @@ public: */ class SeekEvent : public Event { - QGST_WRAPPER_DIFFERENT_C_CLASS(SeekEvent, Event) + QGST_WRAPPER_FAKE_SUBCLASS(Seek, Event) public: static SeekEventPtr create(double rate, Format format, SeekFlags flags, SeekType startType, qint64 start, SeekType stopType, qint64 stop); @@ -185,7 +185,7 @@ public: */ class NavigationEvent : public Event { - QGST_WRAPPER_DIFFERENT_C_CLASS(NavigationEvent, Event) + QGST_WRAPPER_FAKE_SUBCLASS(Navigation, Event) public: static NavigationEventPtr create(const Structure & structure = Structure()); }; @@ -195,7 +195,7 @@ public: */ class LatencyEvent : public Event { - QGST_WRAPPER_DIFFERENT_C_CLASS(LatencyEvent, Event) + QGST_WRAPPER_FAKE_SUBCLASS(Latency, Event) public: static LatencyEventPtr create(ClockTime latency); @@ -207,7 +207,7 @@ public: */ class StepEvent : public Event { - QGST_WRAPPER_DIFFERENT_C_CLASS(StepEvent, Event) + QGST_WRAPPER_FAKE_SUBCLASS(Step, Event) public: static StepEventPtr create(Format format, quint64 amount, double rate, bool flush, bool intermediate); diff --git a/src/QGst/global.h b/src/QGst/global.h index bbf36de..b5a8865 100644 --- a/src/QGst/global.h +++ b/src/QGst/global.h @@ -140,18 +140,15 @@ QGST_WRAPPER_DECLARATION(XOverlay) #undef QGST_WRAPPER_GSTCLASS_DECLARATION +#define QGST_WRAPPER(Class) \ + QGLIB_WRAPPER_DECLARATION_MACRO(Class, Class, Gst, Class) + #define QGST_WRAPPER_DIFFERENT_C_CLASS(Class, CClass) \ - public: \ - typedef Gst##CClass CType; \ - protected: \ - Class() {} \ - Class(const Class &); \ - Class & operator=(const Class &); \ - ~Class() {} \ - template <class T> friend class QGlib::RefPointer; + QGLIB_WRAPPER_DECLARATION_MACRO(Class, CClass, Gst, Class) + +#define QGST_WRAPPER_FAKE_SUBCLASS(Sub, Class) \ + QGLIB_WRAPPER_DECLARATION_MACRO(Sub##Class, Class, Gst, Class) -#define QGST_WRAPPER(Class) \ - QGST_WRAPPER_DIFFERENT_C_CLASS(Class, Class) namespace QGst { /*! A datatype to hold a time, measured in nanoseconds */ diff --git a/src/QGst/message.h b/src/QGst/message.h index 23f9048..6308974 100644 --- a/src/QGst/message.h +++ b/src/QGst/message.h @@ -64,7 +64,7 @@ public: */ class EosMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(EosMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(Eos, Message) public: static EosMessagePtr create(const ObjectPtr & source); }; @@ -74,7 +74,7 @@ public: */ class ErrorMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(ErrorMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(Error, Message) public: static ErrorMessagePtr create(const ObjectPtr & source, const QGlib::Error & error, const char *debug); @@ -88,7 +88,7 @@ public: */ class WarningMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(WarningMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(Warning, Message) public: static WarningMessagePtr create(const ObjectPtr & source, const QGlib::Error & error, const char *debug); @@ -102,7 +102,7 @@ public: */ class InfoMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(InfoMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(Info, Message) public: static InfoMessagePtr create(const ObjectPtr & source, const QGlib::Error & error, const char *debug); @@ -118,7 +118,7 @@ public: */ class BufferingMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(BufferingMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(Buffering, Message) public: static BufferingMessagePtr create(const ObjectPtr & source, int percent); @@ -136,7 +136,7 @@ public: */ class StateChangedMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(StateChangedMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(StateChanged, Message) public: static StateChangedMessagePtr create(const ObjectPtr & source, State oldState, State newState, State pending); @@ -153,7 +153,7 @@ public: */ class StepDoneMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(StepDoneMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(StepDone, Message) public: static StepDoneMessagePtr create(const ObjectPtr & source, Format format, quint64 amount, double rate, bool flush, bool intermediate, quint64 duration, bool eos); @@ -175,7 +175,7 @@ public: */ class StreamStatusMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(StreamStatusMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(StreamStatus, Message) public: static StreamStatusMessagePtr create(const ObjectPtr & source, StreamStatusType type, const ElementPtr & owner); @@ -191,7 +191,7 @@ public: */ class ApplicationMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(ApplicationMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(Application, Message) public: static ApplicationMessagePtr create(const ObjectPtr & source, const Structure & structure = Structure()); @@ -202,7 +202,7 @@ public: */ class ElementMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(ElementMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(Element, Message) public: static ElementMessagePtr create(const ObjectPtr & source, const Structure & structure = Structure()); @@ -215,7 +215,7 @@ public: */ class SegmentDoneMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(SegmentDoneMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(SegmentDone, Message) public: static SegmentDoneMessagePtr create(const ObjectPtr & source, Format format, qint64 position); @@ -228,7 +228,7 @@ public: */ class DurationMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(DurationMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(Duration, Message) public: static DurationMessagePtr create(const ObjectPtr & source, Format format, qint64 duration); @@ -241,7 +241,7 @@ public: */ class LatencyMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(LatencyMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(Latency, Message) public: static LatencyMessagePtr create(const ObjectPtr & source); }; @@ -253,7 +253,7 @@ public: */ class AsyncDoneMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(AsyncDoneMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(AsyncDone, Message) public: static AsyncDoneMessagePtr create(const ObjectPtr & source); }; @@ -263,7 +263,7 @@ public: */ class RequestStateMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(RequestStateMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(RequestState, Message) public: static RequestStateMessagePtr create(const ObjectPtr & source, State state); @@ -275,7 +275,7 @@ public: */ class StepStartMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(StepStartMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(StepStart, Message) public: static StepStartMessagePtr create(const ObjectPtr & source, bool active, Format format, quint64 amount, double rate, bool flush, bool intermediate); @@ -292,7 +292,7 @@ public: */ class QosMessage : public Message { - QGST_WRAPPER_DIFFERENT_C_CLASS(QosMessage, Message) + QGST_WRAPPER_FAKE_SUBCLASS(Qos, Message) public: static QosMessagePtr create(const ObjectPtr & source, bool live, quint64 runningTime, quint64 streamTime, quint64 timestamp, quint64 duration); diff --git a/src/QGst/query.h b/src/QGst/query.h index 33fd166..1033825 100644 --- a/src/QGst/query.h +++ b/src/QGst/query.h @@ -66,7 +66,7 @@ public: */ class PositionQuery : public Query { - QGST_WRAPPER_DIFFERENT_C_CLASS(PositionQuery, Query) + QGST_WRAPPER_FAKE_SUBCLASS(Position, Query) public: static PositionQueryPtr create(Format format); @@ -80,7 +80,7 @@ public: */ class DurationQuery : public Query { - QGST_WRAPPER_DIFFERENT_C_CLASS(DurationQuery, Query) + QGST_WRAPPER_FAKE_SUBCLASS(Duration, Query) public: static DurationQueryPtr create(Format format); @@ -94,7 +94,7 @@ public: */ class LatencyQuery : public Query { - QGST_WRAPPER_DIFFERENT_C_CLASS(LatencyQuery, Query) + QGST_WRAPPER_FAKE_SUBCLASS(Latency, Query) public: static LatencyQueryPtr create(); @@ -110,7 +110,7 @@ public: */ class SeekingQuery : public Query { - QGST_WRAPPER_DIFFERENT_C_CLASS(SeekingQuery, Query) + QGST_WRAPPER_FAKE_SUBCLASS(Seeking, Query) public: static SeekingQueryPtr create(Format format); @@ -127,7 +127,7 @@ public: */ class SegmentQuery : public Query { - QGST_WRAPPER_DIFFERENT_C_CLASS(SegmentQuery, Query) + QGST_WRAPPER_FAKE_SUBCLASS(Segment, Query) public: static SegmentQueryPtr create(Format format); @@ -144,7 +144,7 @@ public: */ class ConvertQuery : public Query { - QGST_WRAPPER_DIFFERENT_C_CLASS(ConvertQuery, Query) + QGST_WRAPPER_FAKE_SUBCLASS(Convert, Query) public: static ConvertQueryPtr create(Format sourceFormat, qint64 value, Format destinationFormat); @@ -162,7 +162,7 @@ public: */ class FormatsQuery : public Query { - QGST_WRAPPER_DIFFERENT_C_CLASS(FormatsQuery, Query) + QGST_WRAPPER_FAKE_SUBCLASS(Formats, Query) public: static FormatsQueryPtr create(); @@ -176,7 +176,7 @@ public: */ class BufferingQuery : public Query { - QGST_WRAPPER_DIFFERENT_C_CLASS(BufferingQuery, Query) + QGST_WRAPPER_FAKE_SUBCLASS(Buffering, Query) public: static BufferingQueryPtr create(Format format); @@ -205,7 +205,7 @@ public: */ class UriQuery : public Query { - QGST_WRAPPER_DIFFERENT_C_CLASS(UriQuery, Query) + QGST_WRAPPER_FAKE_SUBCLASS(Uri, Query) public: static UriQueryPtr create(); |