как анализировать объект аргументов в c ++ v8

Я хочу иметь доступ в javascript к моей функции c ++ с движком google v8 и возвращать результат в соответствии с аргументами, указанными в моей функции javascript.

Моя функция javascript выглядит следующим образом:

var result = MyFc(
                 {
                  'stringData':'abc',
                  'numberData':123,
                  'arrData':[1,2,3],
                  'objData':{'a':true,'b':false,'c':true},
                  'callback':function(){}
                 }
);

Я использовал

global->Set(v8::String::New("myFc"), v8::FunctionTemplate::New(MyFc));

v8::Handle<v8::Value> MyFc(const v8::Arguments& args) {
  obj = args[0]->...
  if( obj->stringData != 'abc' ){
      //....
  }
  if( obj->numberData != 123 ){
      //....
  }
  if( obj->arrData[2] != 3 ){
      //....
  }
  if( obj->objData->b == false ){
      //....
  }
  if( obj->callback !='abc' ){
      //....
  }
}

Мой вопрос: как разобрать объект arguments в c ++ v8? Я хочу получить доступ ко всем ключевым значениям объекта в аргументах, значения могут быть числом, строкой, массивом, анонимной функцией или объектом.

7
задан Darm 3 December 2011 в 21:10
поделиться