1- /* Copyright 2015 Samsung Electronics Co., Ltd.
1+ /* Copyright 2015-2016 Samsung Electronics Co., Ltd.
2+ * Copyright 2016 University of Szeged.
23 *
34 * Licensed under the Apache License, Version 2.0 (the "License");
45 * you may not use this file except in compliance with the License.
2223#include <sys/types.h>
2324
2425#ifdef __cplusplus
25- # define EXTERN_C "C"
26- #else /* !__cplusplus */
27- # define EXTERN_C
26+ extern "C"
27+ {
2828#endif /* !__cplusplus */
2929
3030/** \addtogroup jerry Jerry engine interface
@@ -147,47 +147,40 @@ typedef bool (*jerry_object_field_foreach_t) (const jerry_api_string_t *field_na
147147/**
148148 * Returns whether the given jerry_api_value_t is void.
149149 */
150- extern EXTERN_C bool
151- jerry_api_value_is_void (const jerry_api_value_t * value_p );
150+ bool jerry_api_value_is_void (const jerry_api_value_t * value_p );
152151
153152/**
154153 * Returns whether the given jerry_api_value_t is null.
155154 */
156- extern EXTERN_C bool
157- jerry_api_value_is_null (const jerry_api_value_t * value_p );
155+ bool jerry_api_value_is_null (const jerry_api_value_t * value_p );
158156
159157/**
160158 * Returns whether the given jerry_api_value_t is undefined.
161159 */
162- extern EXTERN_C bool
163- jerry_api_value_is_undefined (const jerry_api_value_t * value_p );
160+ bool jerry_api_value_is_undefined (const jerry_api_value_t * value_p );
164161
165162/**
166163 * Returns whether the given jerry_api_value_t has boolean type.
167164 */
168- extern EXTERN_C bool
169- jerry_api_value_is_boolean (const jerry_api_value_t * value_p );
165+ bool jerry_api_value_is_boolean (const jerry_api_value_t * value_p );
170166
171167/**
172168 * Returns whether the given jerry_api_value_t is number.
173169 *
174170 * More specifically, returns true if the type is JERRY_API_DATA_TYPE_FLOAT32,
175171 * JERRY_API_DATA_TYPE_FLOAT64 or JERRY_API_DATA_TYPE_UINT32, false otherwise.
176172 */
177- extern EXTERN_C bool
178- jerry_api_value_is_number (const jerry_api_value_t * value_p );
173+ bool jerry_api_value_is_number (const jerry_api_value_t * value_p );
179174
180175/**
181176 * Returns whether the given jerry_api_value_t is string.
182177 */
183- extern EXTERN_C bool
184- jerry_api_value_is_string (const jerry_api_value_t * value_p );
178+ bool jerry_api_value_is_string (const jerry_api_value_t * value_p );
185179
186180/**
187181 * Returns whether the given jerry_api_value_t is object.
188182 */
189- extern EXTERN_C bool
190- jerry_api_value_is_object (const jerry_api_value_t * value_p );
183+ bool jerry_api_value_is_object (const jerry_api_value_t * value_p );
191184
192185/**
193186 * Returns whether the given jerry_api_value_t is a function object.
@@ -197,16 +190,14 @@ jerry_api_value_is_object (const jerry_api_value_t *value_p);
197190 * jerry_api_is_function() functiron return true for its v_object member,
198191 * otherwise false.
199192 */
200- extern EXTERN_C bool
201- jerry_api_value_is_function (const jerry_api_value_t * value_p );
193+ bool jerry_api_value_is_function (const jerry_api_value_t * value_p );
202194
203195/**
204196 * Returns the boolean v_bool member of the given jerry_api_value_t structure.
205197 * If the given jerry_api_value_t structure has type other than
206198 * JERRY_API_DATA_TYPE_BOOLEAN, JERRY_ASSERT fails.
207199 */
208- extern EXTERN_C bool
209- jerry_api_get_boolean_value (const jerry_api_value_t * value_p );
200+ bool jerry_api_get_boolean_value (const jerry_api_value_t * value_p );
210201
211202/**
212203 * Returns the number value of the given jerry_api_value_t structure
@@ -219,171 +210,120 @@ jerry_api_get_boolean_value (const jerry_api_value_t *value_p);
219210 * JERRY_API_DATA_TYPE_FLOAT64 the function returns the v_float64 member.
220211 * As long as the type is none of the above, JERRY_ASSERT falis.
221212 */
222- extern EXTERN_C double
223- jerry_api_get_number_value (const jerry_api_value_t * value_p );
213+ double jerry_api_get_number_value (const jerry_api_value_t * value_p );
224214
225215/**
226216 * Returns the v_string member of the given jerry_api_value_t structure.
227217 * If the given jerry_api_value_t structure has type other than
228218 * JERRY_API_DATA_TYPE_STRING, JERRY_ASSERT fails.
229219 */
230- extern EXTERN_C jerry_api_string_t *
231- jerry_api_get_string_value (const jerry_api_value_t * value_p );
220+ jerry_api_string_t * jerry_api_get_string_value (const jerry_api_value_t * value_p );
232221
233222/**
234223 * Returns the v_object member of the given jerry_api_value_t structure.
235224 * If the given jerry_api_value_t structure has type other than
236225 * JERRY_API_DATA_TYPE_OBJECT, JERRY_ASSERT fails.
237226 */
238- extern EXTERN_C jerry_api_object_t *
239- jerry_api_get_object_value (const jerry_api_value_t * value_p );
227+ jerry_api_object_t * jerry_api_get_object_value (const jerry_api_value_t * value_p );
240228
241229/**
242230 * Creates and returns a jerry_api_value_t with type
243231 * JERRY_API_DATA_TYPE_VOID.
244232 */
245- extern EXTERN_C jerry_api_value_t
246- jerry_api_create_void_value (void );
233+ jerry_api_value_t jerry_api_create_void_value (void );
247234
248235/**
249236 * Creates and returns a jerry_api_value_t with type
250237 * JERRY_API_DATA_TYPE_NULL.
251238 */
252- extern EXTERN_C jerry_api_value_t
253- jerry_api_create_null_value (void );
239+ jerry_api_value_t jerry_api_create_null_value (void );
254240
255241/**
256242 * Creates and returns a jerry_api_value_t with type
257243 * JERRY_API_DATA_TYPE_UNDEFINED.
258244 */
259- extern EXTERN_C jerry_api_value_t
260- jerry_api_create_undefined_value (void );
245+ jerry_api_value_t jerry_api_create_undefined_value (void );
261246
262247/**
263248 * Creates a JERRY_API_DATA_TYPE_BOOLEAN jerry_api_value_t from the given
264249 * boolean parameter and returns with it.
265250 */
266- extern EXTERN_C jerry_api_value_t
267- jerry_api_create_boolean_value (bool value );
251+ jerry_api_value_t jerry_api_create_boolean_value (bool value );
268252
269253/**
270254 * Creates a jerry_api_value_t from the given double parameter and returns
271255 * with it.
272256 * The v_float64 member will be set and the will be JERRY_API_DATA_TYPE_FLOAT64.
273257 */
274- extern EXTERN_C jerry_api_value_t
275- jerry_api_create_number_value (double value );
258+ jerry_api_value_t jerry_api_create_number_value (double value );
276259
277260/**
278261 * Creates a JERRY_API_DATA_TYPE_OBJECT type jerry_api_value_t from the
279262 * given jerry_api_object_t *parameter and returns with it.
280263 */
281- extern EXTERN_C jerry_api_value_t
282- jerry_api_create_object_value (jerry_api_object_t * value );
264+ jerry_api_value_t jerry_api_create_object_value (jerry_api_object_t * value );
283265
284266/**
285267 * Creates a JERRY_API_DATA_TYPE_STRING type jerry_api_value_t from the
286268 * given jerry_api_string_t *parameter and returns with it.
287269 */
288- extern EXTERN_C jerry_api_value_t
289- jerry_api_create_string_value (jerry_api_string_t * value );
270+ jerry_api_value_t jerry_api_create_string_value (jerry_api_string_t * value );
290271
291- extern EXTERN_C ssize_t
292- jerry_api_string_to_char_buffer (const jerry_api_string_t * , jerry_api_char_t * , ssize_t );
293- extern EXTERN_C
272+ ssize_t jerry_api_string_to_char_buffer (const jerry_api_string_t * , jerry_api_char_t * , ssize_t );
294273jerry_api_string_t * jerry_api_acquire_string (jerry_api_string_t * );
295- extern EXTERN_C
296- void jerry_api_release_string (jerry_api_string_t * );
297-
298- extern EXTERN_C
299274jerry_api_object_t * jerry_api_acquire_object (jerry_api_object_t * );
300- extern EXTERN_C
301- void jerry_api_release_object (jerry_api_object_t * );
302275
303- extern EXTERN_C
276+ void jerry_api_release_object (jerry_api_object_t * );
277+ void jerry_api_release_string (jerry_api_string_t * );
304278void jerry_api_release_value (jerry_api_value_t * );
305279
306- extern EXTERN_C
280+ jerry_api_object_t * jerry_api_create_array_object (jerry_api_size_t );
281+ jerry_api_object_t * jerry_api_create_object (void );
307282jerry_api_string_t * jerry_api_create_string (const jerry_api_char_t * );
308- extern EXTERN_C
309283jerry_api_string_t * jerry_api_create_string_sz (const jerry_api_char_t * , jerry_api_size_t );
310- extern EXTERN_C
311- jerry_api_object_t * jerry_api_create_object (void );
312284
313- extern EXTERN_C
314- jerry_api_object_t * jerry_api_create_array_object (jerry_api_size_t );
315- extern EXTERN_C
316285bool jerry_api_set_array_index_value (jerry_api_object_t * , jerry_api_length_t , jerry_api_value_t * );
317- extern EXTERN_C
318286bool jerry_api_get_array_index_value (jerry_api_object_t * , jerry_api_length_t , jerry_api_value_t * );
319287
320- extern EXTERN_C
321288jerry_api_object_t * jerry_api_create_error (jerry_api_error_t , const jerry_api_char_t * );
322- extern EXTERN_C
323289jerry_api_object_t * jerry_api_create_error_sz (jerry_api_error_t , const jerry_api_char_t * , jerry_api_size_t );
324- extern EXTERN_C
325290jerry_api_object_t * jerry_api_create_external_function (jerry_external_handler_t );
326291
327- extern EXTERN_C
328- bool jerry_api_is_function (const jerry_api_object_t * );
329- extern EXTERN_C
330292bool jerry_api_is_constructor (const jerry_api_object_t * );
293+ bool jerry_api_is_function (const jerry_api_object_t * );
331294
332- extern EXTERN_C
333295bool jerry_api_add_object_field (jerry_api_object_t * , const jerry_api_char_t * , jerry_api_size_t ,
334296 const jerry_api_value_t * , bool );
335- extern EXTERN_C
336297bool jerry_api_delete_object_field (jerry_api_object_t * , const jerry_api_char_t * , jerry_api_size_t );
337- extern EXTERN_C
338- bool jerry_api_get_object_field_value (jerry_api_object_t * , const jerry_api_char_t * , jerry_api_value_t * );
339298
340- extern EXTERN_C
299+ bool jerry_api_get_object_field_value ( jerry_api_object_t * , const jerry_api_char_t * , jerry_api_value_t * );
341300bool jerry_api_get_object_field_value_sz (jerry_api_object_t * , const jerry_api_char_t * , jerry_api_size_t ,
342301 jerry_api_value_t * );
343302
344- extern EXTERN_C
345303bool jerry_api_set_object_field_value (jerry_api_object_t * , const jerry_api_char_t * , const jerry_api_value_t * );
346-
347- extern EXTERN_C
348304bool jerry_api_set_object_field_value_sz (jerry_api_object_t * , const jerry_api_char_t * , jerry_api_size_t ,
349305 const jerry_api_value_t * );
350306
351- extern EXTERN_C
352307bool jerry_api_foreach_object_field (jerry_api_object_t * , jerry_object_field_foreach_t , void * );
353-
354- extern EXTERN_C
355308bool jerry_api_get_object_native_handle (jerry_api_object_t * , uintptr_t * );
356-
357- extern EXTERN_C
358309void jerry_api_set_object_native_handle (jerry_api_object_t * , uintptr_t , jerry_object_free_callback_t );
359-
360- extern EXTERN_C
361310bool jerry_api_call_function (jerry_api_object_t * , jerry_api_object_t * , jerry_api_value_t * ,
362311 const jerry_api_value_t [], uint16_t );
363-
364- extern EXTERN_C
365312bool jerry_api_construct_object (jerry_api_object_t * , jerry_api_value_t * , const jerry_api_value_t [], uint16_t );
366-
367- extern EXTERN_C
368313jerry_completion_code_t jerry_api_eval (const jerry_api_char_t * , size_t , bool , bool , jerry_api_value_t * );
369-
370- extern EXTERN_C
371314jerry_api_object_t * jerry_api_get_global (void );
372315
373- extern EXTERN_C
374316void jerry_api_gc (void );
375-
376- extern EXTERN_C
377317void jerry_register_external_magic_strings (const jerry_api_char_ptr_t * , uint32_t , const jerry_api_length_t * );
378318
379- extern EXTERN_C
380319size_t jerry_parse_and_save_snapshot (const jerry_api_char_t * , size_t , bool , uint8_t * , size_t );
381-
382- extern EXTERN_C
383320jerry_completion_code_t jerry_exec_snapshot (const void * , size_t , bool , jerry_api_value_t * );
384321
385322/**
386323 * @}
387324 */
388325
326+ #ifdef __cplusplus
327+ }
328+ #endif /* !__cplusplus */
389329#endif /* !JERRY_API_H */
0 commit comments