@openfin/core 25.68.26

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 (227) hide show
  1. package/LICENSE +13 -0
  2. package/NOTICE +16 -0
  3. package/OpenFin.d.ts +1340 -0
  4. package/README.md +41 -0
  5. package/docs.README(OLD).md +82 -0
  6. package/fin.d.ts +4 -0
  7. package/package.json +33 -0
  8. package/resources/win/OpenFinRVM.exe +0 -0
  9. package/src/api/application/Factory.d.ts +145 -0
  10. package/src/api/application/Factory.js +229 -0
  11. package/src/api/application/Instance.d.ts +302 -0
  12. package/src/api/application/Instance.js +412 -0
  13. package/src/api/application/index.d.ts +3 -0
  14. package/src/api/application/index.js +15 -0
  15. package/src/api/base.d.ts +43 -0
  16. package/src/api/base.js +177 -0
  17. package/src/api/clipboard/index.d.ts +69 -0
  18. package/src/api/clipboard/index.js +88 -0
  19. package/src/api/events/application.d.ts +69 -0
  20. package/src/api/events/application.js +2 -0
  21. package/src/api/events/base.d.ts +17 -0
  22. package/src/api/events/base.js +2 -0
  23. package/src/api/events/channel.d.ts +10 -0
  24. package/src/api/events/channel.js +2 -0
  25. package/src/api/events/emitterMap.d.ts +11 -0
  26. package/src/api/events/emitterMap.js +35 -0
  27. package/src/api/events/eventAggregator.d.ts +5 -0
  28. package/src/api/events/eventAggregator.js +43 -0
  29. package/src/api/events/externalApplication.d.ts +5 -0
  30. package/src/api/events/externalApplication.js +2 -0
  31. package/src/api/events/frame.d.ts +9 -0
  32. package/src/api/events/frame.js +2 -0
  33. package/src/api/events/globalHotkey.d.ts +10 -0
  34. package/src/api/events/globalHotkey.js +2 -0
  35. package/src/api/events/platform.d.ts +18 -0
  36. package/src/api/events/platform.js +2 -0
  37. package/src/api/events/system.d.ts +22 -0
  38. package/src/api/events/system.js +2 -0
  39. package/src/api/events/view.d.ts +56 -0
  40. package/src/api/events/view.js +2 -0
  41. package/src/api/events/webcontents.d.ts +48 -0
  42. package/src/api/events/webcontents.js +2 -0
  43. package/src/api/events/window.d.ts +169 -0
  44. package/src/api/events/window.js +2 -0
  45. package/src/api/external-application/Factory.d.ts +26 -0
  46. package/src/api/external-application/Factory.js +40 -0
  47. package/src/api/external-application/Instance.d.ts +102 -0
  48. package/src/api/external-application/Instance.js +109 -0
  49. package/src/api/external-application/index.d.ts +3 -0
  50. package/src/api/external-application/index.js +15 -0
  51. package/src/api/fin.d.ts +49 -0
  52. package/src/api/fin.js +43 -0
  53. package/src/api/frame/Factory.d.ts +36 -0
  54. package/src/api/frame/Factory.js +69 -0
  55. package/src/api/frame/Instance.d.ts +121 -0
  56. package/src/api/frame/Instance.js +130 -0
  57. package/src/api/frame/index.d.ts +3 -0
  58. package/src/api/frame/index.js +15 -0
  59. package/src/api/global-hotkey/index.d.ts +38 -0
  60. package/src/api/global-hotkey/index.js +58 -0
  61. package/src/api/interappbus/channel/channel.d.ts +26 -0
  62. package/src/api/interappbus/channel/channel.js +77 -0
  63. package/src/api/interappbus/channel/channels-docs.d.ts +318 -0
  64. package/src/api/interappbus/channel/channels-docs.js +376 -0
  65. package/src/api/interappbus/channel/client.d.ts +22 -0
  66. package/src/api/interappbus/channel/client.js +84 -0
  67. package/src/api/interappbus/channel/connection-manager.d.ts +28 -0
  68. package/src/api/interappbus/channel/connection-manager.js +244 -0
  69. package/src/api/interappbus/channel/index.d.ts +22 -0
  70. package/src/api/interappbus/channel/index.js +121 -0
  71. package/src/api/interappbus/channel/protocols/classic/message-receiver.d.ts +13 -0
  72. package/src/api/interappbus/channel/protocols/classic/message-receiver.js +73 -0
  73. package/src/api/interappbus/channel/protocols/classic/strategy.d.ts +22 -0
  74. package/src/api/interappbus/channel/protocols/classic/strategy.js +84 -0
  75. package/src/api/interappbus/channel/protocols/combined/strategy.d.ts +20 -0
  76. package/src/api/interappbus/channel/protocols/combined/strategy.js +58 -0
  77. package/src/api/interappbus/channel/protocols/index.d.ts +44 -0
  78. package/src/api/interappbus/channel/protocols/index.js +2 -0
  79. package/src/api/interappbus/channel/protocols/protocol-manager.d.ts +10 -0
  80. package/src/api/interappbus/channel/protocols/protocol-manager.js +43 -0
  81. package/src/api/interappbus/channel/protocols/rtc/endpoint.d.ts +23 -0
  82. package/src/api/interappbus/channel/protocols/rtc/endpoint.js +135 -0
  83. package/src/api/interappbus/channel/protocols/rtc/ice-manager.d.ts +30 -0
  84. package/src/api/interappbus/channel/protocols/rtc/ice-manager.js +131 -0
  85. package/src/api/interappbus/channel/protocols/rtc/strategy.d.ts +22 -0
  86. package/src/api/interappbus/channel/protocols/rtc/strategy.js +87 -0
  87. package/src/api/interappbus/channel/protocols/strategy-types.d.ts +13 -0
  88. package/src/api/interappbus/channel/protocols/strategy-types.js +2 -0
  89. package/src/api/interappbus/channel/protocols/strategy.d.ts +15 -0
  90. package/src/api/interappbus/channel/protocols/strategy.js +2 -0
  91. package/src/api/interappbus/channel/provider.d.ts +31 -0
  92. package/src/api/interappbus/channel/provider.js +165 -0
  93. package/src/api/interappbus/index.d.ts +85 -0
  94. package/src/api/interappbus/index.js +175 -0
  95. package/src/api/interop/Factory.d.ts +37 -0
  96. package/src/api/interop/Factory.js +54 -0
  97. package/src/api/interop/InteropBroker.d.ts +363 -0
  98. package/src/api/interop/InteropBroker.js +914 -0
  99. package/src/api/interop/InteropClient.d.ts +268 -0
  100. package/src/api/interop/InteropClient.js +450 -0
  101. package/src/api/interop/SessionContextGroupBroker.d.ts +26 -0
  102. package/src/api/interop/SessionContextGroupBroker.js +107 -0
  103. package/src/api/interop/SessionContextGroupClient.d.ts +20 -0
  104. package/src/api/interop/SessionContextGroupClient.js +85 -0
  105. package/src/api/interop/fdc3/fdc3-1.2.d.ts +187 -0
  106. package/src/api/interop/fdc3/fdc3-1.2.js +385 -0
  107. package/src/api/interop/fdc3/fdc3.js +17 -0
  108. package/src/api/interop/fdc3/utils.d.ts +6 -0
  109. package/src/api/interop/fdc3/utils.js +17 -0
  110. package/src/api/interop/index.d.ts +4 -0
  111. package/src/api/interop/index.js +16 -0
  112. package/src/api/interop/utils.d.ts +11 -0
  113. package/src/api/interop/utils.js +36 -0
  114. package/src/api/me.d.ts +35 -0
  115. package/src/api/me.js +60 -0
  116. package/src/api/platform/Factory.d.ts +109 -0
  117. package/src/api/platform/Factory.js +188 -0
  118. package/src/api/platform/Instance.d.ts +122 -0
  119. package/src/api/platform/Instance.js +299 -0
  120. package/src/api/platform/common-utils.d.ts +6 -0
  121. package/src/api/platform/common-utils.js +16 -0
  122. package/src/api/platform/index.d.ts +3 -0
  123. package/src/api/platform/index.js +15 -0
  124. package/src/api/platform/layout/Factory.d.ts +108 -0
  125. package/src/api/platform/layout/Factory.js +189 -0
  126. package/src/api/platform/layout/Instance.d.ts +48 -0
  127. package/src/api/platform/layout/Instance.js +99 -0
  128. package/src/api/platform/layout/index.d.ts +3 -0
  129. package/src/api/platform/layout/index.js +15 -0
  130. package/src/api/platform/layout/shapes.d.ts +11 -0
  131. package/src/api/platform/layout/shapes.js +2 -0
  132. package/src/api/snapshot-source/Factory.d.ts +36 -0
  133. package/src/api/snapshot-source/Factory.js +65 -0
  134. package/src/api/snapshot-source/Instance.d.ts +30 -0
  135. package/src/api/snapshot-source/Instance.js +134 -0
  136. package/src/api/snapshot-source/index.d.ts +3 -0
  137. package/src/api/snapshot-source/index.js +15 -0
  138. package/src/api/snapshot-source/utils.d.ts +1 -0
  139. package/src/api/snapshot-source/utils.js +5 -0
  140. package/src/api/system/application.d.ts +6 -0
  141. package/src/api/system/application.js +2 -0
  142. package/src/api/system/entity.d.ts +11 -0
  143. package/src/api/system/entity.js +2 -0
  144. package/src/api/system/index.d.ts +957 -0
  145. package/src/api/system/index.js +1241 -0
  146. package/src/api/system/installedApps.d.ts +6 -0
  147. package/src/api/system/installedApps.js +2 -0
  148. package/src/api/system/log.d.ts +11 -0
  149. package/src/api/system/log.js +2 -0
  150. package/src/api/system/process.d.ts +15 -0
  151. package/src/api/system/process.js +2 -0
  152. package/src/api/system/proxy.d.ts +15 -0
  153. package/src/api/system/proxy.js +2 -0
  154. package/src/api/system/queryPermissionTypes.d.ts +1 -0
  155. package/src/api/system/queryPermissionTypes.js +2 -0
  156. package/src/api/system/registry-info.d.ts +7 -0
  157. package/src/api/system/registry-info.js +2 -0
  158. package/src/api/system/window.d.ts +16 -0
  159. package/src/api/system/window.js +2 -0
  160. package/src/api/view/Factory.d.ts +49 -0
  161. package/src/api/view/Factory.js +103 -0
  162. package/src/api/view/Instance.d.ts +379 -0
  163. package/src/api/view/Instance.js +415 -0
  164. package/src/api/view/index.d.ts +3 -0
  165. package/src/api/view/index.js +15 -0
  166. package/src/api/webcontents/main.d.ts +36 -0
  167. package/src/api/webcontents/main.js +82 -0
  168. package/src/api/window/Factory.d.ts +44 -0
  169. package/src/api/window/Factory.js +91 -0
  170. package/src/api/window/Instance.d.ts +966 -0
  171. package/src/api/window/Instance.js +1202 -0
  172. package/src/api/window/bounds-changed.d.ts +10 -0
  173. package/src/api/window/bounds-changed.js +6 -0
  174. package/src/api/window/index.d.ts +5 -0
  175. package/src/api/window/index.js +17 -0
  176. package/src/api/window/shapes.d.ts +13 -0
  177. package/src/api/window/shapes.js +2 -0
  178. package/src/environment/environment.d.ts +28 -0
  179. package/src/environment/environment.js +4 -0
  180. package/src/environment/node-env.d.ts +25 -0
  181. package/src/environment/node-env.js +64 -0
  182. package/src/environment/openfin-env.d.ts +29 -0
  183. package/src/environment/openfin-env.js +105 -0
  184. package/src/mock.d.ts +4 -0
  185. package/src/mock.js +91 -0
  186. package/src/shapes/ERROR_BOX_TYPES.d.ts +6 -0
  187. package/src/shapes/ERROR_BOX_TYPES.js +10 -0
  188. package/src/shapes/EntityType.d.ts +1 -0
  189. package/src/shapes/EntityType.js +2 -0
  190. package/src/shapes/LayoutPresetType.d.ts +1 -0
  191. package/src/shapes/LayoutPresetType.js +2 -0
  192. package/src/shapes/Platform.d.ts +112 -0
  193. package/src/shapes/Platform.js +16 -0
  194. package/src/shapes/WebOptions.d.ts +12 -0
  195. package/src/shapes/WebOptions.js +2 -0
  196. package/src/shapes/WindowOptions.d.ts +42 -0
  197. package/src/shapes/WindowOptions.js +2 -0
  198. package/src/shapes/protocol.d.ts +178 -0
  199. package/src/shapes/protocol.js +2 -0
  200. package/src/transport/fin_store.d.ts +4 -0
  201. package/src/transport/fin_store.js +16 -0
  202. package/src/transport/transport-errors.d.ts +17 -0
  203. package/src/transport/transport-errors.js +39 -0
  204. package/src/transport/transport.d.ts +57 -0
  205. package/src/transport/transport.js +195 -0
  206. package/src/transport/wire.d.ts +76 -0
  207. package/src/transport/wire.js +39 -0
  208. package/src/util/asyncFilter.d.ts +1 -0
  209. package/src/util/asyncFilter.js +7 -0
  210. package/src/util/errors.d.ts +9 -0
  211. package/src/util/errors.js +14 -0
  212. package/src/util/exhaustive.d.ts +1 -0
  213. package/src/util/exhaustive.js +7 -0
  214. package/src/util/http.d.ts +11 -0
  215. package/src/util/http.js +83 -0
  216. package/src/util/normalize-config.d.ts +3 -0
  217. package/src/util/normalize-config.js +47 -0
  218. package/src/util/promises.d.ts +5 -0
  219. package/src/util/promises.js +27 -0
  220. package/src/util/ref-counter.d.ts +7 -0
  221. package/src/util/ref-counter.js +51 -0
  222. package/src/util/runtimeVersioning.d.ts +3 -0
  223. package/src/util/runtimeVersioning.js +25 -0
  224. package/src/util/utilTypes.d.ts +8 -0
  225. package/src/util/utilTypes.js +2 -0
  226. package/src/util/validate.d.ts +3 -0
  227. package/src/util/validate.js +11 -0
