summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorAndre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>2012-04-02 09:41:07 -0300
committerAndre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>2012-04-02 10:37:20 -0300
commit6e8d06d5ce57603a327129c508dea7a8a3669781 (patch)
treef22fa9721ef904ea7086f62f50d8f485326cf801 /examples
parent8a408ee686e6a75861376bdbfbf2c2acacc8ebe0 (diff)
cm example: Add example for BaseProtocolAddressingInterface usage.
Diffstat (limited to 'examples')
-rw-r--r--examples/cm/protocol.cpp32
-rw-r--r--examples/cm/protocol.h9
2 files changed, 31 insertions, 10 deletions
diff --git a/examples/cm/protocol.cpp b/examples/cm/protocol.cpp
index 1ce0b5eb..2bb825b2 100644
--- a/examples/cm/protocol.cpp
+++ b/examples/cm/protocol.cpp
@@ -50,6 +50,13 @@ Protocol::Protocol(const QDBusConnection &dbusConnection, const QString &name)
setCreateConnectionCallback(memFun(this, &Protocol::createConnection));
setIdentifyAccountCallback(memFun(this, &Protocol::identifyAccount));
setNormalizeContactCallback(memFun(this, &Protocol::normalizeContact));
+
+ addrIface = BaseProtocolAddressingInterface::create();
+ addrIface->setAddressableVCardFields(QStringList() << QLatin1String("x-example-vcard-field"));
+ addrIface->setAddressableUriSchemes(QStringList() << QLatin1String("example-uri-scheme"));
+ addrIface->setNormalizeVCardAddressCallback(memFun(this, &Protocol::normalizeVCardAddress));
+ addrIface->setNormalizeContactUriCallback(memFun(this, &Protocol::normalizeContactUri));
+ plugInterface(AbstractProtocolInterfacePtr::dynamicCast(addrIface));
}
Protocol::~Protocol()
@@ -58,24 +65,31 @@ Protocol::~Protocol()
BaseConnectionPtr Protocol::createConnection(const QVariantMap &parameters, Tp::DBusError *error)
{
- if (error) {
- error->set(QLatin1String("CreateConnection.Error.Test"), QLatin1String(""));
- }
+ error->set(QLatin1String("CreateConnection.Error.Test"), QLatin1String(""));
return BaseConnectionPtr();
}
QString Protocol::identifyAccount(const QVariantMap &parameters, Tp::DBusError *error)
{
- if (error) {
- error->set(QLatin1String("IdentifyAccount.Error.Test"), QLatin1String(""));
- }
+ error->set(QLatin1String("IdentifyAccount.Error.Test"), QLatin1String(""));
return QString();
}
QString Protocol::normalizeContact(const QString &contactId, Tp::DBusError *error)
{
- if (error) {
- error->set(QLatin1String("NormalizeContact.Error.Test"), QLatin1String(""));
- }
+ error->set(QLatin1String("NormalizeContact.Error.Test"), QLatin1String(""));
+ return QString();
+}
+
+QString Protocol::normalizeVCardAddress(const QString &vCardField, const QString vCardAddress,
+ Tp::DBusError *error)
+{
+ error->set(QLatin1String("NormalizeVCardAddress.Error.Test"), QLatin1String(""));
+ return QString();
+}
+
+QString Protocol::normalizeContactUri(const QString &uri, Tp::DBusError *error)
+{
+ error->set(QLatin1String("NormalizeContactUri.Error.Test"), QLatin1String(""));
return QString();
}
diff --git a/examples/cm/protocol.h b/examples/cm/protocol.h
index 1ce6321f..698617b7 100644
--- a/examples/cm/protocol.h
+++ b/examples/cm/protocol.h
@@ -34,10 +34,17 @@ public:
Protocol(const QDBusConnection &dbusConnection, const QString &name);
virtual ~Protocol();
-protected Q_SLOTS:
+private:
Tp::BaseConnectionPtr createConnection(const QVariantMap &parameters, Tp::DBusError *error);
QString identifyAccount(const QVariantMap &parameters, Tp::DBusError *error);
QString normalizeContact(const QString &contactId, Tp::DBusError *error);
+
+ // Proto.I.Addressing
+ QString normalizeVCardAddress(const QString &vCardField, const QString vCardAddress,
+ Tp::DBusError *error);
+ QString normalizeContactUri(const QString &uri, Tp::DBusError *error);
+
+ Tp::BaseProtocolAddressingInterfacePtr addrIface;
};
#endif