[Telepathy-commits] [telepathy-qt4/master] Connection: Remove aliasing interface high-level API support for now.
Andre Moreira Magalhaes (andrunko)
andre.magalhaes at collabora.co.uk
Mon Jan 26 05:57:42 PST 2009
Connection: Remove aliasing interface high-level API support for now (to use it use
Connection::aliasingInterface() directly).
---
TelepathyQt4/Client/connection.cpp | 99 +----------------------------------
TelepathyQt4/Client/connection.h | 8 +--
tests/pinocchio/conn-basics.cpp | 9 +---
3 files changed, 6 insertions(+), 110 deletions(-)
diff --git a/TelepathyQt4/Client/connection.cpp b/TelepathyQt4/Client/connection.cpp
index 8d7b645..b304e26 100644
--- a/TelepathyQt4/Client/connection.cpp
+++ b/TelepathyQt4/Client/connection.cpp
@@ -110,7 +110,6 @@ struct Connection::Private
~Private();
void startIntrospection();
- void introspectAliasing();
void introspectMain();
void introspectPresence();
void introspectSimplePresence();
@@ -129,7 +128,6 @@ struct Connection::Private
ConnectionInterface *baseInterface;
// Optional interface proxies
- ConnectionInterfaceAliasingInterface *aliasing;
ConnectionInterfacePresenceInterface *presence;
DBus::PropertiesInterface *properties;
@@ -154,7 +152,6 @@ struct Connection::Private
uint status;
uint statusReason;
bool haveInitialStatus;
- uint aliasFlags;
StatusSpecMap presenceStatuses;
SimpleStatusSpecMap simplePresenceStatuses;
@@ -212,7 +209,6 @@ Connection::Private::Private(Connection *parent)
: parent(parent),
baseInterface(new ConnectionInterface(parent->dbusConnection(),
parent->busName(), parent->objectPath(), parent)),
- aliasing(0),
presence(0),
properties(0),
initialIntrospection(false),
@@ -222,7 +218,6 @@ Connection::Private::Private(Connection *parent)
status(ConnectionStatusDisconnected),
statusReason(ConnectionStatusReasonNoneSpecified),
haveInitialStatus(false),
- aliasFlags(0),
handleContext(0)
{
}
@@ -299,27 +294,6 @@ void Connection::Private::startIntrospection()
++handleContext->refcount;
}
-void Connection::Private::introspectAliasing()
-{
- // The Aliasing interface is not usable before the connection is established
- if (initialIntrospection) {
- parent->continueIntrospection();
- return;
- }
-
- if (!aliasing) {
- aliasing = parent->aliasingInterface();
- Q_ASSERT(aliasing != 0);
- }
-
- debug() << "Calling GetAliasFlags()";
- QDBusPendingCallWatcher *watcher =
- new QDBusPendingCallWatcher(aliasing->GetAliasFlags(), parent);
- parent->connect(watcher,
- SIGNAL(finished(QDBusPendingCallWatcher*)),
- SLOT(gotAliasFlags(QDBusPendingCallWatcher*)));
-}
-
void Connection::Private::introspectMain()
{
// Introspecting the main interface is currently just calling
@@ -400,9 +374,6 @@ void Connection::Private::changeReadiness(Readiness newReadiness)
debug() << "Readiness changed from" << readiness << "to" << newReadiness;
readiness = newReadiness;
- // emit statusChanged only here as we are now in the correct readiness
- // e.g: status was already Connected but readiness != ReadinessFull so the user was
- // not able to call Connection::aliasFlags() for example.
if (status != pendingStatus ||
statusReason != pendingStatusReason) {
status = pendingStatus;
@@ -440,13 +411,12 @@ QMutex Connection::Private::handleContextsLock;
* <ul>
* <li>%Connection status tracking</li>
* <li>Getting the list of supported interfaces automatically</li>
- * <li>Getting the alias flags automatically</li>
* <li>Getting the valid presence statuses automatically</li>
* <li>Shared optional interface proxy instances</li>
* </ul>
*
* The remote object state accessor functions on this object (status(),
- * statusReason(), aliasFlags(), and so on) don't make any DBus calls; instead,
+ * statusReason(), and so on) don't make any DBus calls; instead,
* they return values cached from a previous introspection run. The
* introspection process populates their values in the most efficient way
* possible based on what the service implements. Their return value is mostly
@@ -563,34 +533,6 @@ QStringList Connection::interfaces() const
}
/**
- * Return the bitwise OR of flags detailing the behavior of the Aliasing
- * interface on the remote object.
- *
- * The returned value is undefined unless the Connection has status
- * ConnectionStatusConnected and the list returned by interfaces() contains
- * %TELEPATHY_INTERFACE_CONNECTION_INTERFACE_ALIASING.
- *
- * \return Bitfield of flags, as specified in #ConnectionAliasFlag.
- */
-uint Connection::aliasFlags() const
-{
- if (mPriv->missingFeatures & FeatureAliasing) {
- warning() << "Trying to retrieve aliasFlags from connection, but "
- "aliasing is not supported";
- }
- else if (!(mPriv->features & FeatureAliasing)) {
- warning() << "Trying to retrieve aliasFlags from connection without "
- "calling Connection::becomeReady(FeatureAliasing)";
- }
- else if (mPriv->pendingFeatures & FeatureAliasing) {
- warning() << "Trying to retrieve aliasFlags from connection, but "
- "aliasing is still being retrieved";
- }
-
- return mPriv->aliasFlags;
-}
-
-/**
* Return a dictionary of presence statuses valid for use with the legacy
* Telepathy Presence interface on the remote object.
*
@@ -914,10 +856,6 @@ void Connection::gotInterfaces(QDBusPendingCallWatcher *watcher)
// queue introspection of all optional features and add the feature to
// pendingFeatures so we don't queue up the introspect func for the feature
// again on becomeReady.
- if (mPriv->interfaces.contains(TELEPATHY_INTERFACE_CONNECTION_INTERFACE_ALIASING)) {
- mPriv->introspectQueue.enqueue(&Private::introspectAliasing);
- mPriv->pendingFeatures |= FeatureAliasing;
- }
if (mPriv->interfaces.contains(TELEPATHY_INTERFACE_CONNECTION_INTERFACE_PRESENCE)) {
mPriv->introspectQueue.enqueue(&Private::introspectPresence);
mPriv->pendingFeatures |= FeaturePresence;
@@ -938,32 +876,6 @@ void Connection::gotInterfaces(QDBusPendingCallWatcher *watcher)
watcher->deleteLater();
}
-void Connection::gotAliasFlags(QDBusPendingCallWatcher *watcher)
-{
- QDBusPendingReply<uint> reply = *watcher;
-
- mPriv->pendingFeatures &= ~FeatureAliasing;
-
- if (!reply.isError()) {
- mPriv->features |= FeatureAliasing;
- debug() << "Adding FeatureAliasing to features";
-
- mPriv->aliasFlags = static_cast<ConnectionAliasFlag>(reply.value());
- debug().nospace() << "Got alias flags 0x" << hex << mPriv->aliasFlags;
- }
- else {
- mPriv->missingFeatures |= FeatureAliasing;
- debug() << "Adding FeatureAliasing to missing features";
-
- warning().nospace() << "GetAliasFlags() failed with" <<
- reply.error().name() << ":" << reply.error().message();
- }
-
- continueIntrospection();
-
- watcher->deleteLater();
-}
-
void Connection::gotStatuses(QDBusPendingCallWatcher *watcher)
{
QDBusPendingReply<StatusSpecMap> reply = *watcher;
@@ -1340,7 +1252,7 @@ PendingOperation *Connection::becomeReady(Features requestedFeatures)
}
}
- Feature optionalFeatures[3] = { FeatureAliasing, FeaturePresence, FeatureSimplePresence };
+ Feature optionalFeatures[3] = { FeaturePresence, FeatureSimplePresence };
Feature optionalFeature;
for (uint i = 0; i < sizeof(optionalFeatures) / sizeof(Feature); ++i) {
optionalFeature = optionalFeatures[i];
@@ -1354,8 +1266,7 @@ PendingOperation *Connection::becomeReady(Features requestedFeatures)
}
// don't enqueue introspect funcs here, as they will be enqueued
- // when possible, depending on readiness, e.g. introspectMain needs
- // to be called before introspectAliasing, ...
+ // when possible, depending on readiness
}
}
@@ -1494,10 +1405,6 @@ void Connection::continueIntrospection()
// we should have all interfaces now, so if an interface is not
// present and we have a feature for it, add the feature to missing
// features.
- if (!mPriv->interfaces.contains(TELEPATHY_INTERFACE_CONNECTION_INTERFACE_ALIASING)) {
- debug() << "adding FeatureAliasing to missing features";
- mPriv->missingFeatures |= FeatureAliasing;
- }
if (!mPriv->interfaces.contains(TELEPATHY_INTERFACE_CONNECTION_INTERFACE_PRESENCE)) {
debug() << "adding FeaturePresence to missing features";
mPriv->missingFeatures |= FeaturePresence;
diff --git a/TelepathyQt4/Client/connection.h b/TelepathyQt4/Client/connection.h
index 29c4384..db8e32d 100644
--- a/TelepathyQt4/Client/connection.h
+++ b/TelepathyQt4/Client/connection.h
@@ -57,9 +57,8 @@ class Connection : public StatefulDBusProxy,
public:
enum Feature {
- FeatureAliasing = 1,
- FeaturePresence = 2,
- FeatureSimplePresence = 4,
+ FeaturePresence = 1,
+ FeatureSimplePresence = 2,
_Padding = 0xFFFFFFFF
};
Q_DECLARE_FLAGS(Features, Feature)
@@ -80,8 +79,6 @@ public:
QStringList interfaces() const;
- uint aliasFlags() const;
-
StatusSpecMap presenceStatuses() const;
SimpleStatusSpecMap simplePresenceStatuses() const;
@@ -171,7 +168,6 @@ private Q_SLOTS:
void onStatusChanged(uint, uint);
void gotStatus(QDBusPendingCallWatcher *watcher);
void gotInterfaces(QDBusPendingCallWatcher *watcher);
- void gotAliasFlags(QDBusPendingCallWatcher *watcher);
void gotStatuses(QDBusPendingCallWatcher *watcher);
void gotSimpleStatuses(QDBusPendingCallWatcher *watcher);
diff --git a/tests/pinocchio/conn-basics.cpp b/tests/pinocchio/conn-basics.cpp
index c5cc0c1..b599c27 100644
--- a/tests/pinocchio/conn-basics.cpp
+++ b/tests/pinocchio/conn-basics.cpp
@@ -161,12 +161,6 @@ void TestConnBasics::testConnect()
QVERIFY(disconnect(mConn, SIGNAL(statusChanged(uint, uint)),
this, SLOT(expectReady(uint, uint))));
- QVERIFY(connect(mConn->becomeReady(Connection::FeatureAliasing),
- SIGNAL(finished(Telepathy::Client::PendingOperation*)),
- this,
- SLOT(expectSuccessfulCall(Telepathy::Client::PendingOperation*))));
- QCOMPARE(mLoop->exec(), 0);
-
QVERIFY(connect(mConn->becomeReady(Connection::FeaturePresence),
SIGNAL(finished(Telepathy::Client::PendingOperation*)),
this,
@@ -179,12 +173,11 @@ void TestConnBasics::testConnect()
SLOT(expectSuccessfulCall(Telepathy::Client::PendingOperation*))));
QCOMPARE(mLoop->exec(), 0);
- QVERIFY(connect(mConn->becomeReady(Connection::FeatureAliasing | Connection::FeaturePresence | Connection::FeatureSimplePresence),
+ QVERIFY(connect(mConn->becomeReady(Connection::FeaturePresence | Connection::FeatureSimplePresence),
SIGNAL(finished(Telepathy::Client::PendingOperation*)),
this,
SLOT(expectSuccessfulCall(Telepathy::Client::PendingOperation*))));
QCOMPARE(mLoop->exec(), 0);
- QCOMPARE(mConn->isReady(Connection::FeatureAliasing), true);
QCOMPARE(mConn->isReady(Connection::FeaturePresence), true);
QCOMPARE(mConn->isReady(Connection::FeatureSimplePresence), false);
--
1.5.6.5
More information about the Telepathy-commits
mailing list