diff --git a/src/daemon.cpp b/src/daemon.cpp index 31ebc6d..6282c48 100644 --- a/src/daemon.cpp +++ b/src/daemon.cpp @@ -34,6 +34,42 @@ Q_DECLARE_METATYPE(QList); Q_DECLARE_METATYPE(PackageKit::PkDetail); Q_DECLARE_METATYPE(QList); +static const QDBusArgument &operator<<(QDBusArgument &argument, const PackageKit::Transaction::Role &role) +{ + argument.beginStructure(); + argument << static_cast(role); + argument.endStructure(); + return argument; +} + +static const QDBusArgument &operator>>(const QDBusArgument &argument, PackageKit::Transaction::Role &role) +{ + argument.beginStructure(); + qlonglong result = 0; + argument >> result; + role = static_cast(result); + argument.endStructure(); + return argument; +} + +static const QDBusArgument &operator<<(QDBusArgument &argument, const PackageKit::Transaction::Status &status) +{ + argument.beginStructure(); + argument << static_cast(status); + argument.endStructure(); + return argument; +} + +static const QDBusArgument &operator>>(const QDBusArgument &argument, PackageKit::Transaction::Status &status) +{ + argument.beginStructure(); + qlonglong result = 0; + argument >> result; + status = static_cast(result); + argument.endStructure(); + return argument; +} + static const QDBusArgument &operator<<(QDBusArgument &argument, const PackageKit::PkPackage &pkg) { argument.beginStructure(); @@ -122,6 +158,8 @@ Daemon::Daemon(QObject *parent) : this, SLOT(propertiesChanged(QString,QVariantMap,QStringList))); + qDBusRegisterMetaType(); + qDBusRegisterMetaType(); qDBusRegisterMetaType(); qDBusRegisterMetaType>(); qDBusRegisterMetaType();