サンプルのXREバージョンを

作り始めてみた。
一応、Gecko 1.9beta記念&Bagelの中の人に触発されて。


とりあえず、こんな感じかな?
C72のサンプルをbaseに、profileを保存するやつを作ってみました。
XUL Runner 1.9b2があるディレクトリにnomina.exeをおけば実行できるはず。
profileはnomina.exeがあるディレクトリの下のnominaprofileに保存されるはず。
旧サンプルの何かやってるときには終了しないというバグが
いつのまにか直ってるのは多分気のせい気のせい。


結局、このversionでのprofileの実装方法は、

  • 以下のものを返すDirectoryServiceProvider(mmDirServiceProvider)を実装
    • XRE_USER_APP_DATA_DIR
    • NS_APP_USER_PROFILE_50_DIR
    • NS_APP_USER_PROFILE_LOCAL_50_DIR
    • NS_APP_PROFILE_DIR_STARTUP
    • NS_APP_PROFILE_LOCAL_DIR_STARTUP
  • XRE_InitEmbeddingの第3引数に作ったDirectoryServiceProviderを渡す
  • XRE_NotifyProfile

注意点は、

  • XRE_hogedynamic linkなのでGetProcAddressとかでとってくる必要がある
  • xul.libのlinkは不要?


一応、現時点での問題点は、

  • XULのダイアログが値を返さない(about:configの数字入力など)
  • XRE_LockProfileDirectoryの使い方がわからん
  • DirectoryServiceProviderが返すべきものってどれ?(Fx用は多杉なの?)