Initial implementation of the GObject signal wrapper system.
authorGeorge Kiagiadakis <kiagiadakis.george@gmail.com>
Mon, 28 Jun 2010 12:42:22 +0000 (15:42 +0300)
committerGeorge Kiagiadakis <kiagiadakis.george@gmail.com>
Mon, 28 Jun 2010 12:42:22 +0000 (15:42 +0300)
commit70cfabb153ad4545da96ce0daf95e9043b8ea83b
tree5e40c7c46b831f01c14085787adce0d1334efda1
parent0b86644a3941e726667bdd93560ee6925c8ebe3b
Initial implementation of the GObject signal wrapper system.
* Implement classes Signal and SignalHandler that wrap the basic functionality of
  the g_signal* methods, including signal connection and emission and using both
  variadic and non-variadic template versions for the connect() and emit() methods.
* Refactor the Closure system and add non-variadic versions of the templates for
  compilers that do not support C++0x variadic templates.
* Make the ValueBase::get / ValueBase::set methods throw exceptions instead of
  asserting. This helps showing nicer error messages from the signal system when
  these methods are called from there and allows in some non-fatal cases to
  continue execution.
21 files changed:
src/CMakeLists.txt
src/QGlib/Signal [new file with mode: 0644]
src/QGlib/closure.cpp
src/QGlib/closure.h
src/QGlib/closureimpl_p.h [new file with mode: 0644]
src/QGlib/global.h
src/QGlib/quark.cpp
src/QGlib/quark.h
src/QGlib/signal.cpp [new file with mode: 0644]
src/QGlib/signal.h [new file with mode: 0644]
src/QGlib/signalimpl_p.h [new file with mode: 0644]
src/QGlib/value.h
tests/CMakeLists.txt
tests/capstest.cpp
tests/childproxytest.cpp
tests/propertiestest.cpp
tests/qgsttest.h
tests/refpointertest.cpp
tests/signalstest.cpp
tests/structuretest.cpp
tests/valuetest.cpp