ONLINE_Update ¶
<task pointer> = ONLINE_Update( "<zip-url>", "<zip-size>", "<tmp-filename>", "<callback-download>", "<callback-unzip>", "<callback-finish>" ) function <callback-download>(<task-pointer>, <progress>, <download-size>) -- <task-pointer> 呼び出した ONLINE_Update タスクのポインタ -- <progress> <zip-size>から計算されたダウンロードの進捗比。0.0~1.0 までの値 -- <download-size> ダウンロードされたデータのサイズ end function <callback-unzip>(<task-pointer>, <finished-files>, <total-files>) -- <task-pointer> 呼び出した ONLINE_Update タスクのポインタ -- <finished-files> 展開が終了した.zip中エントリの数 -- <total-files> 現在展開中の .zip に含まれるエントリの総数 end function <callback-finish>(<task-pointer>) -- <task-pointer> 呼び出した ONLINE_Update タスクのポインタ end
引数 ¶
- <zip-url> .zip ファイルを取得するURL(例: " http://servername.net/path/update.zip")
- <zip-size> あらかじめ判明している .zip ファイルのサイズ。巨大なファイルサイズのときに誤差が出ないよう文字列で与える(例: "456782")
- <tmp-filename> .zip をダウンロードするテンポラリファイル名。明示的に " file://external/" 以下であることが指定されたパス名でなければならない。(例:"file://external/update.zip")。また、ダウンロード時に対応するパスが生成されているとは限らないため、事実上 file://external/ 直下でなければならない。
- <callback-download> ダウンロード中の進捗を通知するコールバック関数名
- <callback-unzip> .zip 展開中の進捗を通知するコールバック関数名
- <callback-finish> 処理終了を通知するコールバック関数名
戻り値 ¶
- <task pointer> 生成された ONLINE_Update タスクのポインタ
解説 ¶
URLで指定された .zip ファイルをダウンロードし、終了後 file://external/ 相当のパス以下に展開する。 その際、.zip ファイル中にディレクトリではなくファイルとしてサイズが0のものについては、当該パスに一致するファイルを削除する動作をする。
ダウンロード、zip展開それぞれのフェーズにおける進捗はコールバックで取得することができる。 また、ダウンロードや個々のzipエントリ展開は別スレッドで行われるため、フレーム処理をブロックしない。
zip展開フェーズが終了すると終了通知コールバックを呼び出し、そのフレームを最後に自動破棄される。
コマンド ¶
(コマンドなし)