File indexing completed on 2024-05-12 05:12:42
0001 /* 0002 Copyright (C) 2012 Kevin Krammer <krammer@kde.org> 0003 0004 This program is free software; you can redistribute it and/or modify 0005 it under the terms of the GNU General Public License as published by 0006 the Free Software Foundation; either version 2 of the License, or 0007 (at your option) any later version. 0008 0009 This program is distributed in the hope that it will be useful, 0010 but WITHOUT ANY WARRANTY; without even the implied warranty of 0011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0012 GNU General Public License for more details. 0013 0014 You should have received a copy of the GNU General Public License along 0015 with this program; if not, write to the Free Software Foundation, Inc., 0016 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 0017 */ 0018 0019 #ifndef LISTCOMMAND_H 0020 #define LISTCOMMAND_H 0021 0022 #include "abstractcommand.h" 0023 0024 class KJob; 0025 0026 class ListCommand : public AbstractCommand 0027 { 0028 Q_OBJECT 0029 0030 public: 0031 explicit ListCommand(QObject *parent = nullptr); 0032 virtual ~ListCommand() = default; 0033 0034 QString name() const override; 0035 0036 public Q_SLOTS: 0037 void start() override; 0038 0039 protected: 0040 void setupCommandOptions(QCommandLineParser *parser) override; 0041 int initCommand(QCommandLineParser *parser) override; 0042 0043 private: 0044 bool mListItems; 0045 bool mListCollections; 0046 bool mListDetails; 0047 0048 private: 0049 void fetchCollections(); 0050 void fetchItems(); 0051 0052 private Q_SLOTS: 0053 void onBaseFetched(KJob *job); 0054 void onCollectionsFetched(KJob *job); 0055 void onItemsFetched(KJob *job); 0056 }; 0057 0058 #endif // LISTCOMMAND_H