X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fpackage%2FInstall.hxx;h=4e198eba01d53eef35743b05fe807b5a0054f94f;hb=a3f1bb546fec72b07f11f69934e6894696fea57a;hp=e65789c4b33e0375a794b8fda399330e92505cbe;hpb=0b60643053343a8573097287cae89c2e99393105;p=simgear.git diff --git a/simgear/package/Install.hxx b/simgear/package/Install.hxx index e65789c4..4e198eba 100644 --- a/simgear/package/Install.hxx +++ b/simgear/package/Install.hxx @@ -21,11 +21,13 @@ #include #include +#include #include #include #include #include +#include #include @@ -73,9 +75,36 @@ public: bool hasUpdate() const; void startUpdate(); - - void uninstall(); + bool uninstall(); + + bool isDownloading() const; + + bool isQueued() const; + + int downloadedPercent() const; + + size_t downloadedBytes() const; + + /** + * full path to the primary -set.xml file for this install + */ + SGPath primarySetPath() const; + + /** + * if a download is in progress, cancel it. If this is the first install + * of the package (as opposed to an update), the install will be cleaned + * up once the last reference is gone. + */ + void cancelDownload(); + + /** + * return the thumbnails associated with this install, but as locations + * on the file system, not URLs. It is assumed the order of thumbnails + * is consistent with the URLs returned from Package::thumbnailUrls() + */ + PathList thumbnailPaths() const; + /** * Set the handler to be called when the installation successfully * completes. @@ -145,16 +174,16 @@ private: void parseRevision(); void writeRevisionFile(); - void installResult(Delegate::FailureCode aReason); + void installResult(Delegate::StatusCode aReason); void installProgress(unsigned int aBytes, unsigned int aTotal); PackageRef m_package; unsigned int m_revision; ///< revision on disk SGPath m_path; ///< installation point on disk - PackageArchiveDownloader* m_download; + HTTP::Request_ptr m_download; - Delegate::FailureCode _status; + Delegate::StatusCode m_status; function_list _cb_done, _cb_fail,