[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [syntax-highlighting] src/lib: API documentation for DefinitionDownloader
From:       Dominik Haumann <dhaumann () kde ! org>
Date:       2016-09-30 18:25:20
Message-ID: E1bq2Uq-0002yC-VH () code ! kde ! org
[Download RAW message or body]

Git commit a9e4c18a75074b17982c666522198096b7a1cc56 by Dominik Haumann.
Committed on 30/09/2016 at 18:25.
Pushed by dhaumann into branch 'master'.

API documentation for DefinitionDownloader

The header of this file is not installed right now, though.

M  +57   -0    src/lib/definitiondownloader.h

http://commits.kde.org/syntax-highlighting/a9e4c18a75074b17982c666522198096b7a1cc56

diff --git a/src/lib/definitiondownloader.h b/src/lib/definitiondownloader.h
index a7eea54..01bca2b 100644
--- a/src/lib/definitiondownloader.h
+++ b/src/lib/definitiondownloader.h
@@ -28,17 +28,74 @@ namespace SyntaxHighlighting {
 class DefinitionDownloaderPrivate;
 class Repository;
 
+/**
+ * Helper class to download definition file updates.
+ *
+ * With the DefinitionDownloader you can download new and update existing
+ * syntax highlighting definition files (xml files).
+ *
+ * An example that updates the highlighting Definition%s and prints the current
+ * update progress to the console may look as follows:
+ *
+ * @code
+ * auto downloader = new DefinitionDownloader(repo); // repo is a pointer to a Repository
+ *
+ * // print update progress to console
+ * QObject::connect(downloader, &DefinitionDownloader::informationMessage, [](const QString &msg) {
+ *     std::cout << qPrintable(msg) << std::endl;
+ * });
+ *
+ * // connect to signal done to delete the downloader later
+ * QObject::connect(downloader, &DefinitionDownloader::done,
+ *                  downloader, &DefinitionDownloader::deleteLater);
+ * downloader->start();
+ * @endcode
+ *
+ * @see Repository, Definition
+ */
 class KF5SYNTAXHIGHLIGHTING_EXPORT DefinitionDownloader : public QObject
 {
     Q_OBJECT
 public:
+    /**
+     * Constructor.
+     * The Repository @p repo is used as reference to compare the versions of
+     * the existing Definition%s with the ones that are available online.
+     *
+     * Optionally, @p parent is a pointer to the owner of this instance.
+     */
     explicit DefinitionDownloader(Repository *repo, QObject *parent = Q_NULLPTR);
+
+    /**
+     * Destructor.
+     */
     ~DefinitionDownloader();
 
+    /**
+     * Starts the update procedure.
+     * Once no more updates are available (i.e. either the local definition files
+     * are up-to-date, or all updates have been downloaded), the signal done()
+     * is emitted.
+     *
+     * During the update process, the signal informationMessage() can be used
+     * to display the current update progress to the user.
+     *
+     * @see done(), informationMessage()
+     */
     void start();
 
 Q_SIGNALS:
+    /**
+     * Prints the information about the current state of the definition files.
+     * If all files are up-to-date, this signal is emitted informing you that
+     * all highlighting files are up-to-date. If there are updates, this signal
+     * is emitted for each update being downloaded.
+     */
     void informationMessage(const QString &msg);
+
+    /**
+     * This signal is emitted when there are no pending downloads anymore.
+     */
     void done();
 
 private:
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic