|
libfuoten 0.8.2
Qt based library to access the Nextcloud News App API.
|
Star/unstar multiple items/articles in on request on the News App server. More...
#include <Fuoten/API/MarkFeedRead>
Properties | |
| bool | starred |
Set to true if the items/articles should be marked as starred, set to false to mark them as unstarred. | |
| 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 | |
| StarMultipleItems (bool starred, QObject *parent=nullptr) | |
| Constructs a new StarMultipleItems object with the given arguments and parent. | |
| StarMultipleItems (QObject *parent=nullptr) | |
| Constructs a new StarMultipleItems object with default values and the given parent. | |
| ~StarMultipleItems () override | |
| Destroys the StarMultipleItems object. | |
| Q_INVOKABLE void | addItem (qint64 feedId, const QString &guidHash) |
| Adds a new article to the list of articles to star/unstar. | |
| Q_INVOKABLE void | execute () override |
| Executes the API request. | |
| QList< QPair< qint64, QString > > | itemsToStar () const |
| Returns the list of feed IDs and article GUID hashes that should be starred/unstarred. | |
| void | setItemsToStar (const QList< QPair< qint64, QString > > &items) |
| Sets the list of feed IDs and article GUID hashes that shoul be starred/unstarred. | |
| void | setStarred (bool nStarred) |
| Setter function for the starred property. Emits the starredChanged() signal if nStarred is not equal to the stored value. | |
| bool | starred () const |
| Getter function for the starred property. | |
| 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 | starredChanged (bool starred) |
| This is emitted if the value of the starred property changes. | |
| void | succeeded (const QList< QPair< qint64, QString > > &items, bool star) |
| This signal is emitted if the request to star/unstar items 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 if the list of articles/items is not empty. | |
| void | successCallback () override |
| Finishes the article/items starring/unstarring 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. | |
| virtual void | extractError (QNetworkReply *reply) |
| Extracts error data from the network reply. | |
| 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. | |
Star/unstar multiple items/articles in on request on the News App server.
To star multiple items/articles in one request, you have to set a list of feed ID and item guid hash combinations via setItemsToStar(), or add single combinations via addItem(). You need also to set a valid AbstractConfiguration derived class to Component::configurtion to provide the necessary authentication credentials and server settings. After setting the mandatory propeties, call execute() to perform the API request.
If a valid AbstractStorage object is set to the Component::storage property, AbstractStorage::itemsStarred() will be called in the successCallback() to update the local storage. If the request succeeded, the StarMultipleItems::succeeded() signal will be emitted, containing the the list of articles and the starred status. If something failed, the Component::failed() signal will be emitted and Component::error will contain a valid pointer to an Error object.
|
readwrite |
Set to true if the items/articles should be marked as starred, set to false to mark them as unstarred.
This property can not be changed while Component::inOperation() returns true.
| bool | starred() const |
| void | setStarred(bool nStarred) |
| void | starredChanged(bool starred) |
|
explicit |
Constructs a new StarMultipleItems object with default values and the given parent.
|
explicit |
Constructs a new StarMultipleItems object with the given arguments and parent.
|
override |
Destroys the StarMultipleItems object.
| void StarMultipleItems::addItem | ( | qint64 | feedId, |
| const QString & | guidHash ) |
Adds a new article to the list of articles to star/unstar.
Items can not be added while Component::inOperation() returns true.
| feedId | ID of the feed the article belongs to |
| guidHash | GUID hash of the article |
|
overrideprotectedvirtual |
Will check if the list of articles/items is not empty.
Will at first perform the checks of Component::checkInput(). Will than simply check if list of articles is not empty.
Reimplemented from Fuoten::Component.
|
overridevirtual |
Executes the API request.
To perform a successful API request to star/unstar a list of articles/items, you have to setItemsToStar() and there has to be an 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.
Returns the list of feed IDs and article GUID hashes that should be starred/unstarred.
Sets the list of feed IDs and article GUID hashes that shoul be starred/unstarred.
This can not be set while Component::inOperation() returns true.
| items | list containing a set of feed ID as first and article guid hash as second |
| void StarMultipleItems::setStarred | ( | bool | nStarred | ) |
Setter function for the starred property. Emits the starredChanged() signal if nStarred is not equal to the stored value.
| bool StarMultipleItems::starred | ( | ) | const |
Getter function for the starred property.
|
signal |
This is emitted if the value of the starred property changes.
|
signal |
This signal is emitted if the request to star/unstar items was successful.
| items | list of feed IDs and article/item GUID hashes that have been starred/unstarred |
| star | true if the articles/items have been starred, false if they have been unstarred |
|
overrideprotectedvirtual |
Finishes the article/items starring/unstarring if the request was successful.
If Component::storage contains a valid pointer, the AbstractStorage::itemsStarred() 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.