@@ -0,0 +1,957 @@
1
+ import { EmitterBase } from '../base';
2
+ import { ApplicationInfo } from './application';
3
+ import { WindowInfo } from './window';
4
+ import { GetLogRequestType, LogInfo, LogLevel } from './log';
5
+ import { ProxyInfo, ProxyConfig } from './proxy';
6
+ import { ProcessInfo } from './process';
7
+ import { Entity, EntityInfo } from './entity';
8
+ import Transport from '../../transport/transport';
9
+ import { RegistryInfo } from './registry-info';
10
+ import { SystemEvents } from '../events/system';
11
+ import { InstalledApps } from './installedApps';
12
+ import Identity = OpenFin.Identity;
13
+ /**
14
+ * AppAssetInfo interface
15
+ * @typedef { object } AppAssetInfo
16
+ * @property { string } src The URL to a zip file containing the package files (executables, dlls, etc…)
17
+ * @property { string } alias The name of the asset
18
+ * @property { string } version The version of the package
19
+ * @property { string } target Specify default executable to launch. This option can be overridden in launchExternalProcess
20
+ * @property { string } args The default command line arguments for the aforementioned target.
21
+ * @property { boolean } mandatory When set to true, the app will fail to load if the asset cannot be downloaded.
22
+ * When set to false, the app will continue to load if the asset cannot be downloaded. (Default: true)
23
+ */
24
+ /**
25
+ * AppAssetRequest interface
26
+ * @typedef { object } AppAssetRequest
27
+ * @property { string } alias The name of the asset
28
+ */
29
+ /**
30
+ * ApplicationInfo interface
31
+ * @typedef { object } ApplicationInfo
32
+ * @property { boolean } isPlatform true when the application is a Platform controller
33
+ * @property { boolean } isRunning true when the application is running
34
+ * @property { string } uuid uuid of the application
35
+ * @property { string } parentUuid uuid of the application that launches this application
36
+ */
37
+ /**
38
+ * @typedef { object } ClearCacheOption
39
+ * @summary Clear cache options.
40
+ * @desc These are the options required by the clearCache function.
41
+ *
42
+ * @property {boolean} appcache html5 application cache
43
+ * @property {boolean} cache browser data cache for html files and images
44
+ * @property {boolean} cookies browser cookies
45
+ * @property {boolean} localStorage browser data that can be used across sessions
46
+ */
47
+ /**
48
+ * CookieInfo interface
49
+ * @typedef { object } CookieInfo
50
+ * @property { string } name The name of the cookie
51
+ * @property { string } domain The domain of the cookie
52
+ * @property { string } path The path of the cookie
53
+ */
54
+ /**
55
+ * CookieOption interface
56
+ * @typedef { object } CookieOption
57
+ * @property { string } name The name of the cookie
58
+ */
59
+ /**
60
+ * CpuInfo interface
61
+ * @typedef { object } CpuInfo
62
+ * @property { string } model The model of the cpu
63
+ * @property { number } speed The number in MHz
64
+ * @property { Time } times The numbers of milliseconds the CPU has spent in different modes.
65
+ */
66
+ /**
67
+ * CrashReporterState interface
68
+ * @typedef { object } CrashReporterState
69
+ * @property { boolean } diagnosticsMode In diagnostics mode the crash reporter will send diagnostic logs to
70
+ * the OpenFin reporting service on runtime shutdown
71
+ * @property { boolean } isRunning check if it's running
72
+ */
73
+ /**
74
+ * CrashReporterOptions interface
75
+ * @typedef { object } CrashReporterOptions
76
+ * @property { boolean } diagnosticsMode In diagnostics mode the crash reporter will send diagnostic logs to
77
+ * the OpenFin reporting service on runtime shutdown
78
+ */
79
+ /**
80
+ * DipRect interface
81
+ * @typedef { object } DipRect
82
+ * @property { Rect } dipRect The DIP coordinates
83
+ * @property { Rect } scaledRect The scale coordinates
84
+ */
85
+ /**
86
+ * DipScaleRects interface
87
+ * @typedef { object } DipScaleRects
88
+ * @property { Rect } dipRect The DIP coordinates
89
+ * @property { Rect } scaledRect The scale coordinates
90
+ */
91
+ /**
92
+ * DownloadPreloadInfo interface
93
+ * @typedef { object } DownloadPreloadInfo
94
+ * @desc downloadPreloadScripts function return value
95
+ * @property { string } url url to the preload script
96
+ * @property { string } error error during preload script acquisition
97
+ * @property { boolean } succeess download operation success
98
+ */
99
+ /**
100
+ * DownloadPreloadOption interface
101
+ * @typedef { object } DownloadPreloadOption
102
+ * @desc These are the options object required by the downloadPreloadScripts function
103
+ * @property { string } url url to the preload script
104
+ */
105
+ /**
106
+ * Entity interface
107
+ * @typedef { object } Entity
108
+ * @property { string } type The type of the entity
109
+ * @property { string } uuid The uuid of the entity
110
+ */
111
+ /**
112
+ * EntityInfo interface
113
+ * @typedef { object } EntityInfo
114
+ * @property { string } name The name of the entity
115
+ * @property { string } uuid The uuid of the entity
116
+ * @property { Identity } parent The parent of the entity
117
+ * @property { string } entityType The type of the entity
118
+ */
119
+ /**
120
+ * ExternalApplicationInfo interface
121
+ * @typedef { object } ExternalApplicationInfo
122
+ * @property { Identity } parent The parent identity
123
+ */
124
+ /**
125
+ * ExternalConnection interface
126
+ * @typedef { object } ExternalConnection
127
+ * @property { string } token The token to broker an external connection
128
+ * @property { string } uuid The uuid of the external connection
129
+ */
130
+ /**
131
+ * ExternalProcessRequestType interface
132
+ * @typedef { object } ExternalProcessRequestType
133
+ * @property { string } path The file path to where the running application resides
134
+ * @property { string } arguments The argument passed to the running application
135
+ * @property { LaunchExternalProcessListener } listener This is described in the {LaunchExternalProcessListner} type definition
136
+ * @property { string } initialWindowState Initial window state after launching: 'normal' (default), 'minimized', 'maximized'
137
+ * @property { string } cwd current working directory
138
+ */
139
+ /**
140
+ * FrameInfo interface
141
+ * @typedef { object } FrameInfo
142
+ * @property { string } name The name of the frame
143
+ * @property { string } uuid The uuid of the frame
144
+ * @property { EntityType } entityType The entity type, could be 'window', 'iframe', 'external connection' or 'unknown'
145
+ * @property { Identity } parent The parent identity
146
+ */
147
+ /**
148
+ * GetLogRequestType interface
149
+ * @typedef { object } GetLogRequestType
150
+ * @property { string } name The name of the running application
151
+ * @property { number } endFile The file length of the log file
152
+ * @property { number } sizeLimit The set size limit of the log file
153
+ */
154
+ /**
155
+ * GpuInfo interface
156
+ * @typedef { object } GpuInfo
157
+ * @property { string } name The graphics card name
158
+ */
159
+ /**
160
+ * HostSpecs interface
161
+ * @typedef { object } HostSpecs
162
+ * @property { boolean } aeroGlassEnabled Value to check if Aero Glass theme is supported on Windows platforms
163
+ * @property { string } arch "x86" for 32-bit or "x86_64" for 64-bit
164
+ * @property { Array<CpuInfo> } cpus The same payload as Node's os.cpus()
165
+ * @property { GpuInfo } gpu The graphics card name
166
+ * @property { number } memory The same payload as Node's os.totalmem()
167
+ * @property { string } name The OS name and version/edition
168
+ * @property { boolean } screenSaver Value to check if screensaver is running. Supported on Windows only
169
+ */
170
+ /**
171
+ * Identity interface
172
+ * @typedef { object } Identity
173
+ * @property { string } name Optional - the name of the component
174
+ * @property { string } uuid Universally unique identifier of the application
175
+ */
176
+ /**
177
+ * LogInfo interface
178
+ * @typedef { object } LogInfo
179
+ * @property { string } name The filename of the log
180
+ * @property { number } size The size of the log in bytes
181
+ * @property { string } date The unix time at which the log was created "Thu Jan 08 2015 14:40:30 GMT-0500 (Eastern Standard Time)"
182
+ */
183
+ /**
184
+ * ManifestInfo interface
185
+ * @typedef { object } ManifestInfo
186
+ * @property { string } uuid The uuid of the application
187
+ * @property { string } manifestUrl The runtime manifest URL
188
+ */
189
+ /**
190
+ * MonitorDetails interface
191
+ * @typedef { object } MonitorDetails
192
+ * @property { DipScaleRects } available The available DIP scale coordinates
193
+ * @property { Rect } availableRect The available monitor coordinates
194
+ * @property { string } deviceId The device id of the display
195
+ * @property { boolean } displayDeviceActive true if the display is active
196
+ * @property { number } deviceScaleFactor The device scale factor
197
+ * @property { Rect } monitorRect The monitor coordinates
198
+ * @property { string } name The name of the display
199
+ * @property { Point } dpi The dots per inch
200
+ * @property { DipScaleRects } monitor The monitor coordinates
201
+ */
202
+ /**
203
+ * MonitorInfo interface
204
+ * @typedef { object } MonitorInfo
205
+ * @property { number } deviceScaleFactor The device scale factor
206
+ * @property { Point } dpi The dots per inch
207
+ * @property { Array<MonitorDetails> } nonPrimaryMonitors The array of monitor details
208
+ * @property { MonitorDetails } primaryMonitor The monitor details
209
+ * @property { string } reason always "api-query"
210
+ * @property { TaskBar } taskBar The taskbar on monitor
211
+ * @property { DipRect } virtualScreen The virtual display screen coordinates
212
+ */
213
+ /**
214
+ * @typedef { verbose | info | warning | error | fatal } LogLevel
215
+ * @summary Log verbosity levels.
216
+ * @desc Describes the minimum level (inclusive) above which logs will be written
217
+ *
218
+ * @property { string } verbose all logs written
219
+ * @property { string } info info and above
220
+ * @property { string } warning warning and above
221
+ * @property { string } error error and above
222
+ * @property { string } fatal fatal only, indicates a crash is imminent
223
+ */
224
+ /**
225
+ * PointTopLeft interface
226
+ * @typedef { object } PointTopLeft
227
+ * @property { number } top The mouse top position in virtual screen coordinates
228
+ * @property { number } left The mouse left position in virtual screen coordinates
229
+ */
230
+ /**
231
+ * Point interface
232
+ * @typedef { object } Point
233
+ * @property { number } x The mouse x position
234
+ * @property { number } y The mouse y position
235
+ */
236
+ /**
237
+ * ProcessInfo interface
238
+ * @typedef { object } ProcessInfo
239
+ * @property { number } cpuUsage The percentage of total CPU usage
240
+ * @property { string } name The application name
241
+ * @property { number } nonPagedPoolUsage The current nonpaged pool usage in bytes
242
+ * @property { number } pageFaultCount The number of page faults
243
+ * @property { number } pagedPoolUsage The current paged pool usage in bytes
244
+ * @property { number } pagefileUsage The total amount of memory in bytes that the memory manager has committed
245
+ * @property { number } peakNonPagedPoolUsage The peak nonpaged pool usage in bytes
246
+ * @property { number } peakPagedPoolUsage The peak paged pool usage in bytes
247
+ * @property { number } peakPagefileUsage The peak value in bytes of pagefileUsage during the lifetime of this process
248
+ * @property { number } peakWorkingSetSize The peak working set size in bytes
249
+ * @property { number } processId The native process identifier
250
+ * @property { string } uuid The application UUID
251
+ * @property { number } workingSetSize The current working set size (both shared and private data) in bytes
252
+ */
253
+ /**
254
+ * SystemProcessInfo interface
255
+ * @typedef { object } SystemProcessInfo
256
+ * @property { ProcessDetails } browserProcess Info on browser process
257
+ * @property { Array<AppProcessInfo> } apps Array of apps and their process info
258
+ */
259
+ /**
260
+ * AppProcessInfo interface
261
+ * @typedef { object } AppProcessInfo
262
+ * @property { string } uuid The uuid of the application
263
+ * @property { Array<EntityProcessDetails> } entities Array of process info for each window and view for the application
264
+ */
265
+ /**
266
+ * EntityProcessDetails interface
267
+ * @typedef { object } EntityProcessDetails
268
+ * @property { string } uuid The uuid for the entity
269
+ * @property { string } name The name for the entity
270
+ * @property { string } url URL associated with the entity
271
+ * @property { string } entityType Type for the entity: window or view
272
+ * @property { number } cpuUsage The percentage of total CPU usage
273
+ * @property { number } nonPagedPoolUsage The current nonpaged pool usage in bytes
274
+ * @property { number } pageFaultCount The number of page faults
275
+ * @property { number } pagedPoolUsage The current paged pool usage in bytes
276
+ * @property { number } pagefileUsage The total amount of memory in bytes that the memory manager has committed
277
+ * @property { number } peakNonPagedPoolUsage The peak nonpaged pool usage in bytes
278
+ * @property { number } peakPagedPoolUsage The peak paged pool usage in bytes
279
+ * @property { number } peakPagefileUsage The peak value in bytes of pagefileUsage during the lifetime of this process
280
+ * @property { number } peakWorkingSetSize The peak working set size in bytes
281
+ * @property { number } privateSetSize The current working set size (not shared)
282
+ * @property { number } workingSetSize The current working set size (both shared and private data) in bytes
283
+ * @property { number } pid The native process identifier
284
+ * @property { Array<FrameProcessDetails> } frames Array of process info for each iframe corresponeding to the entity
285
+ */
286
+ /**
287
+ * FrameProcessDetails interface
288
+ * @typedef { object } FrameProcessDetails
289
+ * @property { string } url Current URL associated with the process
290
+ * @property { string } entityType Type for the frame
291
+ * @property { number } cpuUsage The percentage of total CPU usage
292
+ * @property { number } nonPagedPoolUsage The current nonpaged pool usage in bytes
293
+ * @property { number } pageFaultCount The number of page faults
294
+ * @property { number } pagedPoolUsage The current paged pool usage in bytes
295
+ * @property { number } pagefileUsage The total amount of memory in bytes that the memory manager has committed
296
+ * @property { number } peakNonPagedPoolUsage The peak nonpaged pool usage in bytes
297
+ * @property { number } peakPagedPoolUsage The peak paged pool usage in bytes
298
+ * @property { number } peakPagefileUsage The peak value in bytes of pagefileUsage during the lifetime of this process
299
+ * @property { number } peakWorkingSetSize The peak working set size in bytes
300
+ * @property { number } workingSetSize The current working set size (both shared and private data) in bytes
301
+ * @property { number } pid The native process identifier
302
+ */
303
+ /**
304
+ * ProcessDetails interface
305
+ * @typedef { object } ProcessDetails
306
+ * @property { number } cpuUsage The percentage of total CPU usage
307
+ * @property { number } nonPagedPoolUsage The current nonpaged pool usage in bytes
308
+ * @property { number } pageFaultCount The number of page faults
309
+ * @property { number } pagedPoolUsage The current paged pool usage in bytes
310
+ * @property { number } pagefileUsage The total amount of memory in bytes that the memory manager has committed
311
+ * @property { number } peakNonPagedPoolUsage The peak nonpaged pool usage in bytes
312
+ * @property { number } peakPagedPoolUsage The peak paged pool usage in bytes
313
+ * @property { number } peakPagefileUsage The peak value in bytes of pagefileUsage during the lifetime of this process
314
+ * @property { number } peakWorkingSetSize The peak working set size in bytes
315
+ * @property { number } workingSetSize The current working set size (both shared and private data) in bytes
316
+ * @property { number } pid The native process identifier
317
+ */
318
+ /**
319
+ * ProxyConfig interface
320
+ * @typedef { object } ProxyConfig
321
+ * @property { string } proxyAddress The configured proxy address
322
+ * @property { number } proxyPort The configured proxy port
323
+ * @property { string } type The proxy Type
324
+ */
325
+ /**
326
+ * ProxyInfo interface
327
+ * @typedef { object } ProxyInfo
328
+ * @property { ProxyConfig } config The proxy config
329
+ * @property { ProxySystemInfo } system The proxy system info
330
+ */
331
+ /**
332
+ * QueryPermissionResult interface
333
+ * @typedef { object } QueryPermissionResult
334
+ * @property { string } permission The full name of a secured API
335
+ * @property { string } state 'granted' | 'denied' | 'unavailable'
336
+ * @property { boolean } granted true if permission is granted
337
+ * @property { object } [rawValue] The value of permission
338
+ */
339
+ /**
340
+ * ProxySystemInfo interface
341
+ * @typedef { object } ProxySystemInfo
342
+ * @property { string } autoConfigUrl The auto configuration url
343
+ * @property { string } bypass The proxy bypass info
344
+ * @property { boolean } enabled Value to check if a proxy is enabled
345
+ * @property { string } proxy The proxy info
346
+ */
347
+ /**
348
+ * Rect interface
349
+ * @typedef { object } Rect
350
+ * @property { number } bottom The bottom-most coordinate
351
+ * @property { number } left The left-most coordinate
352
+ * @property { number } right The right-most coordinate
353
+ * @property { number } top The top-most coordinate
354
+ */
355
+ /**
356
+ * RegistryInfo interface
357
+ * @typedef { object } RegistryInfo
358
+ * @property { any } data The registry data
359
+ * @property { string } rootKey The registry root key
360
+ * @property { string } subkey The registry key
361
+ * @property { string } type The registry type
362
+ * @property { string } value The registry value name
363
+ */
364
+ /**
365
+ * RuntimeDownloadOptions interface
366
+ * @typedef { object } RuntimeDownloadOptions
367
+ * @desc These are the options object required by the downloadRuntime function.
368
+ * @property { string } version The given version to download
369
+ */
370
+ /**
371
+ * RuntimeInfo interface
372
+ * @typedef { object } RuntimeInfo
373
+ * @property { string } architecture The runtime build architecture
374
+ * @property { string } manifestUrl The runtime manifest URL
375
+ * @property { number } port The runtime websocket port
376
+ * @property { string } securityRealm The runtime security realm
377
+ * @property { string } version The runtime version
378
+ * @property { object } args the command line argument used to start the Runtime
379
+ * @property { string } chromeVersion The chrome version
380
+ * @property { string } electronVersion The electron version
381
+ */
382
+ /**
383
+ * RVMInfo interface
384
+ * @typedef { object } RVMInfo
385
+ * @property { string } action The name of action: "get-rvm-info"
386
+ * @property { string } appLogDirectory The app log directory
387
+ * @property { string } path The path of OpenfinRVM.exe
388
+ * @property { string } 'start-time' The start time of RVM
389
+ * @property { string } version The version of RVM
390
+ * @property { string } 'working-dir' The working directory
391
+ */
392
+ /**
393
+ * RvmLaunchOptions interface
394
+ * @typedef { object } RvmLaunchOptions
395
+ * @property { boolean } [noUi] true if no UI when launching
396
+ * @property { object } [userAppConfigArgs] The user app configuration args
397
+ */
398
+ /**
399
+ * ServiceIdentifier interface
400
+ * @typedef { object } ServiceIdentifier
401
+ * @property { string } name The name of the service
402
+ */
403
+ /**
404
+ * ServiceConfiguration interface
405
+ * @typedef { object } ServiceConfiguration
406
+ * @property { object } config The service configuration
407
+ * @property { string } name The name of the service
408
+ */
409
+ /**
410
+ * ShortCutConfig interface
411
+ * @typedef { object } ShortCutConfig
412
+ * @property { boolean } desktop true if application has a shortcut on the desktop
413
+ * @property { boolean } startMenu true if application has shortcut in the start menu
414
+ * @property { boolean } systemStartup true if application will be launched on system startup
415
+ */
416
+ /**
417
+ * SubOptions interface
418
+ * @typedef { Object } SubOptions
419
+ * @property { number } timestamp The event timestamp
420
+ */
421
+ /**
422
+ * TaskBar interface
423
+ * @typedef { object } TaskBar
424
+ * @property { string } edge which edge of a monitor the taskbar is on
425
+ * @property { Rect } rect The taskbar coordinates
426
+ */
427
+ /**
428
+ * TerminateExternalRequestType interface
429
+ * @typedef { object } TerminateExternalRequestType
430
+ * @property { string } uuid The uuid of the running application
431
+ * @property { number } timeout Time out period before the running application terminates
432
+ * @property { boolean } killtree Value to terminate the running application
433
+ */
434
+ /**
435
+ * Time interface
436
+ * @typedef { object } Time
437
+ * @property { number } user The number of milliseconds the CPU has spent in user mode
438
+ * @property { number } nice The number of milliseconds the CPU has spent in nice mode
439
+ * @property { number } sys The number of milliseconds the CPU has spent in sys mode
440
+ * @property { number } idle The number of milliseconds the CPU has spent in idle mode
441
+ * @property { number } irq The number of milliseconds the CPU has spent in irq mode
442
+ */
443
+ /**
444
+ * TrayInfo interface
445
+ * @typedef { object } TrayInfo
446
+ * @property { Bounds } bounds The bound of tray icon in virtual screen pixels
447
+ * @property { MonitorInfo } monitorInfo Please see fin.System.getMonitorInfo for more information
448
+ * @property { number } x copy of bounds.x
449
+ * @property { number } y copy of bounds.y
450
+ */
451
+ /**
452
+ * WindowDetail interface
453
+ * @typedef { object } WindowDetail
454
+ * @property { number } bottom The bottom-most coordinate of the window
455
+ * @property { number } height The height of the window
456
+ * @property { boolean } isShowing Value to check if the window is showing
457
+ * @property { number } left The left-most coordinate of the window
458
+ * @property { string } name The name of the window
459
+ * @property { number } right The right-most coordinate of the window
460
+ * @property { string } state The window state
461
+ * @property { number } top The top-most coordinate of the window
462
+ * @property { number } width The width of the window
463
+ */
464
+ /**
465
+ * WindowInfo interface
466
+ * @typedef { object } WindowInfo
467
+ * @property { Array<WindowDetail> } childWindows The array of child windows details
468
+ * @property { WindowDetail } mainWindow The main window detail
469
+ * @property { string } uuid The uuid of the application
470
+ */
471
+ /**
472
+ * CertifiedAppInfo interface
473
+ * @typedef { object } CertifiedAppInfo
474
+ * @property { boolean } isRunning true if the app is running
475
+ * @property { boolean } [isOptedIntoCertfiedApp] true if the app has opted into certification
476
+ * @property { boolean } [isCertified] true if the app is certified
477
+ * @property { boolean } [isSSLCertified] true if the app manifest's SSL certificate is valid
478
+ * @property { boolean } [isPresentInAppDirectory] true if the app is present in the OpenFin app directory
479
+ */
480
+ /**
481
+ * An object representing the core of OpenFin Runtime. Allows the developer
482
+ * to perform system-level actions, such as accessing logs, viewing processes,
483
+ * clearing the cache and exiting the runtime as well as listen to <a href="tutorial-System.EventEmitter.html">system events</a>.
484
+ * @namespace
485
+ */
486
+ export default class System extends EmitterBase<SystemEvents> {
487
+ constructor(wire: Transport);
488
+ private sendExternalProcessRequest;
489
+ /**
490
+ * Adds a listener to the end of the listeners array for the specified event.
491
+ * @param { string | symbol } eventType - The type of the event.
492
+ * @param { Function } listener - Called whenever an event of the specified type occurs.
493
+ * @param { SubOptions } [options] - Option to support event timestamps.
494
+ * @return {Promise.<this>}
495
+ * @function addListener
496
+ * @memberof System
497
+ * @instance
498
+ * @tutorial System.EventEmitter
499
+ */
500
+ /**
501
+ * Adds a listener to the end of the listeners array for the specified event.
502
+ * @param { string | symbol } eventType - The type of the event.
503
+ * @param { Function } listener - Called whenever an event of the specified type occurs.
504
+ * @param { SubOptions } [options] - Option to support event timestamps.
505
+ * @return {Promise.<this>}
506
+ * @function on
507
+ * @memberof System
508
+ * @instance
509
+ * @tutorial System.EventEmitter
510
+ */
511
+ /**
512
+ * Adds a one time listener for the event. The listener is invoked only the first time the event is fired, after which it is removed.
513
+ * @param { string | symbol } eventType - The type of the event.
514
+ * @param { Function } listener - The callback function.
515
+ * @param { SubOptions } [options] - Option to support event timestamps.
516
+ * @return {Promise.<this>}
517
+ * @function once
518
+ * @memberof System
519
+ * @instance
520
+ * @tutorial System.EventEmitter
521
+ */
522
+ /**
523
+ * Adds a listener to the beginning of the listeners array for the specified event.
524
+ * @param { string | symbol } eventType - The type of the event.
525
+ * @param { Function } listener - The callback function.
526
+ * @param { SubOptions } [options] - Option to support event timestamps.
527
+ * @return {Promise.<this>}
528
+ * @function prependListener
529
+ * @memberof System
530
+ * @instance
531
+ * @tutorial System.EventEmitter
532
+ */
533
+ /**
534
+ * Adds a one time listener for the event. The listener is invoked only the first time the event is fired, after which it is removed.
535
+ * The listener is added to the beginning of the listeners array.
536
+ * @param { string | symbol } eventType - The type of the event.
537
+ * @param { Function } listener - The callback function.
538
+ * @param { SubOptions } [options] - Option to support event timestamps.
539
+ * @return {Promise.<this>}
540
+ * @function prependOnceListener
541
+ * @memberof System
542
+ * @instance
543
+ * @tutorial System.EventEmitter
544
+ */
545
+ /**
546
+ * Remove a listener from the listener array for the specified event.
547
+ * Caution: Calling this method changes the array indices in the listener array behind the listener.
548
+ * @param { string | symbol } eventType - The type of the event.
549
+ * @param { Function } listener - The callback function.
550
+ * @param { SubOptions } [options] - Option to support event timestamps.
551
+ * @return {Promise.<this>}
552
+ * @function removeListener
553
+ * @memberof System
554
+ * @instance
555
+ * @tutorial System.EventEmitter
556
+ */
557
+ /**
558
+ * Removes all listeners, or those of the specified event.
559
+ * @param { string | symbol } [eventType] - The type of the event.
560
+ * @return {Promise.<this>}
561
+ * @function removeAllListeners
562
+ * @memberof System
563
+ * @instance
564
+ * @tutorial System.EventEmitter
565
+ */
566
+ /**
567
+ * Returns the version of the runtime. The version contains the major, minor,
568
+ * build and revision numbers.
569
+ * @return {Promise.<string>}
570
+ * @tutorial System.getVersion
571
+ */
572
+ getVersion(): Promise<string>;
573
+ /**
574
+ * Clears cached data containing application resource
575
+ * files (images, HTML, JavaScript files), cookies, and items stored in the
576
+ * Local Storage.
577
+ * @param { ClearCacheOption } options - See tutorial for more details.
578
+ * @return {Promise.<void>}
579
+ * @tutorial System.clearCache
580
+ */
581
+ clearCache(options: OpenFin.ClearCacheOption): Promise<void>;
582
+ /**
583
+ * Clears all cached data when OpenFin Runtime exits.
584
+ * @return {Promise.<void>}
585
+ * @tutorial System.deleteCacheOnExit
586
+ */
587
+ deleteCacheOnExit(): Promise<void>;
588
+ /**
589
+ * Exits the Runtime.
590
+ * @return {Promise.<void>}
591
+ * @tutorial System.exit
592
+ */
593
+ exit(): Promise<void>;
594
+ /**
595
+ * Fetches a JSON manifest using the browser process and returns a Javascript object.
596
+ * @param { string } manifestUrl The URL of the manifest to fetch.
597
+ * @return {Promise.<any>}
598
+ * @tutorial System.fetchManifest
599
+ */
600
+ fetchManifest(manifestUrl: string): Promise<any>;
601
+ /**
602
+ * Writes any unwritten cookies data to disk.
603
+ * @return {Promise.<void>}
604
+ * @tutorial System.flushCookieStore
605
+ */
606
+ flushCookieStore(): Promise<void>;
607
+ /**
608
+ * Retrieves an array of data (name, ids, bounds) for all application windows.
609
+ * @return {Promise.Array.<WindowInfo>}
610
+ * @tutorial System.getAllWindows
611
+ */
612
+ getAllWindows(): Promise<Array<WindowInfo>>;
613
+ /**
614
+ * Retrieves an array of data for all applications.
615
+ * @return {Promise.Array.<ApplicationInfo>}
616
+ * @tutorial System.getAllApplications
617
+ */
618
+ getAllApplications(): Promise<Array<ApplicationInfo>>;
619
+ /**
620
+ * Retrieves the command line argument string that started OpenFin Runtime.
621
+ * @return {Promise.<string>}
622
+ * @tutorial System.getCommandLineArguments
623
+ */
624
+ getCommandLineArguments(): Promise<string>;
625
+ /**
626
+ * Get the current state of the crash reporter.
627
+ * @return {Promise.<CrashReporterState>}
628
+ * @tutorial System.getCrashReporterState
629
+ */
630
+ getCrashReporterState(): Promise<OpenFin.CrashReporterState>;
631
+ /**
632
+ * Start the crash reporter if not already running.
633
+ * @param { CrashReporterOptions } options - configure crash reporter
634
+ * @return {Promise.<CrashReporterState>}
635
+ * @tutorial System.startCrashReporter
636
+ */
637
+ startCrashReporter(options: OpenFin.CrashReporterOptions | {
638
+ diagnosticMode: boolean;
639
+ }): Promise<OpenFin.CrashReporterState>;
640
+ /**
641
+ * Returns a hex encoded hash of the machine id and the currently logged in user name.
642
+ * This is the recommended way to uniquely identify a user / machine combination.
643
+ * @return {Promise.<string>}
644
+ * @tutorial System.getUniqueUserId
645
+ * @static
646
+ */
647
+ getUniqueUserId(): Promise<string>;
648
+ /**
649
+ * Retrieves a frame info object for the uuid and name passed in
650
+ * @param { string } uuid - The UUID of the target.
651
+ * @param { string } name - The name of the target.
652
+ * @return {Promise.<EntityInfo>}
653
+ * @tutorial System.getEntityInfo
654
+ */
655
+ getEntityInfo(uuid: string, name: string): Promise<EntityInfo>;
656
+ /**
657
+ * Gets the value of a given environment variable on the computer on which the runtime is installed
658
+ * @return {Promise.<string>}
659
+ * @tutorial System.getEnvironmentVariable
660
+ */
661
+ getEnvironmentVariable(envName: string): Promise<string>;
662
+ /**
663
+ * Get current focused window.
664
+ * @return {Promise.<WindowInfo>}
665
+ * @tutorial System.getFocusedWindow
666
+ */
667
+ getFocusedWindow(): Promise<WindowInfo>;
668
+ /**
669
+ * Returns information about the given app's certification status
670
+ * @return {Promise.<CertifiedAppInfo>}
671
+ * @tutorial System.isAppCertified
672
+ */
673
+ isAppCertified(manifestUrl: string): Promise<OpenFin.CertifiedAppInfo>;
674
+ /**
675
+ * Returns an array of all the installed runtime versions in an object.
676
+ * @return {Promise.<string[]>}
677
+ * @tutorial System.getInstalledRuntimes
678
+ */
679
+ getInstalledRuntimes(): Promise<string[]>;
680
+ getInstalledApps(): Promise<InstalledApps>;
681
+ /**
682
+ * Retrieves the contents of the log with the specified filename.
683
+ * @param { GetLogRequestType } options A object that id defined by the GetLogRequestType interface
684
+ * @return {Promise.<string>}
685
+ * @tutorial System.getLog
686
+ */
687
+ getLog(options: GetLogRequestType): Promise<string>;
688
+ /**
689
+ * Returns a unique identifier (UUID) provided by the machine.
690
+ * @return {Promise.<string>}
691
+ * @tutorial System.getMachineId
692
+ */
693
+ getMachineId(): Promise<string>;
694
+ /**
695
+ * Returns the minimum (inclusive) logging level that is currently being written to the log.
696
+ * @return {Promise.<LogLevel>}
697
+ * @tutorial System.getMinLogLevel
698
+ */
699
+ getMinLogLevel(): Promise<LogLevel>;
700
+ /**
701
+ * Retrieves an array containing information for each log file.
702
+ * @return {Promise.Array<LogInfo>}
703
+ * @tutorial System.getLogList
704
+ */
705
+ getLogList(): Promise<Array<LogInfo>>;
706
+ /**
707
+ * Retrieves an object that contains data about the monitor setup of the
708
+ * computer that the runtime is running on.
709
+ * @return {Promise.<MonitorInfo>}
710
+ * @tutorial System.getMonitorInfo
711
+ */
712
+ getMonitorInfo(): Promise<OpenFin.MonitorInfo>;
713
+ /**
714
+ * Returns the mouse in virtual screen coordinates (left, top).
715
+ * @return {Promise.<PointTopLeft>}
716
+ * @tutorial System.getMousePosition
717
+ */
718
+ getMousePosition(): Promise<OpenFin.PointTopLeft>;
719
+ /**
720
+ * Retrieves an array of all of the runtime processes that are currently
721
+ * running. Each element in the array is an object containing the uuid
722
+ * and the name of the application to which the process belongs.
723
+ * @deprecated Please use our new set of process APIs:
724
+ * [Window.getProcessInfo]{@link Window#getProcessInfo}
725
+ * [View.getProcessInfo]{@link View#getProcessInfo}
726
+ * [Application.getProcessInfo]{@link Application#getProcessInfo}
727
+ * [System.getAllProcessInfo]{@link System#getAllProcessInfo}
728
+ * @return {Promise.Array.<ProcessInfo>}
729
+ * @tutorial System.getProcessList
730
+ */
731
+ getProcessList(): Promise<Array<ProcessInfo>>;
732
+ /**
733
+ * Retrieves all process information. This includes the browser process and every process associated to all entities (windows and views).
734
+ * @return {Promise.<SystemProcessInfo>}
735
+ * @tutorial System.getAllProcessInfo
736
+ * @experimental
737
+ */
738
+ getAllProcessInfo(): Promise<OpenFin.SystemProcessInfo>;
739
+ /**
740
+ * Retrieves the Proxy settings.
741
+ * @return {Promise.<ProxyInfo>}
742
+ * @tutorial System.getProxySettings
743
+ */
744
+ getProxySettings(): Promise<ProxyInfo>;
745
+ /**
746
+ * Returns information about the running Runtime in an object.
747
+ * @return {Promise.<RuntimeInfo>}
748
+ * @tutorial System.getRuntimeInfo
749
+ */
750
+ getRuntimeInfo(): Promise<OpenFin.RuntimeInfo>;
751
+ /**
752
+ * Returns information about the running RVM in an object.
753
+ * @return {Promise.<RVMInfo>}
754
+ * @tutorial System.getRvmInfo
755
+ */
756
+ getRvmInfo(): Promise<OpenFin.RVMInfo>;
757
+ /**
758
+ * Retrieves system information.
759
+ * @return {Promise.<HostSpecs>}
760
+ * @tutorial System.getHostSpecs
761
+ */
762
+ getHostSpecs(): Promise<OpenFin.HostSpecs>;
763
+ /**
764
+ * Runs an executable or batch file. A path to the file must be included in options.
765
+ * <br> A uuid may be optionally provided. If not provided, OpenFin will create a uuid for the new process.
766
+ * <br> Note: This method is restricted by default and must be enabled via
767
+ * <a href="https://developers.openfin.co/docs/api-security">API security settings</a>.
768
+ * @param { ExternalProcessRequestType } options A object that is defined in the ExternalProcessRequestType interface
769
+ * @return {Promise.<Identity>}
770
+ * @tutorial System.launchExternalProcess
771
+ */
772
+ launchExternalProcess(options: OpenFin.ExternalProcessRequestType): Promise<Identity>;
773
+ /**
774
+ * Monitors a running process. A pid for the process must be included in options.
775
+ * <br> A uuid may be optionally provided. If not provided, OpenFin will create a uuid for the new process.
776
+ * @param { ExternalProcessInfo } options See tutorial for more details
777
+ * @return {Promise.<Identity>}
778
+ * @tutorial System.monitorExternalProcess
779
+ */
780
+ monitorExternalProcess(options: OpenFin.ExternalProcessInfo): Promise<Identity>;
781
+ /**
782
+ * Writes the passed message into both the log file and the console.
783
+ * @param { string } level The log level for the entry. Can be either "info", "warning" or "error"
784
+ * @param { string } message The log message text
785
+ * @return {Promise.<void>}
786
+ * @tutorial System.log
787
+ */
788
+ log(level: string, message: string): Promise<void>;
789
+ /**
790
+ * Opens the passed URL in the default web browser. It only supports http(s) and fin(s) protocols by default.
791
+ * In order to use other custom protocols, they have to be enabled via
792
+ * <a href="https://developers.openfin.co/docs/api-security">API security settings</a>.
793
+ * File protocol and file path are not supported.
794
+ * @param { string } url The URL to open
795
+ * @return {Promise.<void>}
796
+ * @tutorial System.openUrlWithBrowser
797
+ */
798
+ openUrlWithBrowser(url: string): Promise<void>;
799
+ /**
800
+ * Removes the process entry for the passed UUID obtained from a prior call
801
+ * of fin.System.launchExternalProcess().
802
+ * @param { string } uuid The UUID for a process obtained from a prior call to fin.desktop.System.launchExternalProcess()
803
+ * @return {Promise.<void>}
804
+ * @tutorial System.releaseExternalProcess
805
+ */
806
+ releaseExternalProcess(uuid: string): Promise<void>;
807
+ /**
808
+ * Shows the Chromium Developer Tools for the specified window
809
+ * @param { Identity } identity This is a object that is defined by the Identity interface
810
+ * @return {Promise.<void>}
811
+ * @tutorial System.showDeveloperTools
812
+ */
813
+ showDeveloperTools(identity: Identity): Promise<void>;
814
+ /**
815
+ * Attempt to close an external process. The process will be terminated if it
816
+ * has not closed after the elapsed timeout in milliseconds.<br>
817
+ * Note: This method is restricted by default and must be enabled via
818
+ * <a href="https://developers.openfin.co/docs/api-security">API security settings</a>.
819
+ * @param { TerminateExternalRequestType } options A object defined in the TerminateExternalRequestType interface
820
+ * @return {Promise.<void>}
821
+ * @tutorial System.terminateExternalProcess
822
+ */
823
+ terminateExternalProcess(options: OpenFin.TerminateExternalRequestType): Promise<void>;
824
+ /**
825
+ * Update the OpenFin Runtime Proxy settings.
826
+ * @param { ProxyConfig } options A config object defined in the ProxyConfig interface
827
+ * @return {Promise.<void>}
828
+ * @tutorial System.updateProxySettings
829
+ */
830
+ updateProxySettings(options: ProxyConfig): Promise<void>;
831
+ /**
832
+ * Downloads the given application asset<br>
833
+ * Note: This method is restricted by default and must be enabled via
834
+ * <a href="https://developers.openfin.co/docs/api-security">API security settings</a>.
835
+ * @param { AppAssetInfo } appAsset App asset object
836
+ * @return {Promise.<void>}
837
+ * @tutorial System.downloadAsset
838
+ */
839
+ downloadAsset(appAsset: OpenFin.AppAssetInfo, progressListener: (progress: OpenFin.RuntimeDownloadProgress) => void): Promise<void>;
840
+ /**
841
+ * Downloads a version of the runtime.
842
+ * @param { RuntimeDownloadOptions } options - Download options.
843
+ * @param {Function} [progressListener] - called as the runtime is downloaded with progress information.
844
+ * @return {Promise.<void>}
845
+ * @tutorial System.downloadRuntime
846
+ */
847
+ downloadRuntime(options: OpenFin.RuntimeDownloadOptions, progressListener: (progress: OpenFin.RuntimeDownloadProgress) => void): Promise<void>;
848
+ /**
849
+ * Download preload scripts from given URLs
850
+ * @param {DownloadPreloadOption[]} scripts - URLs of preload scripts. See tutorial for more details.
851
+ * @return {Promise.Array<DownloadPreloadInfo>}
852
+ * @tutorial System.downloadPreloadScripts
853
+ */
854
+ downloadPreloadScripts(scripts: Array<OpenFin.DownloadPreloadOption>): Promise<Array<OpenFin.DownloadPreloadInfo>>;
855
+ /**
856
+ * Retrieves an array of data (name, ids, bounds) for all application windows.
857
+ * @return {Promise.Array.<Identity>}
858
+ * @tutorial System.getAllExternalApplications
859
+ */
860
+ getAllExternalApplications(): Promise<Array<Identity>>;
861
+ /**
862
+ * Retrieves app asset information.
863
+ * @param { AppAssetRequest } options
864
+ * @return {Promise.<AppAssetInfo>}
865
+ * @tutorial System.getAppAssetInfo
866
+ */
867
+ getAppAssetInfo(options: OpenFin.AppAssetRequest): Promise<OpenFin.AppAssetInfo>;
868
+ /**
869
+ * Get additional info of cookies.
870
+ * @param { CookieOption } options - See tutorial for more details.
871
+ * @return {Promise.Array.<CookieInfo>}
872
+ * @tutorial System.getCookies
873
+ */
874
+ getCookies(options: OpenFin.CookieOption): Promise<Array<OpenFin.CookieInfo>>;
875
+ /**
876
+ * Set the minimum log level above which logs will be written to the OpenFin log
877
+ * @param { LogLevel } The minimum level (inclusive) above which all calls to log will be written
878
+ * @return {Promise.<void>}
879
+ * @tutorial System.setMinLogLevel
880
+ */
881
+ setMinLogLevel(level: LogLevel): Promise<void>;
882
+ /**
883
+ * Retrieves the UUID of the computer on which the runtime is installed
884
+ * @param { string } uuid The uuid of the running application
885
+ * @return {Promise.<Entity>}
886
+ * @tutorial System.resolveUuid
887
+ */
888
+ resolveUuid(uuid: string): Promise<Entity>;
889
+ /**
890
+ * Retrieves an array of data for all external applications
891
+ * @param { Identity } requestingIdentity This object is described in the Identity typedef
892
+ * @param { any } data Any data type to pass to the method
893
+ * @return {Promise.<any>}
894
+ * @ignore
895
+ */
896
+ executeOnRemote(requestingIdentity: Identity, data: any): Promise<any>;
897
+ /**
898
+ * Reads the specifed value from the registry.<br>
899
+ * Note: This method is restricted by default and must be enabled via
900
+ * <a href="https://developers.openfin.co/docs/api-security">API security settings</a>.
901
+ * @param { string } rootKey - The registry root key.
902
+ * @param { string } subkey - The registry key.
903
+ * @param { string } value - The registry value name.
904
+ * @return {Promise.<RegistryInfo>}
905
+ * @tutorial System.readRegistryValue
906
+ */
907
+ readRegistryValue(rootKey: string, subkey: string, value: string): Promise<RegistryInfo>;
908
+ /**
909
+ * This function call will register a unique id and produce a token.
910
+ * The token can be used to broker an external connection.
911
+ * @param { string } uuid - A UUID for the remote connection.
912
+ * @return {Promise.<ExternalConnection>}
913
+ * @tutorial System.registerExternalConnection
914
+ */
915
+ registerExternalConnection(uuid: string): Promise<OpenFin.ExternalConnection>;
916
+ /**
917
+ * Returns the json blob found in the [desktop owner settings](https://openfin.co/documentation/desktop-owner-settings/)
918
+ * for the specified service.
919
+ * More information about desktop services can be found [here](https://developers.openfin.co/docs/desktop-services).
920
+ * @param { ServiceIdentifier } serviceIdentifier An object containing a name key that identifies the service.
921
+ * @return {Promise.<ServiceConfiguration>}
922
+ * @tutorial System.getServiceConfiguration
923
+ */
924
+ getServiceConfiguration(serviceIdentifier: OpenFin.ServiceIdentifier): Promise<OpenFin.ServiceConfiguration>;
925
+ protected getSystemAppConfig(name: string): Promise<any>;
926
+ /**
927
+ * Signals the RVM to perform a health check and returns the results as json.
928
+ * @return {Promise.<string[]>}
929
+ * @tutorial System.runRvmHealthCheck
930
+ */
931
+ runRvmHealthCheck(): Promise<string[]>;
932
+ /**
933
+ * Launch application using a manifest URL/path. It differs from Application.startFromManifest in that this API can accept a manifest using the fin protocol.
934
+ * @param {string} manifestUrl - The manifest's URL or path.
935
+ * @param {RvmLaunchOptions} [opts] - Parameters that the RVM will use.
936
+ * @return {Promise.<Manifest>}
937
+ * @experimental
938
+ * @tutorial System.launchManifest
939
+ * @static
940
+ */
941
+ launchManifest(manifestUrl: string, opts?: OpenFin.RvmLaunchOptions): Promise<OpenFin.Manifest>;
942
+ /**
943
+ * Query permission of a secured api in current context.
944
+ * @param {string} apiName - The full name of a secured API.
945
+ * @return {Promise.<QueryPermissionResult>}
946
+ * @tutorial System.queryPermissionForCurrentContext
947
+ */
948
+ queryPermissionForCurrentContext(apiName: string): Promise<OpenFin.QueryPermissionResult>;
949
+ enableNativeWindowIntegrationProvider(permissions: any): Promise<OpenFin.NativeWindowIntegrationProviderAuthorization>;
950
+ /**
951
+ * Register the usage of a component with a platform
952
+ * @param {OpenFin.RegisterUsageData} options - Object with data and type
953
+ * @return {Promise.<void>}
954
+ * @tutorial System.registerUsage
955
+ */
956
+ registerUsage({ data, type }: OpenFin.RegisterUsageData): Promise<void>;
957
+ }