Ubuntu Download Manager  0.3.0
A session-wide downloading service
 All Classes Namespaces Files Functions Typedefs Enumerations Enumerator
downloads_list_impl.h
Go to the documentation of this file.
1 /*
2  * Copyright 2014 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 UBUNTU_DOWNLOADMANAGER_CLIENT_DOWNLOAD_LIST_IMPL_H
20 #define UBUNTU_DOWNLOADMANAGER_CLIENT_DOWNLOAD_LIST_IMPL_H
21 
22 #include "downloads_list.h"
23 
24 namespace Ubuntu {
25 
26 namespace DownloadManager {
27 
28 class Error;
29 class Download;
30 
31 class DOWNLOAD_MANAGER_EXPORT DownloadsListImpl : public DownloadsList {
32  Q_OBJECT
33 
34  public:
35  DownloadsListImpl(QObject* parent = 0);
36  DownloadsListImpl(const QList<QSharedPointer<Download >> downs, QObject* parent = 0);
37  DownloadsListImpl(Error* err, QObject* parent = 0);
38  virtual ~DownloadsListImpl();
39 
40  virtual QList<QSharedPointer<Download> > downloads() const;
41  virtual bool isError() const;
42  virtual Error* error() const;
43 
44  private:
45  QList<QSharedPointer<Download> > _downs;
46  Error* _lastError = nullptr;
47 };
48 
49 } // Ubuntu
50 
51 } // DownloadManager
52 
53 #endif // UBUNTU_DOWNLOADMANAGER_CLIENT_DOWNLOAD_LIST_IMPL_H