qt: Add API to get the context for a Job
authorAndre Heinecke <aheinecke@intevation.de>
Mon, 14 Nov 2016 19:40:29 +0000 (20:40 +0100)
committerAndre Heinecke <aheinecke@intevation.de>
Mon, 14 Nov 2016 19:48:20 +0000 (20:48 +0100)
commit9451faa2ee333904cff59f92ab62918e13ab4b87
treee2d9d2a59d405a9b9d2b042d0b158d7be85a3209
parentd09a84eaf1e4f8c6c2e462995fa15c1a5690a6ce
qt: Add API to get the context for a Job

* lang/qt/src/job.cpp,
lang/qt/src/job.h (Job::context): New.
* lang/qt/src/threadedjobmixin.cpp
(ThreadedJobMixin::~ThreadedJobMixin): New. Unregister context.
(ThreadedJobMixin::lateInitialization): Register context.
* NEWS: Update for cpp and qt.

--
The global map hack is necessary because the job class does
not know about the context which is held in threadedjobmixin.
Adding a virtual function in Job would be an ABI break which
I'd like to avoid at this point. Although QGpgME's API will
need a big ABI break to make it ABI maintainable. The virtual
jobs -> implementation classes are nearly unmaintainable ABI wise.

The context is exposed to provide more flexibility to users, e.g.
to add a passphrase callback or to set the sender in a context.
NEWS
lang/qt/src/job.cpp
lang/qt/src/job.h
lang/qt/src/threadedjobmixin.h
lang/qt/tests/t-tofuinfo.cpp