VCS Interface classes (async execution)

Jakob Petsovits jpetso at gmx.at
Wed May 2 15:39:10 UTC 2007


On Monday, 30. April 2007, Andreas Pakulat wrote:
> I present to you our new VCS interface classes (that I finally managed
> to write up, based on the enourmus thread some time ago).

Other question: is it ok to let each VCS plugin reinvent threading?
Is it really necessary to let plugins keep track of their action calls?
How long after the call are they supposed to keep the action ids?

How about defining the interface synchronous and having one threading wrapper 
in shell itself? Like,

AsyncBasicVersionControlWrapper asyncBasicVC =
    new AsyncBasicVersionControlWrapper (basicVC);
asyncBasicVC->add( myDir, IBasicVersionControl::Recursive );
doOtherStuffInTheMeantime();

Then the plugin still has to be threadsafe, but at least doesn't need to take 
care of all that nasty stuff by itself, shell would do it for them.

As a bonus, we get proper method signatures, with typesafe, nicely documented 
and immediately recognizable return values.

What do you think?




More information about the KDevelop-devel mailing list