Implementation of unimplemented Jerry API parts; adding Jerry API unit test based on test prepared by Ilyong.

This commit is contained in:
Ruben Ayrapetyan
2015-03-30 20:35:58 +03:00
parent cf5e158510
commit 33cfaa73b3
5 changed files with 430 additions and 147 deletions
+19 -12
View File
@@ -36,9 +36,8 @@
*/
typedef enum
{
JERRY_API_DATA_TYPE_EMPTY,
JERRY_API_DATA_TYPE_UNDEFINED,
JERRY_API_DATA_TYPE_NULL,
JERRY_API_DATA_TYPE_UNDEFINED, /**< undefined */
JERRY_API_DATA_TYPE_NULL, /**< null */
JERRY_API_DATA_TYPE_BOOLEAN, /**< bool */
JERRY_API_DATA_TYPE_FLOAT32, /**< 32-bit float */
JERRY_API_DATA_TYPE_FLOAT64, /**< 64-bit float */
@@ -60,7 +59,7 @@ typedef struct ecma_object_t jerry_api_object_t;
/**
* Description of an extension function's argument
*/
typedef struct
typedef struct jerry_api_value_t
{
jerry_api_data_type_t type; /**< argument data type */
@@ -73,8 +72,11 @@ typedef struct
uint32_t v_uint32; /**< number converted 32-bit unsigned integer */
jerry_api_string_t *v_string; /**< pointer to a JS string */
jerry_api_object_t *v_object; /**< pointer to a JS object */
union
{
jerry_api_string_t *v_string; /**< pointer to a JS string */
jerry_api_object_t *v_object; /**< pointer to a JS object */
};
};
} jerry_api_value_t;
@@ -93,14 +95,10 @@ extern EXTERN_C
void jerry_api_release_object (jerry_api_object_t *object_p);
extern EXTERN_C
bool jerry_api_call_function (jerry_api_object_t *function_object_p,
jerry_api_value_t *retval_p,
const jerry_api_value_t args_p [],
uint32_t args_count);
void jerry_api_release_value (jerry_api_value_t *value_p);
extern EXTERN_C
jerry_api_object_t* jerry_api_get_global (void);
jerry_api_string_t* jerry_api_create_string (const char *v);
extern EXTERN_C
jerry_api_object_t* jerry_api_create_object (void);
@@ -121,6 +119,15 @@ bool jerry_api_set_object_field_value (jerry_api_object_t *object_p,
const char *field_name_p,
const jerry_api_value_t *field_value_p);
extern EXTERN_C
bool jerry_api_call_function (jerry_api_object_t *function_object_p,
jerry_api_value_t *retval_p,
const jerry_api_value_t args_p [],
uint16_t args_count);
extern EXTERN_C
jerry_api_object_t* jerry_api_get_global (void);
/**
* @}
*/