Although our Developer site has extensive API coverage, some of the apis may be incomplete, and others are evolving. To get a more detailed API, we can use the following command to get more detailed information. For example, we use the “SingleDownload” API to get more information.

\

$qmlplugindump Ubuntu. DownloadManager 0.1Copy the code


\

\

The following information is displayed:

\

Import qtquick. tooling 1.1 // This file describes the plugin-supplied types contained in the library QML tooling purposes only. // // This file was auto-generated by: // ‘qmlplugindump Ubuntu.DownloadManager 0.1’ Module {Component {name: “Ubuntu: : DownloadManager: : DownloadError” prototype: “QObject” exports: [” Error “0.1] exportMetaObjectRevisions: [0] Property { name: “type”; type: “string”; isReadonly: true } Property { name: “message”; type: “string”; isReadonly: true } } Component { name: “Ubuntu::DownloadManager::SingleDownload” prototype: “QObject” exports: [” 0.1 “SingleDownload] exportMetaObjectRevisions: [0] Property {name:” autoStart “; type: “bool” } Property { name: “errorMessage”; type: “string”; isReadonly: true } Property { name: “isCompleted”; type: “bool”; isReadonly: true } Property { name: “downloadInProgress”; type: “bool”; isReadonly: true } Property { name: “allowMobileDownload”; type: “bool” } Property { name: “throttle”; type: “qulonglong” } Property { name: “progress”; type: “int”; isReadonly: true } Property { name: “downloading”; type: “bool”; isReadonly: true } Property { name: “downloadId”; type: “string”; isReadonly: true } Property { name: “headers”; type: “QVariantMap” } Signal { name: “canceled” Parameter { name: “success”; type: “bool” } } Signal { name: “finished” Parameter { name: “path”; type: “string” } } Signal { name: “paused” Parameter { name: “success”; type: “bool” } } Signal { name: “processing” Parameter { name: “path”; type: “string” } } Signal { name: “progressReceived” Parameter { name: “received”; type: “qulonglong” } Parameter { name: “total”; type: “qulonglong” } } Signal { name: “resumed” Parameter { name: “success”; type: “bool” } } Signal { name: “started” Parameter { name: “success”; type: “bool” } } Signal { name: “errorFound” Parameter { name: “error”; type: “DownloadError&” } } Signal { name: “errorChanged” } Method { name: “registerError” Parameter { name: “error”; type: “Error”; isPointer: true } } Method { name: “bindDownload” Parameter { name: “download”; type: “Download”; isPointer: true } } Method { name: “unbindDownload” Parameter { name: “download”; type: “Download”; isPointer: true } } Method { name: “onFinished” Parameter { name: “path”; type: “string” } } Method { name: “onProgress” Parameter { name: “received”; type: “qulonglong” } Parameter { name: “total”; type: “qulonglong” } } Method { name: “onPaused” Parameter { name: “wasPaused”; type: “bool” } } Method { name: “onResumed” Parameter { name: “wasResumed”; type: “bool” } } Method { name: “onStarted” Parameter { name: “wasStarted”; type: “bool” } } Method { name: “onCanceled” Parameter { name: “wasCanceled”; type: “bool” } } Method { name: “start” } Method { name: “pause” } Method { name: “resume” } Method { name: “cancel” } Method { name: “download” Parameter { name: “url”; type: “string” } } } Component { name: “Ubuntu::DownloadManager::UbuntuDownloadManager” prototype: “QObject” exports: [” 0.1 “DownloadManager] exportMetaObjectRevisions: [0] Property {name:” autoStart “; type: “bool” } Property { name: “cleanDownloads”; type: “bool” } Property { name: “errorMessage”; type: “string”; isReadonly: true } Property { name: “downloads”; type: “QVariantList”; isReadonly: true } Signal { name: “errorChanged” } Method { name: “download” Parameter { name: “url”; type: “string” } } } }\

\

We use the “Finished” signal to get the downloaded events and handle them separately!

\

Another example (Push Notification)

\

liuxg@liuxg:~$qmlplugindump Ubuntu.PushNotifications 0.1 import qtquick. tooling 1.1 // This file describes the plugin-supplied types contained in the library. // It is used for QML tooling purposes only. // // This file was Auto-generated by: // 'qmlplugindump Ubuntu.PushNotifications 0.1' Module {Component {name: "PushClient" prototype: "QObject" exports: [" PushClient 0.1 "] exportMetaObjectRevisions: [0] Property {name: "appId"; type: "string" } Property { name: "token"; type: "string"; isReadonly: true } Property { name: "notifications"; type: "QStringList"; isReadonly: true } Property { name: "status"; type: "string"; isReadonly: true } Property { name: "persistent"; type: "QStringList"; isReadonly: true } Property { name: "count"; type: "int" } Signal { name: "countChanged" Parameter { type: "int" } } Signal { name: "notificationsChanged" Parameter { type: "QStringList" } } Signal { name: "persistentChanged" Parameter { type: "QStringList" } } Signal { name: "appIdChanged" Parameter { type: "string" } } Signal { name: "error" Parameter { type: "string" } } Signal { name: "tokenChanged" Parameter { type: "string" } } Signal { name: "statusChanged" Parameter { type: "string" } } Method { name: "getNotifications" } Method { name: "notified" Parameter { name: "appId"; type: "string" } } Method { name: "emitError" } Method { name: "clearPersistent" Parameter { name: "tags"; type: "QStringList" } } } }Copy the code


\