ぼけーっと考えた中で出てきた仕様メモ†
長期的な仕様メモです。
すぐに実現しそう、しないもの、いろいろ。
別ページのもの†
SSTP EXECUTEのコマンド指定ExtractArchiveでアーカイブを解凍できます。
Reference0:解凍元ファイル
Reference1:解凍先ディレクトリ
SSP側で自動的に指定したところまでフォルダを作成します。
ただし、SSPの管理下にあるディレクトリ(SSP.exeのあるところと、フォルダ設定で読み込んでいるフォルダ以下)以外には解凍できません。
※未実装です。
umeici案↓
応答は解凍を正常に開始できた時点で返します。
正常開始で200 or 204、Reference0/1に不備があり解凍出来ないときは400。
解凍が完了すると、Hwndヘッダのウィンドウに対してメッセージで通知されます。
通知メッセージの詳細はReference2で指定します。
Reference2: message,wparam,lparam
message,wparam,lparamはいずれもunsigned long値です。(イメージとしては\mタグと同じ)
Ref2は省略可能で、その場合通知はありません。
↑umeici案ここまで
Reference2がない場合同期(終了まで返らない)、ある場合非同期で。
- あ、確かにinstall.txtに記述される専用のtypeとpluginIDの指定(acceptか、あるいは新規項目)で、スマートに処理できちゃいそうな。(解凍先指定はdescript.txtに相対パス記述?)
そしてSAORIにとってSSTPは、自ゴーストへのコールバック等で身近な存在ゆえに「かもしれない」どころか「結構有りそう」と思ったり。
……さすがは偉い人二人、短時間で作られた仕様なのに細かいところまで配慮されてるよ。(ぼそっ) -- こいしかわ斡士
- いずれにしろ、純粋な解凍処理はこのまま実装予定で、別クチでNAR I/Fかなぁという計画です。EXECUTE ExtractArchiveは残します。 -- ぽな@ばぐとら
- SAORIからの利用もあるかもしれないと思ったので、ある程度融通の利きそうな案にしてみたのです。 -- umeici
- install.txtのtype文字列がplugin_extensionならイベントを投げる、とかのほうがスマートな気もしますが。 -- ぽな@ばぐとら
いっそPLUGIN/2.0は「ID:version」だけは元々レスポンスが特殊なわけだから、「ID:version」の必須ではないレスポンスヘッダ「AcceptArchiveType」と「ExtractDirectory」(但し指定する場合は両方が必要、片方だけとかは無効)とかを仕様追加して、処理系の受け付けられるアーカイブのtypeをプラグインの要求に応じて増やしてしまうという方向性はどうなんでしょうか?
利点:
- ゴーストに対するDuDでインストール可能
- それに伴いURLのDuDでダウンロード→インストールが可能
- プラグイン側は、インストール完了通知を受け取ったら、あとはそのフォルダを認識する(あるいは、自身の持つデータフォルダのリストを再構成する)だけで良い
欠点:
- 処理系にますます負担が掛かる-
下手したら、INSTALL/*.*仕様の処理部が全面書き換え-
「ID:version」のレスポンスが結構汚くなるかも-
まだ公式には何も作っていないコラージュプログラマーが、このような差し出がましい事を言っている
こいしかわ斡士
バルーンを「消さない」方法†
SSPでは、スクリプトの頭に\C(大文字C)を置くことで、前回喋った内容をそのまま保持しておくことができます。
仮仕様なのでまだきちんとドキュメント化してはいませんが。
\C\0きえてな~い。\w9\w9\1いや、\w5どこぞのカミソリの宣伝ちゃうんやから。\e
とこんな感じですね。
……で、きれいな仕様でないのでどうしたものかと頭を抱えているわけですが。