jerry_util.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef JERRY_UTIL_H__
  2. #define JERRY_UTIL_H__
  3. #include <jerryscript-ext/handler.h>
  4. #define DECLARE_HANDLER(NAME) \
  5. static jerry_value_t \
  6. NAME ## _handler (const jerry_value_t func_value, \
  7. const jerry_value_t this_value, \
  8. const jerry_value_t args[], \
  9. const jerry_length_t args_cnt )
  10. #define REGISTER_HANDLER(NAME) \
  11. jerryx_handler_register_global ( (jerry_char_t *)# NAME, NAME ## _handler)
  12. #define REGISTER_HANDLER_ALIAS(NAME, HANDLER) \
  13. jerryx_handler_register_global ( (jerry_char_t *)# NAME, HANDLER)
  14. #define REGISTER_METHOD(OBJ, NAME) \
  15. js_add_function (OBJ, # NAME, NAME ## _handler)
  16. #define REGISTER_METHOD_ALIAS(OBJ, NAME, HANDLER) \
  17. js_add_function (OBJ, # NAME, HANDLER)
  18. #ifdef RT_USING_FINSH
  19. #include <finsh.h>
  20. #define JS_MODULE(NAME, MODULE_INIT) \
  21. FINSH_FUNCTION_EXPORT_CMD(MODULE_INIT, __jsm_ ##NAME, RT_NULL)
  22. #else
  23. #define JS_MODULE(NAME, MODULE_INIT)
  24. #endif
  25. #ifdef __cplusplus
  26. extern "C"
  27. {
  28. #endif
  29. void js_set_property(const jerry_value_t obj, const char *name,
  30. const jerry_value_t prop);
  31. void js_set_string_property(const jerry_value_t obj, const char *name,
  32. char* value);
  33. jerry_value_t js_get_property(const jerry_value_t obj, const char *name);
  34. void js_add_function(const jerry_value_t obj, const char *name,
  35. jerry_external_handler_t func);
  36. jerry_value_t js_call_func_obj(const jerry_value_t func_obj_val, const jerry_value_t this_val,
  37. const jerry_value_t args_p[], jerry_size_t args_count);
  38. jerry_value_t js_call_function(const jerry_value_t obj, const char *name,
  39. const jerry_value_t args[], jerry_size_t args_cnt);
  40. char *js_value_to_string(const jerry_value_t value);
  41. void js_value_dump(const jerry_value_t value);
  42. int js_read_file(const char* filename, char **script);
  43. int js_util_init(void);
  44. int js_util_cleanup(void);
  45. #ifdef __cplusplus
  46. }
  47. #endif
  48. #endif