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