Ejemplo n.º 1
0
/**
 * Post a message to JavaScript.
 * @param[in] format A printf format string.
 * @param[in] ... The printf arguments.
 */
int pp_post_message(const char* category, const char* format, ...) {
  va_list args;

  struct PP_Var dict_var = g_ppb_var_dictionary->Create();

  struct PP_Var cat_key = CStrToVar("category");
  struct PP_Var cat_value = CStrToVar(category);
  PP_Bool result = g_ppb_var_dictionary->Set(dict_var, cat_key, cat_value);
  g_ppb_var->Release(cat_key);
  g_ppb_var->Release(cat_value);

  if (!result) {
    g_ppb_var->Release(dict_var);
    return 1;
  }

  struct PP_Var msg_key = CStrToVar("msg");
  va_start(args, format);
  struct PP_Var msg_value = VprintfToVar(format, args);
  va_end(args);

  result = g_ppb_var_dictionary->Set(dict_var, msg_key, msg_value);
  g_ppb_var->Release(msg_key);
  g_ppb_var->Release(msg_value);

  if (!result) {
    g_ppb_var->Release(dict_var);
    return 2;
  }

  g_ppb_messaging->PostMessage(g_instance, dict_var);
  g_ppb_var->Release(dict_var);

  return 0;
}
Ejemplo n.º 2
0
void PostMessage(const char* format, ...)
{
    va_list args;
    va_start(args, format);
#ifdef __PNACL
    struct PP_Var var;
    var = VprintfToVar(format, args);
    g_ppb_messaging->PostMessage(g_instance, var);
    g_ppb_var->Release(var);
#else
    printf(format,args);
#endif
    va_end(args);
}