diff options
author | Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk> | 2012-04-03 18:53:53 -0300 |
---|---|---|
committer | Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk> | 2012-04-03 18:53:53 -0300 |
commit | 575067ad597d2cf324a9f711b16fe2e0a6ce4119 (patch) | |
tree | 903862efd441c496d8bf4e794d42061e882dde92 /TelepathyQt | |
parent | 9c168d5dd156ae8a4dc1d452373ebe936572075b (diff) |
*DBusService*: Add public immutableProperties virtual method to be reimplemented by services and optinal interfaces.
Diffstat (limited to 'TelepathyQt')
-rw-r--r-- | TelepathyQt/base-connection-manager.cpp | 7 | ||||
-rw-r--r-- | TelepathyQt/base-connection-manager.h | 2 | ||||
-rw-r--r-- | TelepathyQt/base-connection.cpp | 6 | ||||
-rw-r--r-- | TelepathyQt/base-connection.h | 2 | ||||
-rw-r--r-- | TelepathyQt/base-protocol.cpp | 50 | ||||
-rw-r--r-- | TelepathyQt/base-protocol.h | 6 | ||||
-rw-r--r-- | TelepathyQt/dbus-service.h | 5 |
7 files changed, 71 insertions, 7 deletions
diff --git a/TelepathyQt/base-connection-manager.cpp b/TelepathyQt/base-connection-manager.cpp index 387a05d0..54f4c7f8 100644 --- a/TelepathyQt/base-connection-manager.cpp +++ b/TelepathyQt/base-connection-manager.cpp @@ -182,6 +182,13 @@ QString BaseConnectionManager::name() const return mPriv->name; } +QVariantMap BaseConnectionManager::immutableProperties() const +{ + QVariantMap ret; + ret.insert(TP_QT_IFACE_CONNECTION_MANAGER + QLatin1String(".Protocols"), qVariantFromValue(mPriv->adaptee->protocols())); + return ret; +} + QList<BaseProtocolPtr> BaseConnectionManager::protocols() const { return mPriv->protocols.values(); diff --git a/TelepathyQt/base-connection-manager.h b/TelepathyQt/base-connection-manager.h index 4aa18213..ca337a91 100644 --- a/TelepathyQt/base-connection-manager.h +++ b/TelepathyQt/base-connection-manager.h @@ -71,6 +71,8 @@ public: QString name() const; + QVariantMap immutableProperties() const; + QList<BaseProtocolPtr> protocols() const; BaseProtocolPtr protocol(const QString &protocolName) const; bool hasProtocol(const QString &protocolName) const; diff --git a/TelepathyQt/base-connection.cpp b/TelepathyQt/base-connection.cpp index 3a75845a..980812e6 100644 --- a/TelepathyQt/base-connection.cpp +++ b/TelepathyQt/base-connection.cpp @@ -93,6 +93,12 @@ QVariantMap BaseConnection::parameters() const return mPriv->parameters; } +QVariantMap BaseConnection::immutableProperties() const +{ + // FIXME + return QVariantMap(); +} + QString BaseConnection::uniqueName() const { return QString(QLatin1String("_%1")).arg((intptr_t) this, 0, 16); diff --git a/TelepathyQt/base-connection.h b/TelepathyQt/base-connection.h index 4e197872..d2aa5d7f 100644 --- a/TelepathyQt/base-connection.h +++ b/TelepathyQt/base-connection.h @@ -78,6 +78,8 @@ public: QString protocolName() const; QVariantMap parameters() const; + QVariantMap immutableProperties() const; + virtual QString uniqueName() const; bool registerObject(DBusError *error = NULL); diff --git a/TelepathyQt/base-protocol.cpp b/TelepathyQt/base-protocol.cpp index 21e14a93..9710209d 100644 --- a/TelepathyQt/base-protocol.cpp +++ b/TelepathyQt/base-protocol.cpp @@ -78,13 +78,6 @@ BaseProtocol::Adaptee::~Adaptee() { } -QVariantMap BaseProtocol::immutableProperties() const -{ - // FIXME - // Ps.: also include optional interfaces immutable properties - return QVariantMap(); -} - QStringList BaseProtocol::Adaptee::interfaces() const { QStringList ret; @@ -182,6 +175,23 @@ QString BaseProtocol::name() const return mPriv->name; } +QVariantMap BaseProtocol::immutableProperties() const +{ + QVariantMap ret; + foreach (const AbstractProtocolInterfacePtr &iface, mPriv->interfaces) { + ret.unite(iface->immutableProperties()); + } + ret.insert(TP_QT_IFACE_PROTOCOL + QLatin1String(".Interfaces"), qVariantFromValue(mPriv->adaptee->interfaces())); + ret.insert(TP_QT_IFACE_PROTOCOL + QLatin1String(".Parameters"), qVariantFromValue(mPriv->adaptee->parameters())); + ret.insert(TP_QT_IFACE_PROTOCOL + QLatin1String(".ConnectionInterfaces"), qVariantFromValue(mPriv->adaptee->connectionInterfaces())); + ret.insert(TP_QT_IFACE_PROTOCOL + QLatin1String(".RequestableChannelClasses"), qVariantFromValue(mPriv->adaptee->requestableChannelClasses())); + ret.insert(TP_QT_IFACE_PROTOCOL + QLatin1String(".VCardField"), qVariantFromValue(mPriv->adaptee->vCardField())); + ret.insert(TP_QT_IFACE_PROTOCOL + QLatin1String(".EnglishName"), qVariantFromValue(mPriv->adaptee->englishName())); + ret.insert(TP_QT_IFACE_PROTOCOL + QLatin1String(".Icon"), qVariantFromValue(mPriv->adaptee->icon())); + ret.insert(TP_QT_IFACE_PROTOCOL + QLatin1String(".AuthenticationTypes"), qVariantFromValue(mPriv->adaptee->authenticationTypes())); + return ret; +} + QStringList BaseProtocol::connectionInterfaces() const { return mPriv->connInterfaces; @@ -464,6 +474,12 @@ BaseProtocolAddressingInterface::~BaseProtocolAddressingInterface() delete mPriv; } +QVariantMap BaseProtocolAddressingInterface::immutableProperties() const +{ + // no immutable property + return QVariantMap(); +} + QStringList BaseProtocolAddressingInterface::addressableVCardFields() const { return mPriv->addressableVCardFields; @@ -596,6 +612,20 @@ BaseProtocolAvatarsInterface::~BaseProtocolAvatarsInterface() delete mPriv; } +QVariantMap BaseProtocolAvatarsInterface::immutableProperties() const +{ + QVariantMap ret; + ret.insert(TP_QT_IFACE_PROTOCOL_INTERFACE_AVATARS + QLatin1String(".SupportedAvatarMIMETypes"), mPriv->adaptee->supportedAvatarMIMETypes()); + ret.insert(TP_QT_IFACE_PROTOCOL_INTERFACE_AVATARS + QLatin1String(".MinimumAvatarHeight"), mPriv->adaptee->minimumAvatarHeight()); + ret.insert(TP_QT_IFACE_PROTOCOL_INTERFACE_AVATARS + QLatin1String(".MinimumAvatarWidth"), mPriv->adaptee->minimumAvatarWidth()); + ret.insert(TP_QT_IFACE_PROTOCOL_INTERFACE_AVATARS + QLatin1String(".RecommendedAvatarHeight"), mPriv->adaptee->recommendedAvatarHeight()); + ret.insert(TP_QT_IFACE_PROTOCOL_INTERFACE_AVATARS + QLatin1String(".RecommendedAvatarWidth"), mPriv->adaptee->recommendedAvatarWidth()); + ret.insert(TP_QT_IFACE_PROTOCOL_INTERFACE_AVATARS + QLatin1String(".MaximumAvatarHeight"), mPriv->adaptee->maximumAvatarHeight()); + ret.insert(TP_QT_IFACE_PROTOCOL_INTERFACE_AVATARS + QLatin1String(".MaximumAvatarWidth"), mPriv->adaptee->maximumAvatarWidth()); + ret.insert(TP_QT_IFACE_PROTOCOL_INTERFACE_AVATARS + QLatin1String(".MaximumAvatarBytes"), mPriv->adaptee->maximumAvatarBytes()); + return ret; +} + AvatarSpec BaseProtocolAvatarsInterface::avatarDetails() const { return mPriv->avatarDetails; @@ -657,6 +687,12 @@ BaseProtocolPresenceInterface::~BaseProtocolPresenceInterface() delete mPriv; } +QVariantMap BaseProtocolPresenceInterface::immutableProperties() const +{ + // no immutable property + return QVariantMap(); +} + PresenceSpecList BaseProtocolPresenceInterface::statuses() const { return mPriv->statuses; diff --git a/TelepathyQt/base-protocol.h b/TelepathyQt/base-protocol.h index 210721a2..d65251a1 100644 --- a/TelepathyQt/base-protocol.h +++ b/TelepathyQt/base-protocol.h @@ -160,6 +160,8 @@ public: virtual ~BaseProtocolAddressingInterface(); + QVariantMap immutableProperties() const; + QStringList addressableVCardFields() const; void setAddressableVCardFields(const QStringList &vcardFields); @@ -204,6 +206,8 @@ public: virtual ~BaseProtocolAvatarsInterface(); + QVariantMap immutableProperties() const; + AvatarSpec avatarDetails() const; void setAvatarDetails(const AvatarSpec &spec); @@ -237,6 +241,8 @@ public: virtual ~BaseProtocolPresenceInterface(); + QVariantMap immutableProperties() const; + PresenceSpecList statuses() const; void setStatuses(const PresenceSpecList &statuses); diff --git a/TelepathyQt/dbus-service.h b/TelepathyQt/dbus-service.h index 0582bbd1..11a68a51 100644 --- a/TelepathyQt/dbus-service.h +++ b/TelepathyQt/dbus-service.h @@ -32,6 +32,7 @@ #include <TelepathyQt/Object> #include <QObject> +#include <QVariantMap> class QDBusConnection; class QString; @@ -48,6 +49,8 @@ public: DBusService(const QDBusConnection &dbusConnection); virtual ~DBusService(); + virtual QVariantMap immutableProperties() const = 0; + QDBusConnection dbusConnection() const; QString busName() const; QString objectPath() const; @@ -75,6 +78,8 @@ public: QString interfaceName() const; + virtual QVariantMap immutableProperties() const = 0; + QDBusConnection dbusConnection() const; QObject *dbusObject() const; bool isRegistered() const; |