diff --git a/declarative/plugin.cpp b/declarative/plugin.cpp index e1fa649..d73a077 100644 --- a/declarative/plugin.cpp +++ b/declarative/plugin.cpp @@ -11,6 +11,7 @@ #include #include "declarativessufeaturemodel.h" #include "declarativessudeviceinfo.h" +#include "../libssu/ssu.h" static QObject *device_info_factory(QQmlEngine *, QJSEngine *) { @@ -27,6 +28,7 @@ class NemoSsuPlugin : public QQmlExtensionPlugin { qmlRegisterType("Nemo.Ssu", 1, 0, "FeatureModel"); qmlRegisterSingletonType("Nemo.Ssu", 1, 1, "DeviceInfo", device_info_factory); + qmlRegisterType("Nemo.Ssu", 1, 1, "Ssu"); } }; diff --git a/libssu/ssu.h b/libssu/ssu.h index 2ad61fd..718b0b5 100644 --- a/libssu/ssu.h +++ b/libssu/ssu.h @@ -22,6 +22,9 @@ class Ssu: public QObject friend class UrlResolverTest; + Q_PROPERTY(bool registered READ isRegistered NOTIFY registrationStatusChanged) + Q_PROPERTY(DeviceModeFlags deviceMode READ deviceMode CONSTANT) + Q_PROPERTY(QString domain READ domain CONSTANT) public: /** * Filters to control the output of the repository lookup methods @@ -53,6 +56,7 @@ class Ssu: public QObject }; Q_DECLARE_FLAGS(DeviceModeFlags, DeviceMode) + Q_FLAGS(DeviceModeFlags) /** * A list of types ssu provides shiny values suitable for displaying diff --git a/ssud/ssud.cpp b/ssud/ssud.cpp index 1e410a6..2af9181 100644 --- a/ssud/ssud.cpp +++ b/ssud/ssud.cpp @@ -136,7 +136,8 @@ QString Ssud::domain() return ssu.domain(); } -Ssu::DeviceModeFlags Ssud::deviceMode() +// called by DBus Adaptor, return integer instead of enum Ssu::DeviceModeFlags +int Ssud::deviceMode() { autoclose.start(); return ssu.deviceMode(); diff --git a/ssud/ssud.h b/ssud/ssud.h index e79b2bf..21cda7e 100644 --- a/ssud/ssud.h +++ b/ssud/ssud.h @@ -35,7 +35,7 @@ public slots: void unregisterDevice(); QString domain(); /* repository management */ - Ssu::DeviceModeFlags deviceMode(); + int deviceMode(); void setDeviceMode(int mode); void setDeviceMode(int mode, int editMode); QString flavour();