volkov created this revision. Herald added a project: Frameworks. Herald added a subscriber: kde-frameworks-devel. volkov requested review of this revision.
REVISION SUMMARY Introduce UnixFileDescriptor class, which holds a copy of a file descriptor. Actually it's a wrapper around QDBusUnixFileDescriptor. Currently arguments to/from a helper are passed as QVariantMap, encoded as QByteArray. To support passing of file descriptors, separate them into their own QVariantMap, and pass arguments as QVariantList consisting of the QByteArray blob of data arguments and the file descriptors map (HelperProxy::{un}packedArguments()). Remove operator<<(QDataStream &, const ActionReply &) and operator>>(QDataStream &, ActionReply &) as they don't make sense with file descriptors and used only internally in ActionReply::serialized() and ActionReply::deserialize() methods. Modify these methods to work with QVariantList instead of QByteArray blobs. REPOSITORY R283 KAuth BRANCH master REVISION DETAIL https://phabricator.kde.org/D24245 AFFECTED FILES autotests/CMakeLists.txt src/CMakeLists.txt src/HelperProxy.cpp src/HelperProxy.h src/backends/dbus/DBusHelperProxy.cpp src/backends/dbus/DBusHelperProxy.h src/backends/dbus/org.kde.kf5auth.xml src/backends/fakehelper/FakeHelperProxy.cpp src/backends/fakehelper/FakeHelperProxy.h src/kauth.h src/kauthactionreply.cpp src/kauthactionreply.h src/kauthunixfiledescriptor.cpp src/kauthunixfiledescriptor.h To: volkov Cc: kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns