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"
27
+ {
28
28
#endif /* !__cplusplus */
29
29
30
30
/** \addtogroup jerry Jerry engine interface
@@ -147,47 +147,40 @@ typedef bool (*jerry_object_field_foreach_t) (const jerry_api_string_t *field_na
147
147
/**
148
148
* Returns whether the given jerry_api_value_t is void.
149
149
*/
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 );
152
151
153
152
/**
154
153
* Returns whether the given jerry_api_value_t is null.
155
154
*/
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 );
158
156
159
157
/**
160
158
* Returns whether the given jerry_api_value_t is undefined.
161
159
*/
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 );
164
161
165
162
/**
166
163
* Returns whether the given jerry_api_value_t has boolean type.
167
164
*/
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 );
170
166
171
167
/**
172
168
* Returns whether the given jerry_api_value_t is number.
173
169
*
174
170
* More specifically, returns true if the type is JERRY_API_DATA_TYPE_FLOAT32,
175
171
* JERRY_API_DATA_TYPE_FLOAT64 or JERRY_API_DATA_TYPE_UINT32, false otherwise.
176
172
*/
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 );
179
174
180
175
/**
181
176
* Returns whether the given jerry_api_value_t is string.
182
177
*/
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 );
185
179
186
180
/**
187
181
* Returns whether the given jerry_api_value_t is object.
188
182
*/
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 );
191
184
192
185
/**
193
186
* 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);
197
190
* jerry_api_is_function() functiron return true for its v_object member,
198
191
* otherwise false.
199
192
*/
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 );
202
194
203
195
/**
204
196
* Returns the boolean v_bool member of the given jerry_api_value_t structure.
205
197
* If the given jerry_api_value_t structure has type other than
206
198
* JERRY_API_DATA_TYPE_BOOLEAN, JERRY_ASSERT fails.
207
199
*/
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 );
210
201
211
202
/**
212
203
* 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);
219
210
* JERRY_API_DATA_TYPE_FLOAT64 the function returns the v_float64 member.
220
211
* As long as the type is none of the above, JERRY_ASSERT falis.
221
212
*/
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 );
224
214
225
215
/**
226
216
* Returns the v_string member of the given jerry_api_value_t structure.
227
217
* If the given jerry_api_value_t structure has type other than
228
218
* JERRY_API_DATA_TYPE_STRING, JERRY_ASSERT fails.
229
219
*/
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 );
232
221
233
222
/**
234
223
* Returns the v_object member of the given jerry_api_value_t structure.
235
224
* If the given jerry_api_value_t structure has type other than
236
225
* JERRY_API_DATA_TYPE_OBJECT, JERRY_ASSERT fails.
237
226
*/
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 );
240
228
241
229
/**
242
230
* Creates and returns a jerry_api_value_t with type
243
231
* JERRY_API_DATA_TYPE_VOID.
244
232
*/
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 );
247
234
248
235
/**
249
236
* Creates and returns a jerry_api_value_t with type
250
237
* JERRY_API_DATA_TYPE_NULL.
251
238
*/
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 );
254
240
255
241
/**
256
242
* Creates and returns a jerry_api_value_t with type
257
243
* JERRY_API_DATA_TYPE_UNDEFINED.
258
244
*/
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 );
261
246
262
247
/**
263
248
* Creates a JERRY_API_DATA_TYPE_BOOLEAN jerry_api_value_t from the given
264
249
* boolean parameter and returns with it.
265
250
*/
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 );
268
252
269
253
/**
270
254
* Creates a jerry_api_value_t from the given double parameter and returns
271
255
* with it.
272
256
* The v_float64 member will be set and the will be JERRY_API_DATA_TYPE_FLOAT64.
273
257
*/
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 );
276
259
277
260
/**
278
261
* Creates a JERRY_API_DATA_TYPE_OBJECT type jerry_api_value_t from the
279
262
* given jerry_api_object_t *parameter and returns with it.
280
263
*/
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 );
283
265
284
266
/**
285
267
* Creates a JERRY_API_DATA_TYPE_STRING type jerry_api_value_t from the
286
268
* given jerry_api_string_t *parameter and returns with it.
287
269
*/
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 );
290
271
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 );
294
273
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
274
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
275
303
- extern EXTERN_C
276
+ void jerry_api_release_object (jerry_api_object_t * );
277
+ void jerry_api_release_string (jerry_api_string_t * );
304
278
void jerry_api_release_value (jerry_api_value_t * );
305
279
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 );
307
282
jerry_api_string_t * jerry_api_create_string (const jerry_api_char_t * );
308
- extern EXTERN_C
309
283
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
284
313
- extern EXTERN_C
314
- jerry_api_object_t * jerry_api_create_array_object (jerry_api_size_t );
315
- extern EXTERN_C
316
285
bool jerry_api_set_array_index_value (jerry_api_object_t * , jerry_api_length_t , jerry_api_value_t * );
317
- extern EXTERN_C
318
286
bool jerry_api_get_array_index_value (jerry_api_object_t * , jerry_api_length_t , jerry_api_value_t * );
319
287
320
- extern EXTERN_C
321
288
jerry_api_object_t * jerry_api_create_error (jerry_api_error_t , const jerry_api_char_t * );
322
- extern EXTERN_C
323
289
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
290
jerry_api_object_t * jerry_api_create_external_function (jerry_external_handler_t );
326
291
327
- extern EXTERN_C
328
- bool jerry_api_is_function (const jerry_api_object_t * );
329
- extern EXTERN_C
330
292
bool jerry_api_is_constructor (const jerry_api_object_t * );
293
+ bool jerry_api_is_function (const jerry_api_object_t * );
331
294
332
- extern EXTERN_C
333
295
bool jerry_api_add_object_field (jerry_api_object_t * , const jerry_api_char_t * , jerry_api_size_t ,
334
296
const jerry_api_value_t * , bool );
335
- extern EXTERN_C
336
297
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
298
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 * );
341
300
bool jerry_api_get_object_field_value_sz (jerry_api_object_t * , const jerry_api_char_t * , jerry_api_size_t ,
342
301
jerry_api_value_t * );
343
302
344
- extern EXTERN_C
345
303
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
304
bool jerry_api_set_object_field_value_sz (jerry_api_object_t * , const jerry_api_char_t * , jerry_api_size_t ,
349
305
const jerry_api_value_t * );
350
306
351
- extern EXTERN_C
352
307
bool jerry_api_foreach_object_field (jerry_api_object_t * , jerry_object_field_foreach_t , void * );
353
-
354
- extern EXTERN_C
355
308
bool jerry_api_get_object_native_handle (jerry_api_object_t * , uintptr_t * );
356
-
357
- extern EXTERN_C
358
309
void jerry_api_set_object_native_handle (jerry_api_object_t * , uintptr_t , jerry_object_free_callback_t );
359
-
360
- extern EXTERN_C
361
310
bool jerry_api_call_function (jerry_api_object_t * , jerry_api_object_t * , jerry_api_value_t * ,
362
311
const jerry_api_value_t [], uint16_t );
363
-
364
- extern EXTERN_C
365
312
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
313
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
314
jerry_api_object_t * jerry_api_get_global (void );
372
315
373
- extern EXTERN_C
374
316
void jerry_api_gc (void );
375
-
376
- extern EXTERN_C
377
317
void jerry_register_external_magic_strings (const jerry_api_char_ptr_t * , uint32_t , const jerry_api_length_t * );
378
318
379
- extern EXTERN_C
380
319
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
320
jerry_completion_code_t jerry_exec_snapshot (const void * , size_t , bool , jerry_api_value_t * );
384
321
385
322
/**
386
323
* @}
387
324
*/
388
325
326
+ #ifdef __cplusplus
327
+ }
328
+ #endif /* !__cplusplus */
389
329
#endif /* !JERRY_API_H */
0 commit comments