KProcess overhaul [PATCH]
Ralf Habacker
ralf.habacker at freenet.de
Wed Apr 19 10:09:57 BST 2006
Thiago Macieira schrieb:
> Ralf Habacker wrote:
>
>> 1. As Oswald initial stated rename KProcess KProcIO and
>> KProcessController to relating K3... and move to kde3support and
>> introduce new implementation as KProcess. This requires to port all
>> KProcess references in kdecore to the new style (much work) or to make
>> kde3support a dependency of kdecore (seems not be much work) and rename
>> all references into other packages to K3Process (seems solvable).
>>
>
> kdecore cannot depend on kde3support. The K3Process class, if we make one,
> has to be in kde3support.
>
> So your option here is: port every use of KProcess in kdecore, kdeui and
> kio to the new class.
>
>
Below there all required changes listed.
kdecore/ktimezones.cpp - unix only - default blocking call without any
redirection, easy to fix [1]
kdecore/kpty.cpp - unix only - redirects fd's, does QProcess support all
required needs ? [3]
kdecore/kconfigbackend.cpp - all platforms - default blocking call
without any redirection, easy to fix [1]
kdeui/kbugreport.cpp - all platforms - starts non blocking call and
perform action on process finished [1]
kdeui/kedittoolbar.cpp - all platforms - starts non blocking call and
perform action on process finished depending on exit state [2]
kdeui/kspell.cpp - all platforms - starts non blocking call and perform
action on process finished [1]
kio/kfile/kdiskfreesp.cpp - all platforms - starts non blocking call,
catch stderr and perform action on process finished [2]
kio/kfile/kfilesharedlg.cpp - unix only - starts non blocking call and
perform action on process finished [2]
kio/kfile/kpropertiesdialog.cpp - all platforms - needs cleanup (old
KProcess method is used in KRun context) [4]
kio/kio/defaultprogress.cpp - all platforms - start non blocking call [1]
kio/kio/kfileshare.cpp - unix only - starts non blocking call, catch
stdout and perform action on process finished [2]
kio/kio/kmimetype.cpp - all platforms - start non blocking call [1]
kio/kio/kmimetypechooser.cpp - all platforms - needs cleanup (old
KProcess function is used in KRun context) [4]
kio/kio/krun.cpp - all platforms - starts non blocking call and perform
action on process finished depending on exit state [2]
kio/kio/slave.cpp - all platforms - start non blocking call [1]
kio/kioexec/main.cpp - all platforms - start blocking call [1]
kio/misc/kpac/discovery.cpp - unix only - starts non blocking call,
catch stdout and perform action on process finished [2]
kio/tests/kdcopcheck.cpp - all platforms - starts non blocking call,
catch stdout and perform action on process finished [2]
Inidicators:
[1] easy to fix
[2] more work to fix
[3] needs unix developer
[4] need design change
>> 2. introduce new KProcess as K4Process and give people time to port
>> KProcess references to K4Process. If this is stabilized move recent
>> KProcess to kde3support and rename K4Process to KProcess. Still not
>> ported old KProcess references must be renamed to K3Process.
>>
>
> Renaming is not an option.
>
>
>> 3. Do nothing until Qt 4.2 is released because QProcess may change (This
>> adds unwanted delay in the windows port)
>>
>
> Not released, but at least until the snapshots of 4.2 start appearing and
> qt-copy switches to it.
>
>
>> 4. Ask tt again about their qt4.2 QProcess api changes, consider the
>> changes in the new implementation and go on with 1. or 2.
>>
>
> This is the same as above.
>
> I'll see what TT can do and, given the possibility, push the patch into
> qt-copy, as has been done with other Qt 4.2 features required by kdelibs.
>
>
Thanks
Ralf
More information about the kde-core-devel
mailing list