Line | Branch | Exec | Source |
---|---|---|---|
1 | #include <stdio.h> | ||
2 | #include <glib.h> | ||
3 | |||
4 | #include <utils.h> | ||
5 | #include <export.h> | ||
6 | #include <glib_version.h> | ||
7 | |||
8 | napi_ref glibVersionRef; | ||
9 | |||
10 | static napi_value | ||
11 | 1 | esGlibVersionFull(napi_env env, napi_callback_info cbInfo) { | |
12 | napi_value esFull; | ||
13 | |||
14 | 1 | char fullVersion[20] = ""; | |
15 | |||
16 | 1 | size_t versionStrSize = snprintf( | |
17 | fullVersion, | ||
18 | sizeof(fullVersion), | ||
19 | "%u.%u.%u", | ||
20 | GLIB_MAJOR_VERSION, | ||
21 | GLIB_MINOR_VERSION, | ||
22 | GLIB_MICRO_VERSION | ||
23 | ); | ||
24 | |||
25 |
1/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
|
1 | NAPI_CALL(env, false, |
26 | napi_create_string_utf8(env, fullVersion, versionStrSize, &esFull)); | ||
27 | |||
28 | 1 | return esFull; | |
29 | } | ||
30 | |||
31 | static napi_value | ||
32 | 2 | esGlibVersionMajor(napi_env env, napi_callback_info cbInfo) { | |
33 | napi_value esMajor; | ||
34 | |||
35 |
1/6✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
|
2 | NAPI_CALL(env, false, |
36 | napi_create_int64(env, GLIB_MAJOR_VERSION, &esMajor)); | ||
37 | |||
38 | 2 | return esMajor; | |
39 | } | ||
40 | |||
41 | static napi_value | ||
42 | 2 | esGlibVersionMinor(napi_env env, napi_callback_info cbInfo) { | |
43 | napi_value esMinor; | ||
44 | |||
45 |
1/6✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
|
2 | NAPI_CALL(env, false, |
46 | napi_create_int64(env, GLIB_MINOR_VERSION, &esMinor)); | ||
47 | |||
48 | 2 | return esMinor; | |
49 | } | ||
50 | |||
51 | static napi_value | ||
52 | 1 | esGlibVersionPatch(napi_env env, napi_callback_info cbInfo) { | |
53 | napi_value esPatch; | ||
54 | |||
55 |
1/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
|
1 | NAPI_CALL(env, false, |
56 | napi_create_int64(env, GLIB_MICRO_VERSION, &esPatch)); | ||
57 | |||
58 | 1 | return esPatch; | |
59 | } | ||
60 | |||
61 | static napi_value | ||
62 | 5 | esHasGTreeNode(napi_env env, napi_callback_info cbInfo) { | |
63 | napi_value result; | ||
64 | |||
65 | #ifdef HAS_GTREE_NODE | ||
66 |
1/6✓ Branch 0 taken 5 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
|
5 | NAPI_CALL(env, false, napi_get_boolean(env, true, &result)); |
67 | #else | ||
68 | NAPI_CALL(env, false, napi_get_boolean(env, false, &result)); | ||
69 | #endif | ||
70 | |||
71 | 5 | return result; | |
72 | } | ||
73 | |||
74 | napi_property_descriptor | ||
75 | 1 | glib_version_export(napi_env env) { | |
76 | napi_value esGlibVersion; | ||
77 | |||
78 |
1/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
|
1 | NAPI_CALL(env, false, napi_create_object(env, &esGlibVersion)); |
79 | |||
80 | // Instance props | ||
81 | 1 | const napi_property_descriptor esGlibVersionProps[] = { | |
82 | DEF_PROP("FULL", esGlibVersionFull), | ||
83 | DEF_PROP("MAJOR", esGlibVersionMajor), | ||
84 | DEF_PROP("MINOR", esGlibVersionMinor), | ||
85 | DEF_PROP("PATCH", esGlibVersionPatch), | ||
86 | DEF_METHOD("hasGTreeNode", esHasGTreeNode) | ||
87 | }; | ||
88 | |||
89 |
1/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
|
1 | NAPI_CALL(env, false, |
90 | napi_define_properties( | ||
91 | env, | ||
92 | esGlibVersion, | ||
93 | (sizeof(esGlibVersionProps) / sizeof(napi_property_descriptor)), | ||
94 | esGlibVersionProps | ||
95 | ) | ||
96 | ); | ||
97 | |||
98 |
1/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
|
1 | NAPI_CALL(env, false, napi_object_freeze(env, esGlibVersion)); |
99 | |||
100 |
1/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
|
1 | NAPI_CALL(env, false, |
101 | napi_create_reference(env, esGlibVersion, 1, &glibVersionRef)); | ||
102 | |||
103 | 2 | napi_property_descriptor descriptor = { | |
104 | "GLIB_VERSION", | ||
105 | NULL, | ||
106 | NULL, | ||
107 | NULL, | ||
108 | NULL, | ||
109 | 1 | esGlibVersion, | |
110 | napi_default, | ||
111 | NULL | ||
112 | }; | ||
113 | |||
114 | 1 | return descriptor; | |
115 | } | ||
116 |