1
- /* Copyright 2015 Samsung Electronics Co., Ltd.
1
+ /* Copyright 2015-2016 Samsung Electronics Co., Ltd.
2
+ * Copyright 2016 University of Szeged.
2
3
*
3
4
* Licensed under the Apache License, Version 2.0 (the "License");
4
5
* you may not use this file except in compliance with the License.
22
23
#include <sys/types.h>
23
24
24
25
#ifdef __cplusplus
25
- # define EXTERN_C "C"
26
- #else /* !__cplusplus */
27
- # define EXTERN_C
26
+ extern "C" {
28
27
#endif /* !__cplusplus */
29
28
30
29
/** \addtogroup jerry Jerry engine interface
@@ -147,25 +146,25 @@ typedef bool (*jerry_object_field_foreach_t) (const jerry_api_string_t *field_na
147
146
/**
148
147
* Returns whether the given jerry_api_value_t is void.
149
148
*/
150
- extern EXTERN_C bool
149
+ bool
151
150
jerry_api_value_is_void (const jerry_api_value_t * value_p );
152
151
153
152
/**
154
153
* Returns whether the given jerry_api_value_t is null.
155
154
*/
156
- extern EXTERN_C bool
155
+ bool
157
156
jerry_api_value_is_null (const jerry_api_value_t * value_p );
158
157
159
158
/**
160
159
* Returns whether the given jerry_api_value_t is undefined.
161
160
*/
162
- extern EXTERN_C bool
161
+ bool
163
162
jerry_api_value_is_undefined (const jerry_api_value_t * value_p );
164
163
165
164
/**
166
165
* Returns whether the given jerry_api_value_t has boolean type.
167
166
*/
168
- extern EXTERN_C bool
167
+ bool
169
168
jerry_api_value_is_boolean (const jerry_api_value_t * value_p );
170
169
171
170
/**
@@ -174,19 +173,19 @@ jerry_api_value_is_boolean (const jerry_api_value_t *value_p);
174
173
* More specifically, returns true if the type is JERRY_API_DATA_TYPE_FLOAT32,
175
174
* JERRY_API_DATA_TYPE_FLOAT64 or JERRY_API_DATA_TYPE_UINT32, false otherwise.
176
175
*/
177
- extern EXTERN_C bool
176
+ bool
178
177
jerry_api_value_is_number (const jerry_api_value_t * value_p );
179
178
180
179
/**
181
180
* Returns whether the given jerry_api_value_t is string.
182
181
*/
183
- extern EXTERN_C bool
182
+ bool
184
183
jerry_api_value_is_string (const jerry_api_value_t * value_p );
185
184
186
185
/**
187
186
* Returns whether the given jerry_api_value_t is object.
188
187
*/
189
- extern EXTERN_C bool
188
+ bool
190
189
jerry_api_value_is_object (const jerry_api_value_t * value_p );
191
190
192
191
/**
@@ -197,15 +196,15 @@ jerry_api_value_is_object (const jerry_api_value_t *value_p);
197
196
* jerry_api_is_function() functiron return true for its v_object member,
198
197
* otherwise false.
199
198
*/
200
- extern EXTERN_C bool
199
+ bool
201
200
jerry_api_value_is_function (const jerry_api_value_t * value_p );
202
201
203
202
/**
204
203
* Returns the boolean v_bool member of the given jerry_api_value_t structure.
205
204
* If the given jerry_api_value_t structure has type other than
206
205
* JERRY_API_DATA_TYPE_BOOLEAN, JERRY_ASSERT fails.
207
206
*/
208
- extern EXTERN_C bool
207
+ bool
209
208
jerry_api_get_boolean_value (const jerry_api_value_t * value_p );
210
209
211
210
/**
@@ -219,171 +218,129 @@ jerry_api_get_boolean_value (const jerry_api_value_t *value_p);
219
218
* JERRY_API_DATA_TYPE_FLOAT64 the function returns the v_float64 member.
220
219
* As long as the type is none of the above, JERRY_ASSERT falis.
221
220
*/
222
- extern EXTERN_C double
221
+ double
223
222
jerry_api_get_number_value (const jerry_api_value_t * value_p );
224
223
225
224
/**
226
225
* Returns the v_string member of the given jerry_api_value_t structure.
227
226
* If the given jerry_api_value_t structure has type other than
228
227
* JERRY_API_DATA_TYPE_STRING, JERRY_ASSERT fails.
229
228
*/
230
- extern EXTERN_C jerry_api_string_t *
229
+ jerry_api_string_t *
231
230
jerry_api_get_string_value (const jerry_api_value_t * value_p );
232
231
233
232
/**
234
233
* Returns the v_object member of the given jerry_api_value_t structure.
235
234
* If the given jerry_api_value_t structure has type other than
236
235
* JERRY_API_DATA_TYPE_OBJECT, JERRY_ASSERT fails.
237
236
*/
238
- extern EXTERN_C jerry_api_object_t *
237
+ jerry_api_object_t *
239
238
jerry_api_get_object_value (const jerry_api_value_t * value_p );
240
239
241
240
/**
242
241
* Creates and returns a jerry_api_value_t with type
243
242
* JERRY_API_DATA_TYPE_VOID.
244
243
*/
245
- extern EXTERN_C jerry_api_value_t
244
+ jerry_api_value_t
246
245
jerry_api_create_void_value (void );
247
246
248
247
/**
249
248
* Creates and returns a jerry_api_value_t with type
250
249
* JERRY_API_DATA_TYPE_NULL.
251
250
*/
252
- extern EXTERN_C jerry_api_value_t
251
+ jerry_api_value_t
253
252
jerry_api_create_null_value (void );
254
253
255
254
/**
256
255
* Creates and returns a jerry_api_value_t with type
257
256
* JERRY_API_DATA_TYPE_UNDEFINED.
258
257
*/
259
- extern EXTERN_C jerry_api_value_t
258
+ jerry_api_value_t
260
259
jerry_api_create_undefined_value (void );
261
260
262
261
/**
263
262
* Creates a JERRY_API_DATA_TYPE_BOOLEAN jerry_api_value_t from the given
264
263
* boolean parameter and returns with it.
265
264
*/
266
- extern EXTERN_C jerry_api_value_t
265
+ jerry_api_value_t
267
266
jerry_api_create_boolean_value (bool value );
268
267
269
268
/**
270
269
* Creates a jerry_api_value_t from the given double parameter and returns
271
270
* with it.
272
271
* The v_float64 member will be set and the will be JERRY_API_DATA_TYPE_FLOAT64.
273
272
*/
274
- extern EXTERN_C jerry_api_value_t
273
+ jerry_api_value_t
275
274
jerry_api_create_number_value (double value );
276
275
277
276
/**
278
277
* Creates a JERRY_API_DATA_TYPE_OBJECT type jerry_api_value_t from the
279
278
* given jerry_api_object_t *parameter and returns with it.
280
279
*/
281
- extern EXTERN_C jerry_api_value_t
280
+ jerry_api_value_t
282
281
jerry_api_create_object_value (jerry_api_object_t * value );
283
282
284
283
/**
285
284
* Creates a JERRY_API_DATA_TYPE_STRING type jerry_api_value_t from the
286
285
* given jerry_api_string_t *parameter and returns with it.
287
286
*/
288
- extern EXTERN_C jerry_api_value_t
289
- jerry_api_create_string_value (jerry_api_string_t * value );
287
+ jerry_api_value_t jerry_api_create_string_value (jerry_api_string_t * value );
290
288
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
289
+ ssize_t jerry_api_string_to_char_buffer (const jerry_api_string_t * , jerry_api_char_t * , ssize_t );
294
290
jerry_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
299
291
jerry_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 * );
302
292
303
- extern EXTERN_C
293
+ void jerry_api_release_object (jerry_api_object_t * );
294
+ void jerry_api_release_string (jerry_api_string_t * );
304
295
void jerry_api_release_value (jerry_api_value_t * );
305
296
306
- extern EXTERN_C
297
+ jerry_api_object_t * jerry_api_create_array_object (jerry_api_size_t );
298
+ jerry_api_object_t * jerry_api_create_object (void );
307
299
jerry_api_string_t * jerry_api_create_string (const jerry_api_char_t * );
308
- extern EXTERN_C
309
300
jerry_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 );
312
301
313
- extern EXTERN_C
314
- jerry_api_object_t * jerry_api_create_array_object (jerry_api_size_t );
315
- extern EXTERN_C
316
302
bool jerry_api_set_array_index_value (jerry_api_object_t * , jerry_api_length_t , jerry_api_value_t * );
317
- extern EXTERN_C
318
303
bool jerry_api_get_array_index_value (jerry_api_object_t * , jerry_api_length_t , jerry_api_value_t * );
319
304
320
- extern EXTERN_C
321
305
jerry_api_object_t * jerry_api_create_error (jerry_api_error_t , const jerry_api_char_t * );
322
- extern EXTERN_C
323
306
jerry_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
325
307
jerry_api_object_t * jerry_api_create_external_function (jerry_external_handler_t );
326
308
327
- extern EXTERN_C
328
- bool jerry_api_is_function (const jerry_api_object_t * );
329
- extern EXTERN_C
330
309
bool jerry_api_is_constructor (const jerry_api_object_t * );
310
+ bool jerry_api_is_function (const jerry_api_object_t * );
331
311
332
- extern EXTERN_C
333
312
bool jerry_api_add_object_field (jerry_api_object_t * , const jerry_api_char_t * , jerry_api_size_t ,
334
313
const jerry_api_value_t * , bool );
335
- extern EXTERN_C
336
314
bool 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 * );
339
315
340
- extern EXTERN_C
316
+ bool jerry_api_get_object_field_value ( jerry_api_object_t * , const jerry_api_char_t * , jerry_api_value_t * );
341
317
bool jerry_api_get_object_field_value_sz (jerry_api_object_t * , const jerry_api_char_t * , jerry_api_size_t ,
342
318
jerry_api_value_t * );
343
319
344
- extern EXTERN_C
345
320
bool 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
348
321
bool jerry_api_set_object_field_value_sz (jerry_api_object_t * , const jerry_api_char_t * , jerry_api_size_t ,
349
322
const jerry_api_value_t * );
350
323
351
- extern EXTERN_C
352
324
bool jerry_api_foreach_object_field (jerry_api_object_t * , jerry_object_field_foreach_t , void * );
353
-
354
- extern EXTERN_C
355
325
bool jerry_api_get_object_native_handle (jerry_api_object_t * , uintptr_t * );
356
-
357
- extern EXTERN_C
358
326
void jerry_api_set_object_native_handle (jerry_api_object_t * , uintptr_t , jerry_object_free_callback_t );
359
-
360
- extern EXTERN_C
361
327
bool jerry_api_call_function (jerry_api_object_t * , jerry_api_object_t * , jerry_api_value_t * ,
362
328
const jerry_api_value_t [], uint16_t );
363
-
364
- extern EXTERN_C
365
329
bool jerry_api_construct_object (jerry_api_object_t * , jerry_api_value_t * , const jerry_api_value_t [], uint16_t );
366
-
367
- extern EXTERN_C
368
330
jerry_completion_code_t jerry_api_eval (const jerry_api_char_t * , size_t , bool , bool , jerry_api_value_t * );
369
-
370
- extern EXTERN_C
371
331
jerry_api_object_t * jerry_api_get_global (void );
372
332
373
- extern EXTERN_C
374
333
void jerry_api_gc (void );
375
-
376
- extern EXTERN_C
377
334
void jerry_register_external_magic_strings (const jerry_api_char_ptr_t * , uint32_t , const jerry_api_length_t * );
378
335
379
- extern EXTERN_C
380
336
size_t jerry_parse_and_save_snapshot (const jerry_api_char_t * , size_t , bool , uint8_t * , size_t );
381
-
382
- extern EXTERN_C
383
337
jerry_completion_code_t jerry_exec_snapshot (const void * , size_t , bool , jerry_api_value_t * );
384
338
385
339
/**
386
340
* @}
387
341
*/
388
342
343
+ #ifdef __cplusplus
344
+ }
345
+ #endif /* !__cplusplus */
389
346
#endif /* !JERRY_API_H */
0 commit comments