RPA Toolkit
af8f7095bf38007ae0f8e31f4c4b8cd9e15cdc12
[rpatk.git] / rlib / rjsobject.h
1 #ifndef _RJSOBJECT_H_
2 #define _RJSOBJECT_H_
3
4 #include "rtypes.h"
5 #include "robject.h"
6 #include "rcarray.h"
7 #include "rharray.h"
8
9 /*
10  * This class targets the JavaScript Object implementation. Although I think it is pretty useful
11  * collection primitive that is worth staying in RLIB. In the future I might either rename it or
12  * move it to RJS.
13  */
14
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18
19
20 typedef struct rjs_object_s rjs_object_t;
21
22
23 struct rjs_object_s {
24         robject_t obj;
25         rcarray_t *narray;
26         rharray_t *harray;
27 };
28
29 robject_t *rjs_object_init(robject_t *obj, ruint32 type, r_object_cleanupfun cleanup, r_object_copyfun copy, ruint elt_size);
30 rjs_object_t *rjs_object_create();
31
32 /*
33  * Virtual methods implementation
34  */
35 void rjs_object_cleanup(robject_t *obj);
36 robject_t *rjs_object_copy(const robject_t *obj);
37
38 #ifdef __cplusplus
39 }
40 #endif
41
42 #endif