WIP: Start renaming KIO Slaves to KIO Workers.
KIO Slaves are not slaves, so let's get rid of the name which is technically wrong and (more important, IMO) morally repugnant.
Because of source- and binary- compatibility, this is going to be a long road, which can only be finished in KF6 by dropping KIO Slaves and presenting KIO Workers (I'm open to other words, but this seems suitably generic: Workers do jobs). I think this can meaningfully be broken down into four phases:
- introduce new headers, where
s/slave/worker/
is applied. Each worker header#include
s the old header. or copy the old header to a new header (same rename, different include guard) and then replace the old header with a#warning
stating the header is deprecated, and#include
the newly-named one. This phase just deals with filenames, preferred filenames for headers to get certain functionality, etc. The classes would remain untouched. - introduce new methods, where
s/slave/worker/
is applied. For each old-named method, add a deprecation notice and call the new one. - rename the classes and introduce
using OldName = NewName
in the old header. This is a binary-incompatible change, since the old symbols still existed -- now they're just an alias. Perhaps some symbol-wizardry can save them. (Probably KF6 timeframe) - drop the old names. This is source-incompatible. (Definitely KF6 timeframe)
For phase 1 I think the second alternative is the better one: it leads to less churn in the long run, although it initially does mismatch classes with headers by putting the old names in new headers.
KF6 task: https://phabricator.kde.org/T13869
Edited by Méven Car