@webos-tools/cli 3.2.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/.eslintignore +1 -1
  2. package/.eslintrc.js +52 -52
  3. package/.vscode/c_cpp_properties.json +21 -0
  4. package/.vscode/launch.json +97 -0
  5. package/.vscode/settings.json +13 -0
  6. package/.vscode/tasks.json +32 -0
  7. package/APIs.js +79 -79
  8. package/CHANGELOG.md +11 -5
  9. package/LICENSE +201 -201
  10. package/bin/ares-config.js +1 -1
  11. package/bin/ares-device-info.js +30 -30
  12. package/bin/ares-generate.js +274 -274
  13. package/bin/ares-inspect.js +179 -179
  14. package/bin/ares-install.js +223 -223
  15. package/bin/ares-log.js +259 -259
  16. package/bin/ares-pull.js +156 -156
  17. package/bin/ares-push.js +155 -155
  18. package/bin/ares-server.js +174 -174
  19. package/bin/ares-setup-device.js +6 -10
  20. package/bin/ares-shell.js +132 -132
  21. package/bin/ares.js +166 -166
  22. package/files/conf/ares.json +1 -2
  23. package/files/conf/ipk.json +30 -30
  24. package/files/conf/novacom-devices.json +2 -2
  25. package/files/conf/query/query-app.json +14 -14
  26. package/files/conf/query/query-hosted.json +18 -18
  27. package/files/conf/query/query-package.json +10 -10
  28. package/files/conf/query/query-service.json +6 -6
  29. package/files/conf/webos_emul +27 -27
  30. package/files/conf-base/env/sdk-apollo.json +8 -8
  31. package/files/conf-base/env/sdk-ose.json +8 -8
  32. package/files/conf-base/env/sdk-tv.json +8 -8
  33. package/files/conf-base/profile/config-apollo.json +29 -29
  34. package/files/conf-base/profile/config-ose.json +29 -29
  35. package/files/conf-base/profile/config-tv.json +31 -31
  36. package/files/conf-base/query/query-app.json +14 -14
  37. package/files/conf-base/query/query-hosted.json +18 -18
  38. package/files/conf-base/query/query-package.json +10 -10
  39. package/files/conf-base/query/query-service.json +6 -6
  40. package/files/conf-base/query/signage/query-app.json +1 -1
  41. package/files/conf-base/query/signage/query-service.json +1 -1
  42. package/files/conf-base/template-conf/ose-templates.json +67 -67
  43. package/files/conf-base/template-conf/tv-sdk-templates.json +57 -57
  44. package/files/help/ares-device.help +109 -109
  45. package/files/help/ares-install.help +95 -95
  46. package/files/help/ares-launch.help +1 -1
  47. package/files/help/ares-log-pmlogd.help +84 -84
  48. package/files/help/ares-log.help +101 -101
  49. package/files/help/ares-novacom.help +68 -68
  50. package/files/help/ares-pull.help +38 -38
  51. package/files/help/ares-push.help +38 -38
  52. package/files/help/ares-server.help +44 -44
  53. package/files/help/ares-shell.help +42 -42
  54. package/files/help/ares.help +52 -52
  55. package/files/help/readme.help +23 -23
  56. package/files/schema/ApplicationDescription.schema +319 -319
  57. package/files/templates/apollo-sdk-templates/appinfo/appinfo.json +10 -10
  58. package/files/templates/apollo-sdk-templates/bootplate-web/index.html +88 -88
  59. package/files/templates/apollo-sdk-templates/hosted-webapp/index.html +13 -13
  60. package/files/templates/apollo-sdk-templates/js-service/helloclient.js +31 -31
  61. package/files/templates/apollo-sdk-templates/js-service/helloworld_webos_service.js +188 -188
  62. package/files/templates/apollo-sdk-templates/serviceinfo/package.json +11 -11
  63. package/files/templates/apollo-sdk-templates/serviceinfo/services.json +8 -8
  64. package/files/templates/ose-sdk-templates/appinfo/appinfo.json +10 -10
  65. package/files/templates/ose-sdk-templates/bootplate-web/index.html +88 -88
  66. package/files/templates/ose-sdk-templates/hosted-webapp/index.html +13 -13
  67. package/files/templates/ose-sdk-templates/js-service/helloclient.js +31 -31
  68. package/files/templates/ose-sdk-templates/js-service/helloworld_webos_service.js +188 -188
  69. package/files/templates/ose-sdk-templates/qml-app/main.qml +68 -68
  70. package/files/templates/ose-sdk-templates/qmlappinfo/appinfo.json +10 -10
  71. package/files/templates/ose-sdk-templates/serviceinfo/package.json +11 -11
  72. package/files/templates/ose-sdk-templates/serviceinfo/services.json +8 -8
  73. package/files/templates/signage-sdk-templates/Backlight_Scheduling/index.html +1 -1
  74. package/files/templates/signage-sdk-templates/Backlight_Scheduling/scheduler.js +2 -3
  75. package/files/templates/signage-sdk-templates/File_Explorer/index.html +1 -33
  76. package/files/templates/signage-sdk-templates/File_Explorer/js/Root.js +0 -9
  77. package/files/templates/tv-sdk-templates/appinfo/appinfo.json +10 -10
  78. package/files/templates/tv-sdk-templates/bootplate-web/index.html +58 -58
  79. package/files/templates/tv-sdk-templates/bootplate-web/webOSTVjs-1.2.10/LICENSE-2.0.txt +202 -202
  80. package/files/templates/tv-sdk-templates/hosted-webapp/index.html +14 -14
  81. package/files/templates/tv-sdk-templates/js-service/helloworld_service.js +39 -39
  82. package/files/templates/tv-sdk-templates/packageinfo/packageinfo.json +3 -3
  83. package/files/templates/tv-sdk-templates/serviceinfo/package.json +11 -11
  84. package/files/templates/tv-sdk-templates/serviceinfo/services.json +8 -8
  85. package/lib/base/ares.html +40 -40
  86. package/lib/base/cli-appdata.js +290 -289
  87. package/lib/base/cli-control.js +44 -44
  88. package/lib/base/common-tools.js +29 -29
  89. package/lib/base/error-handler.js +265 -265
  90. package/lib/base/file-watcher.js +155 -155
  91. package/lib/base/help-format.js +147 -147
  92. package/lib/base/luna.js +178 -178
  93. package/lib/base/novacom.js +4 -4
  94. package/lib/base/sdkenv.js +59 -59
  95. package/lib/base/server.js +137 -137
  96. package/lib/base/setup-device.js +2 -2
  97. package/lib/base/version-tools.js +79 -79
  98. package/lib/device.js +1419 -1419
  99. package/lib/generator.js +1 -1
  100. package/lib/inspect.js +493 -493
  101. package/lib/log.js +584 -584
  102. package/lib/package.js +61 -7
  103. package/lib/pull.js +231 -231
  104. package/lib/pusher.js +210 -210
  105. package/lib/session.js +74 -74
  106. package/lib/shell.js +193 -193
  107. package/lib/tar-filter-pack.js +62 -62
  108. package/lib/util/copy.js +31 -31
  109. package/lib/util/createFileName.js +40 -40
  110. package/lib/util/eof.js +30 -30
  111. package/lib/util/json.js +63 -63
  112. package/lib/util/merge.js +14 -14
  113. package/lib/util/objclone.js +40 -40
  114. package/lib/util/spinner.js +37 -37
  115. package/npm-shrinkwrap.json +2 -2
  116. package/package.json +1 -1
  117. package/scripts/postinstall.js +24 -24
  118. package/spec/helpers/reporter.js +65 -65
  119. package/spec/jsSpecs/apiTest/generator.spec.js +372 -372
  120. package/spec/jsSpecs/apiTest/inspector.spec.js +89 -89
  121. package/spec/jsSpecs/apiTest/installer.spec.js +67 -67
  122. package/spec/jsSpecs/apiTest/launcher.spec.js +150 -150
  123. package/spec/jsSpecs/apiTest/packager.spec.js +194 -194
  124. package/spec/jsSpecs/apiTest/puller.spec.js +101 -101
  125. package/spec/jsSpecs/apiTest/pusher.spec.js +103 -103
  126. package/spec/jsSpecs/apiTest/server.spec.js +115 -115
  127. package/spec/jsSpecs/apiTest/setupDevice.spec.js +93 -93
  128. package/spec/jsSpecs/apiTest/shell.spec.js +49 -49
  129. package/spec/jsSpecs/ares-config.spec.js +88 -88
  130. package/spec/jsSpecs/ares-device.spec.js +443 -443
  131. package/spec/jsSpecs/ares-generate.spec.js +397 -401
  132. package/spec/jsSpecs/ares-inspect.spec.js +252 -252
  133. package/spec/jsSpecs/ares-install.spec.js +150 -150
  134. package/spec/jsSpecs/ares-log.spec.js +824 -824
  135. package/spec/jsSpecs/ares-novacom.spec.js +149 -149
  136. package/spec/jsSpecs/ares-pull.spec.js +157 -157
  137. package/spec/jsSpecs/ares-push.spec.js +146 -146
  138. package/spec/jsSpecs/ares-setup-device.spec.js +1 -0
  139. package/spec/jsSpecs/ares-shell.spec.js +220 -220
  140. package/spec/jsSpecs/ares.spec.js +83 -83
  141. package/spec/support/jasmine.json +22 -22
  142. package/spec/tempFiles/nativeApp/auto/pkg_arm64/appinfo.json +9 -9
  143. package/spec/tempFiles/nativeApp/ose/pkg_arm/appinfo.json +8 -8
  144. package/spec/tempFiles/nativeApp/ose/pkg_arm/package.properties +2 -2
  145. package/spec/tempFiles/nativeApp/oseEmul/pkg_x86/appinfo.json +9 -9
  146. package/spec/tempFiles/nativeApp/rsi/pkg_x86/appinfo.json +9 -9
  147. package/spec/tempFiles/sign/sign.crt +32 -32
  148. package/spec/tempFiles/sign/signPriv.key +52 -52
  149. package/spec/test_data/ares-generate.json +58 -91
  150. package/spec/test_data/ares.json +50 -50
  151. package/webos-tools-cli-3.2.1.tgz +0 -0
  152. package/webos-tools-cli-3.2.0.tgz +0 -0
