summaryrefslogtreecommitdiff
path: root/codegen
AgeCommit message (Collapse)AuthorFilesLines
2011-01-20Add hack to support glib < 2.26, as it is foolish to depend on 2.26 just for ↵George Kiagiadakis1-0/+1
this.
2011-01-20Find the path to unistd.h and use it if codegen is being compiled with msvc.George Kiagiadakis1-0/+7
Unfortunately the gnuwin32 version of flex generates an analyzer that foolishly includes <unistd.h>, so we have to provide it to keep the compilation working. If you are compiling with msvc, provide this file somewhere and set -DCMAKE_INCLUDE_PATH=path/to/unistd/include/dir.
2011-01-08Cleanup internal macros and hide as much as we can from both the headers and ↵George Kiagiadakis1-2/+8
the documentation.
2011-01-08Declare the exported and non-exported symbols of the libraries.George Kiagiadakis1-1/+2
2011-01-07Fix branding: it's GStreamer, not Gstreamer.George Kiagiadakis1-1/+1
Warning: This affects the library name and the cmake package name too.
2011-01-06codegen: Improve the generated wrapper constructor functions.George Kiagiadakis1-4/+14
* Make them assign the given instance to RefCountedObject::m_object. * Set the registration function in the Private namespace.
2011-01-05codegen: treat namespace and class declarations as normal tokens.George Kiagiadakis2-5/+20
This fixes a bug in the case that the lexer looks ahead of a token and hits a new class or namespace declaration, and then the parser executes the handler for this token, believing that the current class or namespace is the next one.
2011-01-03Modify codegen to generate wrapper constructor functions.George Kiagiadakis4-26/+167
These functions offer some kind of reflection in our bindings. They are attached on the GType qdata and so they can be used to construct the correct subclass given the GType of an instance.
2010-12-13Catch C++ keywords only if they have space before.George Kiagiadakis1-3/+3
This is to make value.h, which is using boost::is_enum<T>, to work with codegen.
2010-07-24Add a new QtGstreamerUi library that contains a VideoWidget class, a widget ↵George Kiagiadakis1-1/+1
that can embed video sinks.
2010-07-17Add wrapper for GstXOverlay and fix codegen to be able to use more gstreamer ↵George Kiagiadakis1-4/+6
includes, other than <gst/gst.h> (required for including gst/interfaces/*)
2010-06-19Refactor the Type and Value systems, cleanup code, add useful macros, ↵George Kiagiadakis1-0/+9
documentation, etc.. * Add struct GetTypeImpl and its specializations in type.h. * Make GetType() an inline function that uses GetTypeImpl internally. * Add basic documentation for Type, GetType and their associated macros. * Add QGLIB_STATIC_ASSERT() macro to allow specifying a nice assertion message when using C++0x. * Add macros for defining ValueImpl specializations. * Remove the ValueBase::getFoo / ValueBase::setFoo methods. * Place all basic ValueImpl specializations in value.h, remove the valueimpl headers. * Remove VALUE_ASSERT and use a type check inside ValueBase::get/set. * Remove ValueImpl specialization for pointers. Allow only void* (Type::Pointer) and const char* (Type::String). * Register Type, ValueBase, Value, SharedValue, StructureBase and SharedStructure with the type system. * Attempt to fix the mess with the included headers. Try to include all used headers instead of relying on indirect inclusion from global.h. * Remove the peekGValue() methods from ValueBase and replace them with operator GValue*(). * Minor fixes here and there... (Long commit, sorry...)
2010-04-13Support mixed type registrations and enum definitions in codegen, needed for ↵George Kiagiadakis1-5/+2
enums.h.
2010-03-31Improve enum assertions generation.George Kiagiadakis1-2/+8
Make it possible to use enums that are not part of some class and make use of the class name in the gst-style output if the enum belongs to a class.
2010-03-14Initial commit of the QtGstreamer helper code generator.George Kiagiadakis6-0/+551
This is a code generator that will parse QtGstreamer's header files and will produce some extra code: * For each QGLIB_REGISTER_TYPE() macro, it will provide its QGLIB_REGISTER_TYPE_IMPLEMENTATION() counterpart. * For each defined enum, it will generate BOOST_STATIC_ASSERTs that will ensure that the values of the enums are exactly the same as in Gstreamer. This will help catch enum errors at compile time, since all Gstreamer's enums need to be redefined in the bindings to avoid exporting the Gstreamer API/ABI.