Threadsafe project model

David Nolden zwabel at
Fri Jul 16 12:03:03 UTC 2010

Argh sorry, accidentally hit "Send". So let's continue:

parseTarget() {
collect data;
QString targetName = someName;
QString absoluteTargetPath = somePath;

DO_IN_FOREGROUND_2( targetName, absoluteTargetPath,
   Arbitrary code that will be executed in the foreground;
   May consist of as many lines as wanted;
   QString& targetName and QString& absouteTargetPath variables are
visible, they reference the objects from the waiting background
   Any signals emitted here will be delivered right away within the foreground;
   Execution in the background thread will continue after the
processing in the foreground has finished;

The X in DO_IN_FOREGROUND_X indicates the number of references that
are to be passed into the following code-block (aka. the first 2

Greetings, David

More information about the KDevelop-devel mailing list