|
libfuoten 0.8.1
Qt based library to access the ownCloud/Nextcloud News App API
|
#include <Fuoten/API/CreateFeed>
Properties | |
| qint64 | folderId |
| QUrl | url |
| 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 | |
| CreateFeed (QObject *parent=nullptr) | |
| ~CreateFeed () override | |
| Q_INVOKABLE void | execute () override |
| qint64 | folderId () const |
| void | setFolderId (qint64 nFolderId) |
| void | setUrl (const QUrl &nUrl) |
| QUrl | url () const |
| 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 | urlChanged (const QUrl &url) |
| 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 |
| bool | checkOutput () 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) |
| 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) |
Creates a new feed on the News App server.
To create a new feed, set the CreateFeed::url property to a valid URL string and set the Component::configuration to a valid object. To add the feed to a specific folder, set the CreateFeed::folderId property. Optionally set the Component::storage property to save the newly created feed in a local storage. 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::feedCreated() will be called in the successCallback() to save the new feed in the local storage. If the request succeeded, the Component::succeeded() signal will be emitted, containing the JSON API reply. If something failed, the Component::failed() signal will be emitted and Component::error will contain a valid pointer to an Error object.
|
readwrite |
ID of the parent folder.
This property can not be changed while Component::inOperation() returns true.
| qint64 | folderId() const |
| void | setFolderId(qint64 nFolderId) |
| void | folderIdChanged(qint64 folderId) |
|
readwrite |
URL of the feed to add.
This property can not be changed while Component::inOperation() returns true.
| QString | url() const |
| void | setUrl(const QString &nUrl) |
| void | urlChanged(const QString &url) |
|
explicit |
Constructs an API request object with the given parent to create a feed on the remote server.
|
override |
Destroys the CreateFeed object.
|
overrideprotectedvirtual |
Checks for a valid folder ID.
This will at first perform the checks of Component::checkInput() and will than simply check if the folder id is greater than zero.
Reimplemented from Component.
|
overrideprotectedvirtual |
Checks if the returned JSON data contain a non-empty feed array.
Will at first perform the checks of Component::checkOutput().
Reimplemented from Component.
|
overridevirtual |
Executes the API request.
To perform a successful API request to create a feed, CreateFeed::url has to be a valid URL 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 parent folder of the new feed.
|
signal |
This is emitted if the ID of the parent folder for the new feed changes.
| void setFolderId | ( | qint64 | nFolderId | ) |
Sets the ID of the parent folder of the new feed.
| void setUrl | ( | const QUrl & | nUrl | ) |
Sets the URL for the new feed.
|
overrideprotectedvirtual |
Finishes the folder deletion if the request was successful.
Implements Component.
| QUrl url | ( | ) | const |
Returns the URL of the feed to add.
|
signal |
This is emitted if the URL for the new feed changes.