Syndication

dataretriever.h
1 /*
2  SPDX-FileCopyrightText: 2001, 2002, 2003 Frerich Raabe <[email protected]>
3 
4  SPDX-License-Identifier: BSD-2-Clause
5 */
6 
7 #ifndef SYNDICATION_DATARETRIEVER_H
8 #define SYNDICATION_DATARETRIEVER_H
9 
10 #include "syndication_export.h"
11 
12 #include <QObject>
13 
14 class QUrl;
15 
16 class QByteArray;
17 
18 namespace Syndication
19 {
20 /**
21  * Abstract baseclass for all data retriever classes. Subclass this to add
22  * a new retrieval algorithm which can then be plugged into the RSS loader.
23  * @see Loader, FileRetriever, OutputRetriever
24  */
25 class SYNDICATION_EXPORT DataRetriever : public QObject
26 {
27  Q_OBJECT
28 public:
29  /**
30  * Default constructor.
31  */
32  DataRetriever();
33 
34  /**
35  * Destructor.
36  */
37  ~DataRetriever() override;
38 
39  /**
40  * Retrieve data from the given URL. This method is supposed to get
41  * reimplemented by subclasses. It will be called by the Loader
42  * class in case it needs to retrieve the data.
43  *
44  * @param url the URL to retrieve data from
45  *
46  * @see Loader::loadFrom()
47  */
48  virtual void retrieveData(const QUrl &url) = 0;
49 
50  /**
51  * @return An error code which might give a more precise information
52  * about what went wrong in case the 'success' flag returned with
53  * the dataRetrieved() signal was 'false'. Note that the meaning of
54  * the returned integer depends on the actual data retriever.
55  */
56  virtual int errorCode() const = 0;
57 
58  /**
59  * aborts the retrieval process.
60  */
61  virtual void abort() = 0;
62 
63 Q_SIGNALS:
64  /**
65  * Emit this signal to tell the Loader class that the retrieval
66  * process was finished.
67  * @param data Should contain the retrieved data and will get
68  * parsed by the Loader class.
69  * @param success Indicates whether there were any problems during
70  * the retrieval process. Pass 'true' to indicate that everything
71  * went seamlessy, 'false' to tell the Loader that something went
72  * wrong and that the data parameter might contain no or invalid
73  * data.
74  */
75 
76  void dataRetrieved(const QByteArray &data, bool success);
77 
78 private:
79  DataRetriever(const DataRetriever &other);
80  DataRetriever &operator=(const DataRetriever &other);
81 };
82 
83 } // namespace Syndication
84 
85 #endif // SYNDICATION_DATARETRIEVER_H
Abstract baseclass for all data retriever classes.
Definition: dataretriever.h:25
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Thu May 13 2021 23:02:09 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.