[Telepathy-commits] [telepathy-qt4/master] Added PendingReadyConnectionManager.

Andre Moreira Magalhaes (andrunko) andre.magalhaes at collabora.co.uk
Fri Feb 13 11:24:58 PST 2009


---
 TelepathyQt4/Client/PendingReadyConnectionManager  |   13 +++
 .../Client/pending-ready-connection-manager.cpp    |  110 ++++++++++++++++++++
 .../Client/pending-ready-connection-manager.h      |   62 +++++++++++
 TelepathyQt4/Makefile.am                           |    4 +
 4 files changed, 189 insertions(+), 0 deletions(-)
 create mode 100644 TelepathyQt4/Client/PendingReadyConnectionManager
 create mode 100644 TelepathyQt4/Client/pending-ready-connection-manager.cpp
 create mode 100644 TelepathyQt4/Client/pending-ready-connection-manager.h

diff --git a/TelepathyQt4/Client/PendingReadyConnectionManager b/TelepathyQt4/Client/PendingReadyConnectionManager
new file mode 100644
index 0000000..b1f7a39
--- /dev/null
+++ b/TelepathyQt4/Client/PendingReadyConnectionManager
@@ -0,0 +1,13 @@
+#ifndef _TelepathyQt4_Client_PendingReadyConnectionManager_HEADER_GUARD_
+#define _TelepathyQt4_Client_PendingReadyConnectionManager_HEADER_GUARD_
+
+#ifndef IN_TELEPATHY_QT4_HEADER
+#define IN_TELEPATHY_QT4_HEADER
+#endif
+
+#include <TelepathyQt4/Client/pending-ready-connection-manager.h>
+
+#undef IN_TELEPATHY_QT4_HEADER
+
+#endif
+// vim:set ft=cpp:
diff --git a/TelepathyQt4/Client/pending-ready-connection-manager.cpp b/TelepathyQt4/Client/pending-ready-connection-manager.cpp
new file mode 100644
index 0000000..7ba607e
--- /dev/null
+++ b/TelepathyQt4/Client/pending-ready-connection-manager.cpp
@@ -0,0 +1,110 @@
+/*
+ * This file is part of TelepathyQt4
+ *
+ * Copyright (C) 2009 Collabora Ltd. <http://www.collabora.co.uk/>
+ * Copyright (C) 2009 Nokia Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include <TelepathyQt4/Client/PendingReadyConnectionManager>
+
+#include "TelepathyQt4/Client/_gen/pending-ready-connection-manager.moc.hpp"
+
+#include "TelepathyQt4/debug-internal.h"
+
+#include <QDBusPendingCallWatcher>
+#include <QDBusPendingReply>
+
+/**
+ * \addtogroup clientsideproxies Client-side proxies
+ *
+ * Proxy objects representing remote service objects accessed via D-Bus.
+ *
+ * In addition to providing direct access to methods, signals and properties
+ * exported by the remote objects, some of these proxies offer features like
+ * automatic inspection of remote object capabilities, property tracking,
+ * backwards compatibility helpers for older services and other utilities.
+ */
+
+namespace Telepathy
+{
+namespace Client
+{
+
+struct PendingReadyConnectionManager::Private
+{
+    Private(ConnectionManager::Features requestedFeatures, ConnectionManager *connectionManager) :
+        requestedFeatures(requestedFeatures),
+        connectionManager(connectionManager)
+    {
+    }
+
+    ConnectionManager::Features requestedFeatures;
+    ConnectionManager *connectionManager;
+};
+
+/**
+ * \class PendingReadyConnectionManager
+ * \ingroup clientcm
+ * \headerfile <TelepathyQt4/Client/pending-ready-connection-manager.h> <TelepathyQt4/Client/PendingReadyConnectionManager>
+ *
+ * Class containing the features requested and the reply to a request
+ * for a connection manager to become ready. Instances of this class cannot be
+ * constructed directly; the only way to get one is via ConnectionManager::becomeReady().
+ */
+
+/**
+ * Construct a PendingReadyConnectionManager object.
+ *
+ * \param connectionManager The ConnectionManager that will become ready.
+ */
+PendingReadyConnectionManager::PendingReadyConnectionManager(ConnectionManager::Features requestedFeatures, ConnectionManager *connectionManager)
+    : PendingOperation(connectionManager),
+      mPriv(new Private(requestedFeatures, connectionManager))
+{
+}
+
+/**
+ * Class destructor.
+ */
+PendingReadyConnectionManager::~PendingReadyConnectionManager()
+{
+    delete mPriv;
+}
+
+/**
+ * Return the ConnectionManager object through which the request was made.
+ *
+ * \return ConnectionManager object.
+ */
+ConnectionManager *PendingReadyConnectionManager::connectionManager() const
+{
+    return mPriv->connectionManager;
+}
+
+/**
+ * Return the Features that were requested to become ready on the
+ * connection manager.
+ *
+ * \return Features.
+ */
+ConnectionManager::Features PendingReadyConnectionManager::requestedFeatures() const
+{
+    return mPriv->requestedFeatures;
+}
+
+} // Telepathy::Client
+} // Telepathy
diff --git a/TelepathyQt4/Client/pending-ready-connection-manager.h b/TelepathyQt4/Client/pending-ready-connection-manager.h
new file mode 100644
index 0000000..c8cad39
--- /dev/null
+++ b/TelepathyQt4/Client/pending-ready-connection-manager.h
@@ -0,0 +1,62 @@
+/*
+ * This file is part of TelepathyQt4
+ *
+ * Copyright (C) 2009 Collabora Ltd. <http://www.collabora.co.uk/>
+ * Copyright (C) 2009 Nokia Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#ifndef _TelepathyQt4_cli_pending_ready_connection_manager_h_HEADER_GUARD_
+#define _TelepathyQt4_cli_pending_ready_connection_manager_h_HEADER_GUARD_
+
+#ifndef IN_TELEPATHY_QT4_HEADER
+#error IN_TELEPATHY_QT4_HEADER
+#endif
+
+#include <TelepathyQt4/Client/ConnectionManager>
+#include <TelepathyQt4/Client/PendingOperation>
+
+class QDBusPendingCallWatcher;
+
+namespace Telepathy
+{
+namespace Client
+{
+
+class PendingReadyConnectionManager : public PendingOperation
+{
+    Q_OBJECT
+
+public:
+    ~PendingReadyConnectionManager();
+
+    ConnectionManager *connectionManager() const;
+    ConnectionManager::Features requestedFeatures() const;
+
+private:
+    Q_DISABLE_COPY(PendingReadyConnectionManager);
+    PendingReadyConnectionManager(ConnectionManager::Features requestedFeatures, ConnectionManager *connectionManager);
+
+    struct Private;
+    friend struct Private;
+    friend class ConnectionManager;
+    Private *mPriv;
+};
+
+} // Telepathy::Client
+} // Telepathy
+
+#endif
diff --git a/TelepathyQt4/Makefile.am b/TelepathyQt4/Makefile.am
index dc232c3..74e1923 100644
--- a/TelepathyQt4/Makefile.am
+++ b/TelepathyQt4/Makefile.am
@@ -62,6 +62,7 @@ libtelepathy_qt4_la_SOURCES = \
     Client/pending-ready-account-manager.cpp \
     Client/pending-ready-channel.cpp \
     Client/pending-ready-connection.cpp \
+    Client/pending-ready-connection-manager.cpp \
     Client/pending-string-list.cpp \
     Client/properties.cpp \
     Client/referenced-handles.cpp \
@@ -118,6 +119,7 @@ nodist_libtelepathy_qt4_la_SOURCES = \
     Client/_gen/pending-ready-account-manager.moc.hpp \
     Client/_gen/pending-ready-channel.moc.hpp \
     Client/_gen/pending-ready-connection.moc.hpp \
+    Client/_gen/pending-ready-connection-manager.moc.hpp \
     Client/_gen/pending-string-list.moc.hpp \
     Client/_gen/room-list.moc.hpp \
     Client/_gen/simple-pending-operations.moc.hpp \
@@ -162,6 +164,7 @@ tpqt4clientinclude_HEADERS = \
     Client/PendingReadyAccountManager \
     Client/PendingReadyChannel \
     Client/PendingReadyConnection \
+    Client/PendingReadyConnectionManager \
     Client/PendingSuccess \
     Client/PendingStringList \
     Client/PendingVoidMethodCall \
@@ -229,6 +232,7 @@ tpqt4clientinclude_HEADERS = \
     Client/pending-ready-account-manager.h \
     Client/pending-ready-channel.h \
     Client/pending-ready-connection.h \
+    Client/pending-ready-connection-manager.h \
     Client/pending-string-list.h \
     Client/properties.h \
     Client/referenced-handles.h \
-- 
1.5.6.5




More information about the telepathy-commits mailing list