Initial commit
[drdanz-telepathy-kde:libktelepathy-tests.git] / accept-dbustube / test-accept-dbustube.h
1 /*
2 * Copyright (C) 2010 Daniele E. Domenichelli <daniele.domenichelli@gmail.com>
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17 */
18
19 #ifndef TEST_ACCEPT_DBUSTUBE_H
20 #define TEST_ACCEPT_DBUSTUBE_H
21
22 #include "ui_test-accept-dbustube.h"
23 #include <TelepathyQt4/AbstractClientHandler>
24 #include <QDBusConnection>
25
26 class KJob;
27 class OrgFreedesktopTelepathyQt4ExampleInterface;
28
29 namespace Test {
30
31 class AcceptDBusTube : public QDialog, Test::Ui::AcceptDBusTube, public Tp::AbstractClientHandler
32 {
33     Q_OBJECT
34
35     public:
36         AcceptDBusTube(QWidget* parent = 0);
37         virtual ~AcceptDBusTube();
38
39         virtual bool bypassApproval() const;
40         virtual void handleChannels(const Tp::MethodInvocationContextPtr<> & context,
41                                     const Tp::AccountPtr & account,
42                                     const Tp::ConnectionPtr & connection,
43                                     const QList<Tp::ChannelPtr> & channels,
44                                     const QList<Tp::ChannelRequestPtr> & requestsSatisfied,
45                                     const QDateTime & userActionTime,
46                                     const QVariantMap & handlerInfo);
47
48     private Q_SLOTS:
49 //        void onDBusTubeAccepted(PendingOperation* op);
50         void onTimerTimeout();
51         void onInfoMessage(KJob* job, const QString &plain, const QString &rich);
52         void handleResult(KJob* job);
53 //        void onAcceptButtonClicked();
54         void onPong();
55         void doSomething();
56
57     private:
58         QDBusConnection m_dbusConnection;
59
60         void syncCall(KJob* job);
61         void asyncCall(KJob* job);
62
63         OrgFreedesktopTelepathyQt4ExampleInterface* client;
64
65 };
66
67 } // end namespace Test
68
69 #endif // TEST_ACCEPT_DBUSTUBE_H