|
libfuoten 0.8.2
Qt based library to access the Nextcloud News App API.
|
Marks all articles in a folder as read on the News App server. More...
#include <Fuoten/API/MarkFolderRead>
Properties | |
| qint64 | folderId |
| The ID of the folder that should be marked as read. | |
| qint64 | newestItemId |
| The ID of the newest item in the folder. | |
| Properties inherited from Fuoten::Component | |
| Fuoten::AbstractConfiguration * | configuration |
| Pointer to an AbstractConfiguration derived object. | |
| Fuoten::Error * | error |
| Pointer to an error object, if any error occurred. | |
| bool | inOperation |
| Returns true while the request is in operation. | |
| Fuoten::AbstractNotificator * | notificator |
| Pointer to an object derived from AbstractNotificator. | |
| quint16 | requestTimeout |
| Timeout in seconds for network requests. | |
| Fuoten::AbstractStorage * | storage |
| Pointer to an AbstractStorage derived object. | |
| bool | useStorage |
If true (the default), a local storage should be used in the successCallback() function to further process the request results. | |
| Fuoten::WipeManager * | wipeManager |
| Pointer to a WipeManager to handle remote wipe requests. | |
Public Member Functions | |
| MarkFolderRead (QObject *parent=nullptr) | |
| Constructs an API request object with the given parent to mark an entire folder as read on the remote server. | |
| ~MarkFolderRead () override | |
| Destroys the MarkFolderRead object. | |
| Q_INVOKABLE void | execute () override |
| Executes the API request. | |
| qint64 | folderId () const |
| Returns the ID of the folder to be marked as read. | |
| qint64 | newestItemId () const |
| Returns the ID of the item that is set to be the newest in the folder. | |
| 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. | |
| Public Member Functions inherited from Fuoten::Component | |
| Component (QObject *parent=nullptr) | |
| Constructs a component with the given parent. | |
| ~Component () override | |
| Destroys the Component object. | |
| AbstractConfiguration * | configuration () const |
| Returns a pointer to the AbstractConfiguration that is currently set. | |
| Error * | error () const |
| Returns a pointer to an Error object, if any error occurred. | |
| bool | inOperation () const |
| Returns true while the API request is running. | |
| bool | isUseStorageEnabled () const |
| Getter function for the useStorage property. | |
| AbstractNotificator * | notificator () const |
| Getter function for the notificator property. | |
| quint16 | requestTimeout () const |
| Returns the currently set request timeout. | |
| void | setConfiguration (AbstractConfiguration *nAbstractConfiguration) |
| Sets a pointer to a AbstractConfiguration to use for the API request. | |
| void | setNotificator (AbstractNotificator *notificator) |
| Setter function for the notificator property. | |
| void | setRequestTimeout (quint16 seconds) |
| Sets the timeout for the API request in seconds. | |
| void | setStorage (AbstractStorage *localStorage) |
| Setter function for the storage property. | |
| void | setUseStorage (bool useStorage) |
| Setter function for the useStorage property. | |
| void | setWipeManager (WipeManager *wipeManager) |
| Setter function for the wipeManager property. | |
| AbstractStorage * | storage () const |
| Getter function for the storage property. | |
| WipeManager * | wipeManager () const |
| Getter function for the wipeManager property. | |
Signals | |
| void | folderIdChanged (qint64 folderId) |
| This signal is emitted when the ID of the folder to mark as read is changed. | |
| void | newestItemIdChanged (qint64 newestItemId) |
| This signal is emitted when the ID of the newest item in the folder is changed. | |
| void | succeeded (qint64 id, qint64 newestItem) |
| This signal will be emitted if the API request was successful. | |
| Signals inherited from Fuoten::Component | |
| void | configurationChanged (Fuoten::AbstractConfiguration *configuration) |
| This signal is emitted when the pointer to the AbstractConfiguration object changes. | |
| void | errorChanged (Fuoten::Error *error) |
| This signal is emitted when the pointer to the Error object changes. error will be a nullptr if no error occurred or the current error has been reset. | |
| void | failed (Fuoten::Error *error) |
| Emit this signal in a subclass when the request failed for some reason. | |
| void | inOperationChanged (bool inOperation) |
| This signal is emitted when the in operation status changes. | |
| void | notificatorChanged (Fuoten::AbstractNotificator *notificator) |
| Notifier signal for the notificator property. | |
| void | requestTimeoutChanged (quint16 requestTimeout) |
| This signal is emitte when the timeout for the request changes. | |
| void | sslErrors (QNetworkReply *reply, const QList< QSslError > &errors) |
| This signal is emitted if the SSL/TLS session encountered errors during the set up. | |
| void | storageChanged (Fuoten::AbstractStorage *storage) |
| Notifier signal for the storage property. | |
| void | succeeded (const QJsonDocument &result) |
| Emit this signal in a subclass when the request was successful. | |
| void | useStorageChanged (bool useStorage) |
| Notifier signal for the useStorage property. | |
| void | wipeManagerChanged (Fuoten::WipeManager *wipeManager) |
| Notifier signal for the wipeManager property. | |
Protected Member Functions | |
| bool | checkInput () override |
| Will check for valid folderId and newestItemId. | |
| void | extractError (QNetworkReply *reply) override |
| Extracts possible errors replied by the News App API. | |
| void | successCallback () override |
| Finished the folder marking if the request was successful. | |
| Protected Member Functions inherited from Fuoten::Component | |
| void | addRequestHeader (const QByteArray &headerName, const QByteArray &headerValue) |
| Adds a header to the HTTP request. | |
| void | addRequestHeaders (const QHash< QByteArray, QByteArray > &headers) |
| Adds headers to the HTTP request. | |
| virtual bool | checkOutput () |
| Performs basic output checks. | |
| QJsonDocument | jsonResult () const |
| Returns the JSON result document. | |
| void | notify (AbstractNotificator::Type type, QtMsgType severity, const QVariant &data) const |
| Checks if a notificator has been set and will use it to notify the user. | |
| void | notify (const Error *e) const |
| Checks if a notificator has been set and will use it to notify about an occured error. | |
| QHash< QByteArray, QByteArray > | requestHeaders () const |
| Returns the currently set HTTP headers for the request. | |
| void | sendRequest () |
| Sends the request to the server. | |
| void | setApiRoute (const QString &route) |
| Sets the API route. | |
| void | setApiRoute (const QStringList &routeParts) |
| Sets the API route constructed from a route part list. | |
| void | setError (Error *nError) |
| Sets the pointer of the error property. | |
| void | setExpectedJSONType (ExpectedJSONType type) |
| Sets the expected JSON type for initial output check. | |
| void | setInOperation (bool nInOperation) |
| Sets the value of the inOperation property. | |
| void | setNetworkOperation (QNetworkAccessManager::Operation operation) |
| Sets the operation the network manager should perform for this call. | |
| void | setPayload (const QByteArray &payload) |
| Sets the payload for the request. | |
| void | setPayload (const QJsonObject &payload) |
| Sets the payload for the request. | |
| void | setRequestHeaders (const QHash< QByteArray, QByteArray > &headers) |
| Sets the headers to use for the HTTP request. | |
| void | setRequiresAuth (bool reqAuth) |
| Set this to true if the request requires authentication. | |
| void | setUrlQuery (const QUrlQuery &query) |
| Sets the URL query for the request. | |
Additional Inherited Members | |
| Public Types inherited from Fuoten::Component | |
| enum | ExpectedJSONType : quint8 { Empty = 0 , Array = 1 , Object = 2 } |
| Defines the expected JSON type. More... | |
| Static Public Member Functions inherited from Fuoten::Component | |
| static AbstractConfiguration * | defaultConfiguration () |
| Returns the global default configuration. | |
| static QNetworkAccessManager * | defaultNam () |
| Returns the global network access manager. | |
| static AbstractNotificator * | defaultNotificator () |
| Returns the global default notificator. | |
| static AbstractStorage * | defaultStorage () |
| Returns the global default storage. | |
| static WipeManager * | defaultWipeManager () |
| Returns the global default wipe manager. | |
| static AbstractNamFactory * | networkAccessManagerFactory () |
| Returns the currently set network access manager factory. | |
| static void | setDefaultConfiguration (AbstractConfiguration *config) |
| Sets the global default configuration. | |
| static void | setDefaultNam (QNetworkAccessManager *nam) |
| Sets the global default network access manager. | |
| static void | setDefaultNotificator (AbstractNotificator *notificator) |
| Sets the global default notificator. | |
| static void | setDefaultStorage (AbstractStorage *storage) |
| Sets the global default storage. | |
| static void | setDefaultWipeManager (WipeManager *wipeManager) |
| Sets the global default wipe manager. | |
| static void | setNetworkAccessManagerFactory (AbstractNamFactory *factory) |
| Sets the network access manager factory. The factory will be used to create QNetworkAccessManager objects on demand. If no factory is set, a default QNetworkAccessManager object will be created. The Component class will take ownership of the created QNetworkAccessManager. | |
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 Fuoten::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 Fuoten::Component.
|
overrideprotectedvirtual |
Extracts possible errors replied by the News App API.
Reimplemented from Fuoten::Component.
| qint64 MarkFolderRead::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 MarkFolderRead::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 MarkFolderRead::setFolderId | ( | qint64 | nFolderId | ) |
Sets the ID of the folder to be marked as read.
| void MarkFolderRead::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 Fuoten::Component.