@@ -1,188 +1,188 @@
1
- /*
2
- * Copyright (c) 2020-2024 LG Electronics Inc.
3
- *
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- // helloworld_webos_service.js
8
- // is simple service, based on low-level luna-bus API
9
-
10
- // eslint-disable-next-line import/no-unresolved
11
- const pkgInfo = require('./package.json');
12
- const Service = require('webos-service');
13
-
14
- const service = new Service(pkgInfo.name); // Create service by service name on package.json
15
- const logHeader = "[" + pkgInfo.name + "]";
16
- let greeting = "Hello, World!";
17
-
18
- // a method that always returns the same value
19
- service.register("hello", function(message) {
20
- console.log(logHeader, "SERVICE_METHOD_CALLED:/hello");
21
- console.log("In hello callback");
22
- const name = message.payload.name ? message.payload.name : "World";
23
-
24
- message.respond({
25
- returnValue: true,
26
- Response: "Hello, " + name + "!"
27
- });
28
- });
29
-
30
- // set some state in the service
31
- service.register("/config/setGreeting", function(message) {
32
- console.log(logHeader, "SERVICE_METHOD_CALLED:/config/setGreeting");
33
- console.log("In setGreeting callback");
34
- if (message.payload.greeting) {
35
- greeting = message.payload.greeting;
36
- } else {
37
- message.respond({
38
- returnValue: false,
39
- errorText: "argument 'greeting' is required",
40
- errorCode: 1
41
- });
42
- }
43
- message.respond({
44
- returnValue: true,
45
- greeting: greeting
46
- });
47
- });
48
-
49
- // call another service
50
- service.register("time", function(message) {
51
- console.log(logHeader, "SERVICE_METHOD_CALLED:/time");
52
- console.log("time callback");
53
- service.call("luna://com.webos.service.systemservice/clock/getTime", {}, function(m2) {
54
- console.log(logHeader, "SERVICE_METHOD_CALLED:com.webos.service.systemservice/clock/getTime");
55
- const response = "You appear to have your UTC set to: " + m2.payload.utc;
56
- console.log(response);
57
- message.respond({message: response});
58
- });
59
- });
60
-
61
- // handle subscription requests
62
- const subscriptions = {};
63
- let interval;
64
- let x = 1;
65
- function createInterval() {
66
- if (interval) {
67
- return;
68
- }
69
- console.log(logHeader, "create_interval");
70
- console.log("create new interval");
71
- interval = setInterval(function() {
72
- sendResponses();
73
- }, 1000);
74
- }
75
-
76
- // send responses to each subscribed client
77
- function sendResponses() {
78
- console.log(logHeader, "send_response");
79
- console.log("Sending responses, subscription count=" + Object.keys(subscriptions).length);
80
- for (const i in subscriptions) {
81
- if (Object.prototype.hasOwnProperty.call(subscriptions, i)) {
82
- const s = subscriptions[i];
83
- s.respond({
84
- returnValue: true,
85
- event: "beat " + x
86
- });
87
- }
88
- }
89
- x++;
90
- }
91
-
92
- // listen for requests, and handle subscriptions via implicit event handlers in call
93
- // to register
94
- service.register("heartbeat", function(message) {
95
- const uniqueToken = message.uniqueToken;
96
- console.log(logHeader, "SERVICE_METHOD_CALLED:/heartbeat");
97
- console.log("heartbeat callback, uniqueToken: " + uniqueToken + ", token: " + message.token);
98
- message.respond({event: "beat"});
99
- if (message.isSubscription) {
100
- subscriptions[uniqueToken] = message;
101
- if (!interval) {
102
- createInterval();
103
- }
104
- }
105
- },
106
- function(message) {
107
- const uniqueToken = message.uniqueToken;
108
- console.log("Canceled " + uniqueToken);
109
- delete subscriptions[uniqueToken];
110
- const keys = Object.keys(subscriptions);
111
- if (keys.length === 0) {
112
- console.log("no more subscriptions, canceling interval");
113
- clearInterval(interval);
114
- interval = undefined;
115
- }
116
- });
117
-
118
- // EventEmitter-based API for subscriptions
119
- // note that the previous examples are actually using this API as well, they're
120
- // just setting a "request" handler implicitly
121
- const heartbeat2 = service.register("heartbeat2");
122
- heartbeat2.on("request", function(message) {
123
- console.log(logHeader, "SERVICE_METHOD_CALLED:/heartbeat2/request");
124
- console.log("heartbeat callback");
125
- message.respond({event: "beat"});
126
- if (message.isSubscription) {
127
- subscriptions[message.uniqueToken] = message;
128
- if (!interval) {
129
- createInterval();
130
- }
131
- }
132
- });
133
- heartbeat2.on("cancel", function(message) {
134
- console.log(logHeader, "SERVICE_METHOD_CALLED:/heartbeat2/cancel");
135
- console.log("Canceled " + message.uniqueToken);
136
- delete subscriptions[message.uniqueToken];
137
- const keys = Object.keys(subscriptions);
138
- if (keys.length === 0) {
139
- console.log("no more subscriptions, canceling interval");
140
- clearInterval(interval);
141
- interval = undefined;
142
- }
143
- });
144
-
145
- service.register("ping", function(message) {
146
- console.log(logHeader, "SERVICE_METHOD_CALLED:/ping");
147
- console.log("Ping! setting up activity");
148
- const methodName = "luna://" + pkgInfo.name + "/pong";
149
- const activitySpec = {
150
- "activity": {
151
- "name": "My Activity", // this needs to be unique, per service
152
- "description": "do something", // required
153
- "background": true, // can use foreground or background, or set individual properties (see Activity Specification below, for details)
154
- "persist": true, // this activity will be persistent across reboots
155
- "explicit": true, // this activity *must* be completed or cancelled explicitly, or it will be re-launched until it does
156
- "callback": { // what service to call when this activity starts
157
- "method": methodName, // URI to service
158
- "params": { // parameters/arguments to pass to service
159
- }
160
- }
161
- },
162
- "start": true, // start the activity immediately when its requirements (if any) are met
163
- "replace": true, // if an activity with the same name already exists, replace it
164
- "subscribe": false // if "subscribe" is false, the activity needs to be adopted immediately, or it gets canceled
165
- };
166
- service.call("luna://com.webos.service.activitymanager/create", activitySpec, function(reply) {
167
- console.log(logHeader, "SERVICE_METHOD_CALLED:com.webos.service.activitymanager/create");
168
- const activityId = reply.payload.activityId;
169
- console.log("ActivityId = " + activityId);
170
- message.respond({msg: "Created activity "+ activityId});
171
- });
172
- });
173
-
174
- service.register("pong", function(message) {
175
- console.log(logHeader, "SERVICE_METHOD_CALLED:/pong");
176
- console.log("Pong!");
177
- console.log(message.payload);
178
- message.respond({message: "Pong"});
179
- });
180
-
181
- service.register("/do/re/me", function(message) {
182
- console.log(logHeader, "SERVICE_METHOD_CALLED://do/re/me");
183
- message.respond({verses:[
184
- {doe: "a deer, a female deer"},
185
- {ray: "a drop of golden sun"},
186
- {me: "a name I call myself"}
187
- ]});
188
- });
1
+ /*
2
+ * Copyright (c) 2020-2024 LG Electronics Inc.
3
+ *
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ // helloworld_webos_service.js
8
+ // is simple service, based on low-level luna-bus API
9
+
10
+ // eslint-disable-next-line import/no-unresolved
11
+ const pkgInfo = require('./package.json');
12
+ const Service = require('webos-service');
13
+
14
+ const service = new Service(pkgInfo.name); // Create service by service name on package.json
15
+ const logHeader = "[" + pkgInfo.name + "]";
16
+ let greeting = "Hello, World!";
17
+
18
+ // a method that always returns the same value
19
+ service.register("hello", function(message) {
20
+ console.log(logHeader, "SERVICE_METHOD_CALLED:/hello");
21
+ console.log("In hello callback");
22
+ const name = message.payload.name ? message.payload.name : "World";
23
+
24
+ message.respond({
25
+ returnValue: true,
26
+ Response: "Hello, " + name + "!"
27
+ });
28
+ });
29
+
30
+ // set some state in the service
31
+ service.register("/config/setGreeting", function(message) {
32
+ console.log(logHeader, "SERVICE_METHOD_CALLED:/config/setGreeting");
33
+ console.log("In setGreeting callback");
34
+ if (message.payload.greeting) {
35
+ greeting = message.payload.greeting;
36
+ } else {
37
+ message.respond({
38
+ returnValue: false,
39
+ errorText: "argument 'greeting' is required",
40
+ errorCode: 1
41
+ });
42
+ }
43
+ message.respond({
44
+ returnValue: true,
45
+ greeting: greeting
46
+ });
47
+ });
48
+
49
+ // call another service
50
+ service.register("time", function(message) {
51
+ console.log(logHeader, "SERVICE_METHOD_CALLED:/time");
52
+ console.log("time callback");
53
+ service.call("luna://com.webos.service.systemservice/clock/getTime", {}, function(m2) {
54
+ console.log(logHeader, "SERVICE_METHOD_CALLED:com.webos.service.systemservice/clock/getTime");
55
+ const response = "You appear to have your UTC set to: " + m2.payload.utc;
56
+ console.log(response);
57
+ message.respond({message: response});
58
+ });
59
+ });
60
+
61
+ // handle subscription requests
62
+ const subscriptions = {};
63
+ let interval;
64
+ let x = 1;
65
+ function createInterval() {
66
+ if (interval) {
67
+ return;
68
+ }
69
+ console.log(logHeader, "create_interval");
70
+ console.log("create new interval");
71
+ interval = setInterval(function() {
72
+ sendResponses();
73
+ }, 1000);
74
+ }
75
+
76
+ // send responses to each subscribed client
77
+ function sendResponses() {
78
+ console.log(logHeader, "send_response");
79
+ console.log("Sending responses, subscription count=" + Object.keys(subscriptions).length);
80
+ for (const i in subscriptions) {
81
+ if (Object.prototype.hasOwnProperty.call(subscriptions, i)) {
82
+ const s = subscriptions[i];
83
+ s.respond({
84
+ returnValue: true,
85
+ event: "beat " + x
86
+ });
87
+ }
88
+ }
89
+ x++;
90
+ }
91
+
92
+ // listen for requests, and handle subscriptions via implicit event handlers in call
93
+ // to register
94
+ service.register("heartbeat", function(message) {
95
+ const uniqueToken = message.uniqueToken;
96
+ console.log(logHeader, "SERVICE_METHOD_CALLED:/heartbeat");
97
+ console.log("heartbeat callback, uniqueToken: " + uniqueToken + ", token: " + message.token);
98
+ message.respond({event: "beat"});
99
+ if (message.isSubscription) {
100
+ subscriptions[uniqueToken] = message;
101
+ if (!interval) {
102
+ createInterval();
103
+ }
104
+ }
105
+ },
106
+ function(message) {
107
+ const uniqueToken = message.uniqueToken;
108
+ console.log("Canceled " + uniqueToken);
109
+ delete subscriptions[uniqueToken];
110
+ const keys = Object.keys(subscriptions);
111
+ if (keys.length === 0) {
112
+ console.log("no more subscriptions, canceling interval");
113
+ clearInterval(interval);
114
+ interval = undefined;
115
+ }
116
+ });
117
+
118
+ // EventEmitter-based API for subscriptions
119
+ // note that the previous examples are actually using this API as well, they're
120
+ // just setting a "request" handler implicitly
121
+ const heartbeat2 = service.register("heartbeat2");
122
+ heartbeat2.on("request", function(message) {
123
+ console.log(logHeader, "SERVICE_METHOD_CALLED:/heartbeat2/request");
124
+ console.log("heartbeat callback");
125
+ message.respond({event: "beat"});
126
+ if (message.isSubscription) {
127
+ subscriptions[message.uniqueToken] = message;
128
+ if (!interval) {
129
+ createInterval();
130
+ }
131
+ }
132
+ });
133
+ heartbeat2.on("cancel", function(message) {
134
+ console.log(logHeader, "SERVICE_METHOD_CALLED:/heartbeat2/cancel");
135
+ console.log("Canceled " + message.uniqueToken);
136
+ delete subscriptions[message.uniqueToken];
137
+ const keys = Object.keys(subscriptions);
138
+ if (keys.length === 0) {
139
+ console.log("no more subscriptions, canceling interval");
140
+ clearInterval(interval);
141
+ interval = undefined;
142
+ }
143
+ });
144
+
145
+ service.register("ping", function(message) {
146
+ console.log(logHeader, "SERVICE_METHOD_CALLED:/ping");
147
+ console.log("Ping! setting up activity");
148
+ const methodName = "luna://" + pkgInfo.name + "/pong";
149
+ const activitySpec = {
150
+ "activity": {
151
+ "name": "My Activity", // this needs to be unique, per service
152
+ "description": "do something", // required
153
+ "background": true, // can use foreground or background, or set individual properties (see Activity Specification below, for details)
154
+ "persist": true, // this activity will be persistent across reboots
155
+ "explicit": true, // this activity *must* be completed or cancelled explicitly, or it will be re-launched until it does
156
+ "callback": { // what service to call when this activity starts
157
+ "method": methodName, // URI to service
158
+ "params": { // parameters/arguments to pass to service
159
+ }
160
+ }
161
+ },
162
+ "start": true, // start the activity immediately when its requirements (if any) are met
163
+ "replace": true, // if an activity with the same name already exists, replace it
164
+ "subscribe": false // if "subscribe" is false, the activity needs to be adopted immediately, or it gets canceled
165
+ };
166
+ service.call("luna://com.webos.service.activitymanager/create", activitySpec, function(reply) {
167
+ console.log(logHeader, "SERVICE_METHOD_CALLED:com.webos.service.activitymanager/create");
168
+ const activityId = reply.payload.activityId;
169
+ console.log("ActivityId = " + activityId);
170
+ message.respond({msg: "Created activity "+ activityId});
171
+ });
172
+ });
173
+
174
+ service.register("pong", function(message) {
175
+ console.log(logHeader, "SERVICE_METHOD_CALLED:/pong");
176
+ console.log("Pong!");
177
+ console.log(message.payload);
178
+ message.respond({message: "Pong"});
179
+ });
180
+
181
+ service.register("/do/re/me", function(message) {
182
+ console.log(logHeader, "SERVICE_METHOD_CALLED://do/re/me");
183
+ message.respond({verses:[
184
+ {doe: "a deer, a female deer"},
185
+ {ray: "a drop of golden sun"},
186
+ {me: "a name I call myself"}
187
+ ]});
188
+ });
@@ -1,11 +1,11 @@
1
- {
2
- "name": "com.domain.app.service",
3
- "version": "1.0.0",
4
- "description": "Helloworld service",
5
- "main": "helloworld_webos_service.js",
6
- "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
8
- },
9
- "author": "",
10
- "license": "BSD"
11
- }
1
+ {
2
+ "name": "com.domain.app.service",
3
+ "version": "1.0.0",
4
+ "description": "Helloworld service",
5
+ "main": "helloworld_webos_service.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "author": "",
10
+ "license": "BSD"
11
+ }
@@ -1,8 +1,8 @@
1
- {
2
- "id": "com.domain.app.service",
3
- "description": "HelloWorld Service",
4
- "services": [ {
5
- "name": "com.domain.app.service",
6
- "description": "HelloWorld Service"
7
- } ]
8
- }
1
+ {
2
+ "id": "com.domain.app.service",
3
+ "description": "HelloWorld Service",
4
+ "services": [ {
5
+ "name": "com.domain.app.service",
6
+ "description": "HelloWorld Service"
7
+ } ]
8
+ }
@@ -1,10 +1,10 @@
1
- {
2
- "id": "com.domain.app",
3
- "version": "1.0.0",
4
- "vendor": "My Company",
5
- "type": "web",
6
- "main": "index.html",
7
- "title": "new app",
8
- "icon": "icon.png",
9
- "requiredPermissions": ["time.query", "activity.operation"]
10
- }
1
+ {
2
+ "id": "com.domain.app",
3
+ "version": "1.0.0",
4
+ "vendor": "My Company",
5
+ "type": "web",
6
+ "main": "index.html",
7
+ "title": "new app",
8
+ "icon": "icon.png",
9
+ "requiredPermissions": ["time.query", "activity.operation"]
10
+ }
@@ -1,88 +1,88 @@
1
- <!--
2
- Copyright (c) 2020-2024 LG Electronics Inc.
3
-
4
- SPDX-License-Identifier: Apache-2.0
5
- -->
6
-
7
- <!DOCTYPE html>
8
- <html>
9
- <head>
10
- <title>Example Web App</title>
11
- <style type="text/css">
12
- body {
13
- width: 100%;
14
- height: 100%;
15
- background-color:#202020;
16
- }
17
- div {
18
- position:absolute;
19
- height:100%;
20
- width:100%;
21
- display: table;
22
- }
23
- h1 {
24
- display: table-cell;
25
- vertical-align: middle;
26
- text-align:center;
27
- color:#FFFFFF;
28
- }
29
- </style>
30
- <script type="text/javascript">
31
- window.onload = function() {
32
- var bridge = new WebOSServiceBridge();
33
- /*
34
- * getTimeApi calls gettime of systemservice, a module in the platform.
35
- */
36
- var getTimeApi = 'luna://com.webos.service.systemservice/clock/getTime';
37
- var getTimeParams = '{}';
38
-
39
- /*
40
- * helloApi calls the hello method of js_service template provided by CLI.
41
- * In this case, the service name is used as default name "com.domain.app.service" is.
42
- * If you change this service name, you need to change the service name of the following API.
43
- *
44
- * If you change the name to helloParams as you want, the contents will be reflected on the screen.
45
- */
46
- var helloApi = 'luna://com.domain.app.service/hello';
47
- var helloParams = '{"name":"webOS"}';
48
-
49
- function getTime_callback(msg){
50
- var arg = JSON.parse(msg);
51
- if (arg.returnValue) {
52
- console.log("[APP_NAME: example web app] GETTIME_SUCCESS UTC : " + arg.utc);
53
- //webOSSystem.PmLogString(6, "GETTIME_SUCCESS", '{"APP_NAME": "example web app"}', "UTC : " + arg.utc);
54
- }
55
- else {
56
- console.error("[APP_NAME: example web app] GETTIME_FAILED errorText : " + arg.errorText);
57
- //webOSSystem.PmLogString(3, "GETTIME_FAILED", '{"APP_NAME": "example web app"}', "errorText : " + arg.errorText);
58
- }
59
- }
60
-
61
- function hello_callback(msg){
62
- var arg = JSON.parse(msg);
63
- if (arg.returnValue) {
64
- document.getElementById("txt_msg").innerHTML = arg.Response;
65
- console.log("[APP_NAME: example web app] CALLHELLO_SUCCESS response : " + arg.Response);
66
- //webOSSystem.PmLogString(6, "CALLHELLO_SUCCESS", '{"APP_NAME": "example web app"}', "response : " + arg.Response);
67
- }
68
- else {
69
- console.error("[APP_NAME: example web app] CALLHELLO_FAILED errorText : " + arg.errorText);
70
- //webOSSystem.PmLogString(3, "CALLHELLO_FAILED", '{"APP_NAME": "example web app"}', "errorText : " + arg.errorText);
71
- }
72
- }
73
-
74
- bridge.onservicecallback = getTime_callback;
75
- bridge.call(getTimeApi, getTimeParams);
76
- document.getElementById("txt_msg").onclick = function() {
77
- bridge.onservicecallback = hello_callback;
78
- bridge.call(helloApi, helloParams);
79
- };
80
- }
81
- </script>
82
- </head>
83
- <body>
84
- <div>
85
- <h1 id="txt_msg">Hello, Web Application!!</h1>
86
- </div>
87
- </body>
88
- </html>
1
+ <!--
2
+ Copyright (c) 2020-2024 LG Electronics Inc.
3
+
4
+ SPDX-License-Identifier: Apache-2.0
5
+ -->
6
+
7
+ <!DOCTYPE html>
8
+ <html>
9
+ <head>
10
+ <title>Example Web App</title>
11
+ <style type="text/css">
12
+ body {
13
+ width: 100%;
14
+ height: 100%;
15
+ background-color:#202020;
16
+ }
17
+ div {
18
+ position:absolute;
19
+ height:100%;
20
+ width:100%;
21
+ display: table;
22
+ }
23
+ h1 {
24
+ display: table-cell;
25
+ vertical-align: middle;
26
+ text-align:center;
27
+ color:#FFFFFF;
28
+ }
29
+ </style>
30
+ <script type="text/javascript">
31
+ window.onload = function() {
32
+ var bridge = new WebOSServiceBridge();
33
+ /*
34
+ * getTimeApi calls gettime of systemservice, a module in the platform.
35
+ */
36
+ var getTimeApi = 'luna://com.webos.service.systemservice/clock/getTime';
37
+ var getTimeParams = '{}';
38
+
39
+ /*
40
+ * helloApi calls the hello method of js_service template provided by CLI.
41
+ * In this case, the service name is used as default name "com.domain.app.service" is.
42
+ * If you change this service name, you need to change the service name of the following API.
43
+ *
44
+ * If you change the name to helloParams as you want, the contents will be reflected on the screen.
45
+ */
46
+ var helloApi = 'luna://com.domain.app.service/hello';
47
+ var helloParams = '{"name":"webOS"}';
48
+
49
+ function getTime_callback(msg){
50
+ var arg = JSON.parse(msg);
51
+ if (arg.returnValue) {
52
+ console.log("[APP_NAME: example web app] GETTIME_SUCCESS UTC : " + arg.utc);
53
+ //webOSSystem.PmLogString(6, "GETTIME_SUCCESS", '{"APP_NAME": "example web app"}', "UTC : " + arg.utc);
54
+ }
55
+ else {
56
+ console.error("[APP_NAME: example web app] GETTIME_FAILED errorText : " + arg.errorText);
57
+ //webOSSystem.PmLogString(3, "GETTIME_FAILED", '{"APP_NAME": "example web app"}', "errorText : " + arg.errorText);
58
+ }
59
+ }
60
+
61
+ function hello_callback(msg){
62
+ var arg = JSON.parse(msg);
63
+ if (arg.returnValue) {
64
+ document.getElementById("txt_msg").innerHTML = arg.Response;
65
+ console.log("[APP_NAME: example web app] CALLHELLO_SUCCESS response : " + arg.Response);
66
+ //webOSSystem.PmLogString(6, "CALLHELLO_SUCCESS", '{"APP_NAME": "example web app"}', "response : " + arg.Response);
67
+ }
68
+ else {
69
+ console.error("[APP_NAME: example web app] CALLHELLO_FAILED errorText : " + arg.errorText);
70
+ //webOSSystem.PmLogString(3, "CALLHELLO_FAILED", '{"APP_NAME": "example web app"}', "errorText : " + arg.errorText);
71
+ }
72
+ }
73
+
74
+ bridge.onservicecallback = getTime_callback;
75
+ bridge.call(getTimeApi, getTimeParams);
76
+ document.getElementById("txt_msg").onclick = function() {
77
+ bridge.onservicecallback = hello_callback;
78
+ bridge.call(helloApi, helloParams);
79
+ };
80
+ }
81
+ </script>
82
+ </head>
83
+ <body>
84
+ <div>
85
+ <h1 id="txt_msg">Hello, Web Application!!</h1>
86
+ </div>
87
+ </body>
88
+ </html>
@@ -1,14 +1,14 @@
1
- <!--
2
- Copyright (c) 2020-2024 LG Electronics Inc.
3
-
4
- SPDX-License-Identifier: Apache-2.0
5
- -->
6
-
7
- <!DOCTYPE html>
8
- <html>
9
- <head>
10
- <script>location.href='http://webosose.org/';</script>
11
- </head>
12
- <body>
13
- </body>
1
+ <!--
2
+ Copyright (c) 2020-2024 LG Electronics Inc.
3
+
4
+ SPDX-License-Identifier: Apache-2.0
5
+ -->
6
+
7
+ <!DOCTYPE html>
8
+ <html>
9
+ <head>
10
+ <script>location.href='http://webosose.org/';</script>
11
+ </head>
12
+ <body>
13
+ </body>
14
14
  </html>