File indexing completed on 2024-04-21 03:51:30

0001 /*
0002     This file is part of KDE.
0003 
0004     SPDX-FileCopyrightText: 2009 Eckhart Wörner <ewoerner@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007 */
0008 
0009 #ifndef LISTJOB_H
0010 #define LISTJOB_H
0011 
0012 #include "attica_export.h"
0013 #include "getjob.h"
0014 
0015 class QNetworkRequest;
0016 
0017 namespace Attica
0018 {
0019 class Provider;
0020 
0021 /**
0022  * @class ListJob listjob.h <Attica/ListJob>
0023  *
0024  * Represents a list job.
0025  */
0026 template<class T>
0027 class ATTICA_EXPORT ListJob : public GetJob
0028 {
0029 public:
0030     typename T::List itemList() const;
0031 
0032 protected:
0033     void parse(const QString &xml) override;
0034 
0035 private:
0036     ListJob(PlatformDependent *internals, const QNetworkRequest &request);
0037     typename T::List m_itemList;
0038     friend class Attica::Provider;
0039 };
0040 
0041 }
0042 
0043 #endif