|
libfuoten 0.8.1
Qt based library to access the ownCloud/Nextcloud News App API
|
#include <Fuoten/API/MarkFolderRead>
Properties | |
| qint64 | folderId |
| qint64 | newestItemId |
| Properties inherited from Component | |
| Fuoten::AbstractConfiguration * | configuration |
| Fuoten::Error * | error |
| bool | inOperation |
| Fuoten::AbstractNotificator * | notificator |
| quint16 | requestTimeout |
| Fuoten::AbstractStorage * | storage |
| bool | useStorage |
| Fuoten::WipeManager * | wipeManager |
Public Member Functions | |
| MarkFolderRead (QObject *parent=nullptr) | |
| ~MarkFolderRead () override | |
| Q_INVOKABLE void | execute () override |
| qint64 | folderId () const |
| qint64 | newestItemId () const |
| void | setFolderId (qint64 nFolderId) |
| void | setNewestItemId (qint64 nNewestItemId) |
| Public Member Functions inherited from Component | |
| Component (QObject *parent=nullptr) | |
| ~Component () override | |
| AbstractConfiguration * | configuration () const |
| Error * | error () const |
| bool | inOperation () const |
| bool | isUseStorageEnabled () const |
| AbstractNotificator * | notificator () const |
| quint16 | requestTimeout () const |
| void | setConfiguration (AbstractConfiguration *nAbstractConfiguration) |
| void | setNotificator (AbstractNotificator *notificator) |
| void | setRequestTimeout (quint16 seconds) |
| void | setStorage (AbstractStorage *localStorage) |
| void | setUseStorage (bool useStorage) |
| void | setWipeManager (WipeManager *wipeManager) |
| AbstractStorage * | storage () const |
| WipeManager * | wipeManager () const |
Signals | |
| void | folderIdChanged (qint64 folderId) |
| void | newestItemIdChanged (qint64 newestItemId) |
| void | succeeded (qint64 id, qint64 newestItem) |
| Signals inherited from Component | |
| void | configurationChanged (Fuoten::AbstractConfiguration *configuration) |
| void | errorChanged (Fuoten::Error *error) |
| void | failed (Fuoten::Error *error) |
| void | inOperationChanged (bool inOperation) |
| void | notificatorChanged (Fuoten::AbstractNotificator *notificator) |
| void | requestTimeoutChanged (quint16 requestTimeout) |
| void | sslErrors (QNetworkReply *reply, const QList< QSslError > &errors) |
| void | storageChanged (Fuoten::AbstractStorage *storage) |
| void | succeeded (const QJsonDocument &result) |
| void | useStorageChanged (bool useStorage) |
| void | wipeManagerChanged (Fuoten::WipeManager *wipeManager) |
Protected Member Functions | |
| bool | checkInput () override |
| void | extractError (QNetworkReply *reply) override |
| void | successCallback () override |
| Protected Member Functions inherited from Component | |
| void | addRequestHeader (const QByteArray &headerName, const QByteArray &headerValue) |
| void | addRequestHeaders (const QHash< QByteArray, QByteArray > &headers) |
| virtual bool | checkOutput () |
| QJsonDocument | jsonResult () const |
| void | notify (AbstractNotificator::Type type, QtMsgType severity, const QVariant &data) const |
| void | notify (const Error *e) const |
| QHash< QByteArray, QByteArray > | requestHeaders () const |
| void | sendRequest () |
| void | setApiRoute (const QString &route) |
| void | setApiRoute (const QStringList &routeParts) |
| void | setError (Error *nError) |
| void | setExpectedJSONType (ExpectedJSONType type) |
| void | setInOperation (bool nInOperation) |
| void | setNetworkOperation (QNetworkAccessManager::Operation operation) |
| void | setPayload (const QByteArray &payload) |
| void | setPayload (const QJsonObject &payload) |
| void | setRequestHeaders (const QHash< QByteArray, QByteArray > &headers) |
| void | setRequiresAuth (bool reqAuth) |
| void | setUrlQuery (const QUrlQuery &query) |
Additional Inherited Members | |
| Public Types inherited from Component | |
| enum | ExpectedJSONType : quint8 { Empty = 0 , Array = 1 , Object = 2 } |
| Static Public Member Functions inherited from Component | |
| static AbstractConfiguration * | defaultConfiguration () |
| static AbstractNotificator * | defaultNotificator () |
| static AbstractStorage * | defaultStorage () |
| static WipeManager * | defaultWipeManager () |
| static AbstractNamFactory * | networkAccessManagerFactory () |
| static void | setDefaultConfiguration (AbstractConfiguration *config) |
| static void | setDefaultNotificator (AbstractNotificator *notificator) |
| static void | setDefaultStorage (AbstractStorage *storage) |
| static void | setDefaultWipeManager (WipeManager *wipeManager) |
| static void | setNetworkAccessManagerFactory (AbstractNamFactory *factory) |
Marks all articles in a folder as read on the News App server.
To mark an entire folder as read, you have to set valid values to MarkFolderRead::folderId, MarkFolderRead::newestItemId and Component::configuration. After setting the mandatory properties, call execute() to perform the API request.
If a valid AbstractStorage object is set to the Component::storage property, AbstractStorage::folderMarkedRead() will be called in the successCallback() to update the local storage. If the request succeeded, the MarkFolderRead::succeeded() signal will be emitted, containing the folderId and the newestItemId. If something failed, the Component::failed() signal will be emitted and Component::error will contain a valid pointer to an Error object.
|
readwrite |
The ID of the folder that should be marked as read.
This property can not be changed while Component::inOperation() returns true.
| qint64 | folderId() const |
| void | setFolderId(qint64 nFolderId) |
| void | folderIdChanged(qint64 folderId) |
|
readwrite |
The ID of the newest item in the folder.
Will mark all items with IDs lower than equal that ID as read. This is meant to prevent marking items as read which the client does not yet know of. This property can not be changed while Component::inOperation() returns true.
| qint64 | newestItemId() const |
| void | setNewestItemId(qint64 nNewestItemId) |
| void | newestItemIdChanged(qint64 newestItemId) |
|
explicit |
Constructs an API request object with the given parent to mark an entire folder as read on the remote server.
|
override |
Destroys the MarkFolderRead object.
|
overrideprotectedvirtual |
Will check for valid folderId and newestItemId.
Will at first perform the checks of Component::checkInput(). Will than simply check if the IDs are not lower or equal to 0.
Reimplemented from Component.
|
overridevirtual |
Executes the API request.
To perform a successful API request to mark a folder as read, MarkFolderRead::folderId and MarkFolderRead::newestItemId have to be valid IDs and there has to be a AbstractConfiguration object set to Component::configuration.
Execution will not run while Component::inOperation returns true and will itself set that property to true when the request starts.
Implements Component.
|
overrideprotectedvirtual |
Extracts possible errors replied by the News App API.
Reimplemented from Component.
| qint64 folderId | ( | ) | const |
Returns the ID of the folder to be marked as read.
|
signal |
This signal is emitted when the ID of the folder to mark as read is changed.
| qint64 newestItemId | ( | ) | const |
Returns the ID of the item that is set to be the newest in the folder.
|
signal |
This signal is emitted when the ID of the newest item in the folder is changed.
| void setFolderId | ( | qint64 | nFolderId | ) |
Sets the ID of the folder to be marked as read.
| void setNewestItemId | ( | qint64 | nNewestItemId | ) |
Sets the ID of the newest item in the folder.
|
signal |
This signal will be emitted if the API request was successful.
Will contain the id of the folder that has been marked as read as well as the ID of the newestItem that has been marked as read in this folder.
|
overrideprotectedvirtual |
Finished the folder marking if the request was successful.
If Component::storage contains a valid pointer, the AbstractStorage::folderMarkedRead() function will be called to update the local storage. After that the Component::inOperation property will be set to false and the succeeded() signal will be emitted.
Implements Component.