File indexing completed on 2024-05-05 04:57:29
0001 /* 0002 This file is part of Choqok, the KDE micro-blogging client 0003 0004 SPDX-FileCopyrightText: 2008-2012 Mehrdad Momeny <mehrdad.momeny@gmail.com> 0005 0006 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0007 */ 0008 0009 #ifndef TWITTERSEARCH_H 0010 #define TWITTERSEARCH_H 0011 0012 #include "twitterapisearch.h" 0013 0014 class KJob; 0015 0016 /** 0017 Twitter.com search API implementation. 0018 0019 @author Stephen Henderson \<hendersonsk@gmail.com\> 0020 @author Mehrdad Momeny \<mehrdad.momeny@gmail.com\> 0021 */ 0022 0023 class TwitterSearch : public TwitterApiSearch 0024 { 0025 Q_OBJECT 0026 public: 0027 enum SearchType { CustomSearch = 0, ReferenceHashtag, FromUser, ToUser, ReferenceUser }; 0028 0029 TwitterSearch(QObject *parent = nullptr); 0030 ~TwitterSearch(); 0031 0032 virtual void requestSearchResults(const SearchInfo &searchInfo, 0033 const QString &sinceStatusId = QString(), 0034 uint count = 0, uint page = 1) override; 0035 virtual QString optionCode(int option) override; 0036 0037 protected Q_SLOTS: 0038 void searchResultsReturned(KJob *job); 0039 0040 protected: 0041 Choqok::Post *readStatusesFromJsonMap(const QVariantMap &var); 0042 0043 QMap<int, QString> mSearchCode; 0044 QMap<int, QString> mI18nSearchCode; 0045 QMap<KJob *, SearchInfo> mSearchJobs; 0046 static const QRegExp m_rId; 0047 }; 0048 0049 #endif // TWITTERSEARCH_H