Loading...
Searching...
No Matches

Reads, caches and refreshes the documentation site's manifest. More...

Inheritance diagram for score::OnlineExamples:

Detailed Description

Reads, caches and refreshes the documentation site's manifest.

Public Member Functions

 OnlineExamples (QObject *parent=nullptr)
 
const std::vector< OnlineExample > & examples () const noexcept
 
void loadCache ()
 Synchronous, no network.
 
void refresh ()
 Emits updated() only if the manifest changed.
 
void install (const OnlineExample &ex, std::function< void(QString)> done, bool replace=false)
 
bool isDownloading (const OnlineExample &ex) const
 
void updated ()
 

Static Public Member Functions

static QString manifestUrl ()
 
static QString installRoot ()
 
static QString installFolder (const OnlineExample &ex)
 
static QString contentFolder (const QString &folder)
 folder, or the only folder in it: where the files of a zip example are
 
static QString localPath (const OnlineExample &ex)
 Empty until the example has been installed.
 
static bool changedOnline (const OnlineExample &ex)
 

Member Function Documentation

◆ changedOnline()

bool score::OnlineExamples::changedOnline ( const OnlineExample &  ex)
static

The example is installed, and the manifest describes another file than the one that was downloaded. Unknown, hence false, for copies downloaded without the record this compares to.

◆ install()

void score::OnlineExamples::install ( const OnlineExample &  ex,
std::function< void(QString)>  done,
bool  replace = false 
)

Calls done with the local path, or an empty string on failure. An installed example is downloaded again only when replace is set; the local copy is then replaced whole, files the new version does not have included, and only once the new version is completely written: on any failure the local copy stays as it was. A request for an example already being downloaded waits for that download.

◆ installFolder()

QString score::OnlineExamples::installFolder ( const OnlineExample &  ex)
static

Empty when the id is not a relative path of plain folder names, which could otherwise name the library's own folders.


The documentation for this class was generated from the following files: