Jerry API for calling functions C -> Jerry, creating objects, reading / writing object's properties (currently, only interface declaration, without implementation).
This commit is contained in:
@@ -21,39 +21,16 @@
|
||||
#include <stdint.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
# define EXTERN_C "C"
|
||||
#else /* !__cplusplus */
|
||||
# define EXTERN_C
|
||||
#endif /* !__cplusplus */
|
||||
#include "jerry-api.h"
|
||||
|
||||
/** \addtogroup jerry Jerry engine interface
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** \addtogroup jerry Jerry engine extension interface
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* Jerry's extension-related data types
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
JERRY_EXTENSION_FIELD_TYPE_BOOLEAN, /**< bool */
|
||||
JERRY_EXTENSION_FIELD_TYPE_FLOAT32, /**< 32-bit float */
|
||||
JERRY_EXTENSION_FIELD_TYPE_FLOAT64, /**< 64-bit float */
|
||||
JERRY_EXTENSION_FIELD_TYPE_UINT32, /**< number converted to 32-bit unsigned integer*/
|
||||
JERRY_EXTENSION_FIELD_TYPE_STRING, /**< string */
|
||||
JERRY_EXTENSION_FIELD_TYPE_OBJECT /**< object */
|
||||
} jerry_extension_data_type_t;
|
||||
|
||||
/**
|
||||
* An interface for Jerry's string value
|
||||
*/
|
||||
typedef struct ecma_string_t jerry_string_t;
|
||||
|
||||
/**
|
||||
* An interface for Jerry's object value
|
||||
*/
|
||||
typedef struct ecma_object_t jerry_object_t;
|
||||
|
||||
/**
|
||||
* Description of an extension object's fields
|
||||
*/
|
||||
@@ -61,7 +38,7 @@ typedef struct
|
||||
{
|
||||
const char *field_name_p; /**< field name */
|
||||
|
||||
const jerry_extension_data_type_t type; /**< field data type */
|
||||
const jerry_api_data_type_t type; /**< field data type */
|
||||
|
||||
/**
|
||||
* Value description
|
||||
@@ -76,30 +53,6 @@ typedef struct
|
||||
};
|
||||
} jerry_extension_field_t;
|
||||
|
||||
/**
|
||||
* Description of an extension function's argument
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
const jerry_extension_data_type_t type; /**< argument data type */
|
||||
|
||||
union
|
||||
{
|
||||
bool v_bool; /**< boolean */
|
||||
|
||||
float v_float32; /**< 32-bit float */
|
||||
double v_float64; /**< 64-bit float */
|
||||
|
||||
uint32_t v_uint32; /**< number converted 32-bit unsigned integer */
|
||||
|
||||
union
|
||||
{
|
||||
jerry_string_t *v_string; /**< pointer to a JS string */
|
||||
jerry_object_t *v_object; /**< pointer to a JS object */
|
||||
};
|
||||
};
|
||||
} jerry_extension_function_arg_t;
|
||||
|
||||
/**
|
||||
* Pointer to extension function implementation
|
||||
*/
|
||||
@@ -114,7 +67,7 @@ typedef struct jerry_extension_function_t
|
||||
|
||||
jerry_extension_function_pointer_t function_wrapper_p; /**< pointer to function implementation */
|
||||
|
||||
jerry_extension_function_arg_t *args_p; /**< arrays of the function's arguments */
|
||||
jerry_api_value_t *args_p; /**< arrays of the function's arguments */
|
||||
uint32_t args_number; /**< number of arguments */
|
||||
} jerry_extension_function_t;
|
||||
|
||||
@@ -137,16 +90,8 @@ typedef struct jerry_extension_descriptor_t
|
||||
extern EXTERN_C bool
|
||||
jerry_extend_with (jerry_extension_descriptor_t *desc_p);
|
||||
|
||||
extern EXTERN_C ssize_t
|
||||
jerry_string_to_char_buffer (const jerry_string_t *string_p,
|
||||
char *buffer_p,
|
||||
ssize_t buffer_size);
|
||||
extern EXTERN_C jerry_string_t* jerry_acquire_string (jerry_string_t *string_p);
|
||||
extern EXTERN_C void jerry_release_string (jerry_string_t *string_p);
|
||||
extern EXTERN_C jerry_object_t* jerry_acquire_object (jerry_object_t *object_p);
|
||||
extern EXTERN_C void jerry_release_object (jerry_object_t *object_p);
|
||||
|
||||
/**
|
||||
* @}
|
||||
* @}
|
||||
*/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user