NaCl tips; <embed>のパラメーターをpp::Instanceで取得
NaClインスタンスをホストしたHTMLの<embed>のパラメーター群をホストされたNaClインスタンスで得られる。設置する人がニーズに併せて設置に応じたコンフィグレーションを適用できるようにする簡単な方法としては良い選択肢の1つですね。
- 得られるのはNaClをホストした<embed>の:
- 属性の数 → uint32_t argc
- 属性の名前のリスト → const char* argn[]
- 属性の値のリスト → const char* argc[]
取得はpp::Instance::Initで行います。
source
.html
<embed id="nacl_target" type="application/x-nacl" src="Labyrinthian.nmf" />
.cxx
virtual bool Init(uint32_t argc, const char* argn[], const char* argv[]){ auto m = std::string("Labyrinthian::Init\n"); for(auto n = 0; n < argc; ++n){ m += "attribute#"; m += boost::lexical_cast<std::string>(n); m += "\n"; m += "name : "; m += argn[n]; m += "\n" "value: "; m += argv[n]; m += "\n" } PostMessage(m); }
result
[1336030072756:on_message] Labyrinthian::Init attribute#0 name : id value: nacl_target attribute#1 name : type value: application/x-nacl attribute#2 name : src value: Labyrinthian.nmf attribute#3 name : @dev value: wrp_nacl