Lomiri Download Manager 0.1.1
A session-wide downloading service
 
Loading...
Searching...
No Matches
manager_pendingcall_watcher.h
Go to the documentation of this file.
1/*
2 * Copyright 2013 Canonical Ltd.
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of version 3 of the GNU Lesser General Public
6 * License as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public
14 * License along with this library; if not, write to the
15 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 * Boston, MA 02110-1301, USA.
17 */
18
19#ifndef LOMIRI_DOWNLOADMANAGER_CLIENT_MANAGER_PENDINGCALL_WATCHER_H
20#define LOMIRI_DOWNLOADMANAGER_CLIENT_MANAGER_PENDINGCALL_WATCHER_H
21
22#include <lomiri/transfers/visibility.h>
23#include <functional>
25
26namespace Lomiri {
27
28namespace DownloadManager {
29
30class Download;
31class DownloadsList;
32class Error;
33class GroupDownload;
34
35typedef std::function<void(Download*)> DownloadCb;
36typedef std::function<void(DownloadsList*)> DownloadsListCb;
37typedef std::function<void(const QString&, const QString&, DownloadsList*)> MetadataDownloadsListCb;
38typedef std::function<void(GroupDownload*)> GroupCb;
39
40
41class LOMIRI_TRANSFERS_PRIVATE DownloadManagerPCW : public PendingCallWatcher {
42 Q_OBJECT
43
44 public:
45 DownloadManagerPCW(const QDBusConnection& conn,
46 const QString& servicePath,
47 const QDBusPendingCall& call,
48 DownloadCb cb,
49 DownloadCb errCb,
50 QObject* parent = 0);
51
52 private slots:
53 void onFinished(QDBusPendingCallWatcher* watcher);
54
55 private:
56 DownloadCb _cb;
57 DownloadCb _errCb;
58};
59
60
61class LOMIRI_TRANSFERS_PRIVATE DownloadsListManagerPCW : public PendingCallWatcher {
62 Q_OBJECT
63
64 public:
65 DownloadsListManagerPCW(const QDBusConnection& conn,
66 const QString& servicePath,
67 const QDBusPendingCall& call,
68 DownloadsListCb cb,
69 DownloadsListCb errCb,
70 QObject* parent = 0);
71 private slots:
72 void onFinished(QDBusPendingCallWatcher* watcher);
73
74 private:
76 DownloadsListCb _errCb;
77};
78
79class LOMIRI_TRANSFERS_PRIVATE MetadataDownloadsListManagerPCW : public PendingCallWatcher {
80 Q_OBJECT
81
82 public:
83 MetadataDownloadsListManagerPCW(const QDBusConnection& conn,
84 const QString& servicePath,
85 const QDBusPendingCall& call,
86 const QString& key,
87 const QString& value,
88 MetadataDownloadsListCb cb,
89 MetadataDownloadsListCb errCb,
90 QObject* parent = 0);
91 private slots:
92 void onFinished(QDBusPendingCallWatcher* watcher);
93
94 private:
95 const QString& _key;
96 const QString& _value;
99};
100
101class LOMIRI_TRANSFERS_PRIVATE GroupManagerPCW : public PendingCallWatcher {
102 Q_OBJECT
103
104 public:
105 GroupManagerPCW(const QDBusConnection& conn,
106 const QString& servicePath,
107 const QDBusPendingCall& call,
108 GroupCb cb,
109 GroupCb errCb,
110 QObject* parent = 0);
111
112 private slots:
113 void onFinished(QDBusPendingCallWatcher* watcher);
114
115 private:
116 GroupCb _cb;
117 GroupCb _errCb;
118};
119
120} // DownloadManager
121
122} // Lomiri
123
124#endif // LOMIRI_DOWNLOADMANAGER_CLIENT_MANAGER_PENDINGCALL_WATCHER_H
std::function< void(DownloadsList *) DownloadsListCb)
Definition manager.h:48
std::function< void(Download *) DownloadCb)
Definition manager.h:42
std::function< void(GroupDownload *) GroupCb)
Definition manager.h:60
std::function< void(const QString &, const QString &, DownloadsList *) MetadataDownloadsListCb)
Definition manager.h:54