@openfin/core 30.73.28 → 31.74.5

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 (80) hide show
  1. package/LICENSE.md +4 -0
  2. package/package.json +2 -2
  3. package/src/OpenFin.d.ts +1664 -173
  4. package/src/api/application/Factory.d.ts +1 -0
  5. package/src/api/application/Factory.js +1 -0
  6. package/src/api/application/Instance.d.ts +2 -1
  7. package/src/api/application/Instance.js +1 -0
  8. package/src/api/base.d.ts +2 -2
  9. package/src/api/clipboard/index.d.ts +1 -0
  10. package/src/api/clipboard/index.js +1 -0
  11. package/src/api/events/platform.d.ts +4 -5
  12. package/src/api/events/system.d.ts +5 -6
  13. package/src/api/events/webcontents.d.ts +23 -3
  14. package/src/api/external-application/Instance.d.ts +1 -1
  15. package/src/api/fin.d.ts +1 -1
  16. package/src/api/frame/Instance.d.ts +1 -1
  17. package/src/api/global-hotkey/index.d.ts +1 -1
  18. package/src/api/interappbus/channel/channel.d.ts +1 -1
  19. package/src/api/interappbus/channel/channels-docs.d.ts +7 -0
  20. package/src/api/interappbus/channel/channels-docs.js +7 -0
  21. package/src/api/interappbus/channel/client.d.ts +3 -2
  22. package/src/api/interappbus/channel/client.js +12 -5
  23. package/src/api/interappbus/channel/connection-manager.d.ts +1 -1
  24. package/src/api/interappbus/channel/index.d.ts +1 -1
  25. package/src/api/interappbus/channel/index.js +5 -7
  26. package/src/api/interappbus/channel/protocols/classic/message-receiver.d.ts +1 -1
  27. package/src/api/interappbus/channel/protocols/classic/strategy.d.ts +1 -1
  28. package/src/api/interappbus/channel/protocols/index.d.ts +3 -0
  29. package/src/api/interappbus/channel/protocols/rtc/endpoint.js +10 -2
  30. package/src/api/interappbus/channel/protocols/rtc/ice-manager.d.ts +1 -1
  31. package/src/api/interappbus/channel/protocols/rtc/strategy.js +1 -1
  32. package/src/api/interappbus/channel/provider.d.ts +1 -1
  33. package/src/api/interappbus/index.d.ts +1 -1
  34. package/src/api/interop/Factory.d.ts +1 -2
  35. package/src/api/interop/Factory.js +20 -4
  36. package/src/api/interop/InteropBroker.d.ts +15 -47
  37. package/src/api/interop/InteropBroker.js +32 -46
  38. package/src/api/interop/InteropClient.d.ts +10 -9
  39. package/src/api/interop/InteropClient.js +9 -8
  40. package/src/api/interop/SessionContextGroupClient.d.ts +1 -1
  41. package/src/api/interop/fdc3/fdc3-1.2.js +8 -8
  42. package/src/api/interop/fdc3/fdc3-2.0.d.ts +2 -2
  43. package/src/api/interop/fdc3/fdc3-2.0.js +15 -7
  44. package/src/api/interop/fdc3/fdc3.d.ts +4 -5
  45. package/src/api/interop/fdc3/overrideCheck.d.ts +4 -0
  46. package/src/api/interop/fdc3/overrideCheck.js +32 -0
  47. package/src/api/interop/fdc3/versions.d.ts +1 -0
  48. package/src/api/interop/fdc3/versions.js +2 -0
  49. package/src/api/me.d.ts +1 -1
  50. package/src/api/platform/Factory.d.ts +6 -1
  51. package/src/api/platform/Factory.js +5 -0
  52. package/src/api/platform/Instance.d.ts +4 -2
  53. package/src/api/platform/Instance.js +4 -2
  54. package/src/api/platform/layout/Factory.d.ts +4 -0
  55. package/src/api/platform/layout/Factory.js +4 -0
  56. package/src/api/platform/layout/Instance.d.ts +1 -1
  57. package/src/api/platform/layout/utils/view-overlay.d.ts +1 -1
  58. package/src/api/platform/provider.d.ts +162 -0
  59. package/src/api/platform/provider.js +2 -0
  60. package/src/api/snapshot-source/Factory.d.ts +1 -0
  61. package/src/api/snapshot-source/Factory.js +1 -0
  62. package/src/api/snapshot-source/Instance.d.ts +1 -1
  63. package/src/api/system/index.d.ts +1 -471
  64. package/src/api/system/index.js +6 -476
  65. package/src/api/view/Instance.d.ts +7 -3
  66. package/src/api/view/Instance.js +7 -4
  67. package/src/api/webcontents/main.d.ts +18 -4
  68. package/src/api/window/Instance.d.ts +21 -1
  69. package/src/api/window/Instance.js +20 -0
  70. package/src/browser.js +1 -1
  71. package/src/mock.js +1 -1
  72. package/src/namespaces.d.ts +21 -0
  73. package/src/namespaces.js +24 -0
  74. package/src/transport/fin_store.d.ts +1 -1
  75. package/src/transport/transport-errors.d.ts +6 -1
  76. package/src/transport/transport-errors.js +1 -2
  77. package/src/transport/transport.d.ts +9 -6
  78. package/src/transport/transport.js +11 -2
  79. package/src/util/inaccessibleObject.d.ts +2 -0
  80. package/src/util/inaccessibleObject.js +49 -0
@@ -0,0 +1,162 @@
1
+ import { WindowOptionsChangedEvent } from '../events/window';
2
+ import * as OpenFin from '../../OpenFin';
3
+ /**
4
+ * This class handles Platform actions. It does not need to be used directly by developers.
5
+ * However, its methods can be overriden by passing an `overrideCallback` to {@link Platform#init Platform.init}
6
+ * in order to implement custom Platform behavior. (See {@tutorial Platform.init})
7
+ *
8
+ * For an overview of Provider customization, see
9
+ * {@link https://developers.openfin.co/docs/platform-customization#section-customizing-platform-behavior}.
10
+ */
11
+ export interface PlatformProvider {
12
+ /**
13
+ * Handles requests to create a window in the current platform.
14
+ * @param { WindowOption } payload Window options for the window to be created.
15
+ * @param { Identity } [identity] If {@link Platform#createWindow Platform.createWindow} was called, the identity of the caller will be here.
16
+ * If `createWindow` was called as part of applying a snapshot or creating a view without a target window, `identity` will be undefined.
17
+ */
18
+ createWindow(options: OpenFin.PlatformWindowCreationOptions, identity?: OpenFin.Identity): Promise<OpenFin.Window>;
19
+ /**
20
+ * Gets the current state of windows and their views and returns a snapshot object containing that info.
21
+ * @param { undefined } payload Undefined unless you've defined a custom `getSnapshot` protocol.
22
+ * @param { Identity } identity Identity of the entity that called {@link Platform#getSnapshot Platform.getSnapshot}.
23
+ * @return { Promise<Snapshot> } Snapshot of current platform state.
24
+ */
25
+ getSnapshot(payload: undefined, identity: OpenFin.Identity): Promise<OpenFin.Snapshot>;
26
+ /**
27
+ * **NOTE**: Internal use only. It is not recommended to manage the state of individual views.
28
+ * Gets the current state of a single view and returns an object with the options needed to restore that view as part of a snapshot.
29
+ * @param { Identity } payload Identity of the view.
30
+ * @return { Promise<ViewState> }
31
+ * @internal
32
+ * @experimental
33
+ */
34
+ getViewSnapshot(payload: {
35
+ viewIdentity: OpenFin.Identity;
36
+ }): Promise<OpenFin.ViewState>;
37
+ /**
38
+ * Called when a snapshot is being applied and some windows in that snapshot would be fully or partially off-screen.
39
+ * Returns an array of windows with modified positions, such that any off-screen windows are positioned in the top left
40
+ * corner of the main monitor.
41
+ * @param { Snapshot } snapshot The snapshot to be applied.
42
+ * @param { WindowOptions[] } outOfBoundsWindows An array of WindowOptions for any windows that would be off-screen.
43
+ * @return { Promise<WindowOptions[]> } An array of WindowOptions with their position modified to fit on screen.
44
+ */
45
+ positionOutOfBoundsWindows(snapshot: OpenFin.Snapshot, outOfBoundsWindows: OpenFin.WindowCreationOptions[]): Promise<OpenFin.WindowCreationOptions[]>;
46
+ /**
47
+ * Handles requests to apply a snapshot to the current Platform.
48
+ * @param { ApplySnapshotPayload } payload Payload containing the snapshot to be applied, as well as any options.
49
+ * @param { Identity } [identity] Identity of the entity that called {@link Platform#applySnapshot Platform.applySnapshot}.
50
+ * Undefined if called internally (e.g. when opening the initial snapshot).
51
+ * @return { Promise<void> }
52
+ */
53
+ applySnapshot(payload: OpenFin.ApplySnapshotPayload, identity?: OpenFin.Identity): Promise<void>;
54
+ /**
55
+ * Closes the current Platform and all child windows and views.
56
+ * @param { undefined } payload Undefined unless you have implemented a custom quite protocol.
57
+ * @param { Identity } identity Identity of the entity that called {@link Platform#quit Platform.quit}.
58
+ * @return { Promise<void> }
59
+ */
60
+ quit(payload: undefined, identity: OpenFin.Identity): Promise<void>;
61
+ /**
62
+ * Closes a view
63
+ * @param { CloseViewPayload } payload Specifies the `target` view to be closed.
64
+ * @param { Identity } identity Identity of the entity that called {@link Platform#closeView Platform.closeView}.
65
+ */
66
+ closeView(payload: OpenFin.CloseViewPayload, identity?: OpenFin.Identity): Promise<any>;
67
+ /**
68
+ * Creates a new view and attaches it to a specified target window.
69
+ * @param { CreateViewPayload } payload Creation options for the new view.
70
+ * @param { Identity } identity Identity of the entity that called {@link Platform#createView Platform.createView}.
71
+ * @return { Promise<void> }
72
+ */
73
+ createView(payload: OpenFin.CreateViewPayload, identity: OpenFin.Identity): Promise<OpenFin.View>;
74
+ /** Handles requests to fetch manifests in the current platform.
75
+ * @param { FetchManifestPayload } payload Payload containing the manifestUrl to be fetched.
76
+ * @param { Identity } callerIdentity If {@link Platform#fetchManifest Platform.fetchManifest}
77
+ * was called, the identity of the caller will be here.
78
+ * If `fetchManifest` was called internally, `callerIdentity` will be the provider's identity.
79
+ */
80
+ fetchManifest(payload: OpenFin.FetchManifestPayload, callerIdentity: OpenFin.Identity): Promise<any>;
81
+ /**
82
+ * Replaces a Platform window's layout with a new layout. Any views that were in the old layout but not the new layout will be destroyed.
83
+ * @param { ReplaceLayoutPayload } payload Contains the `target` window and an `opts` object with a `layout` property to apply.
84
+ * @param { Identity } [identity] Identity of the entity that called {@link Platform#replaceLayout Platform.replaceLayout}.
85
+ * Undefined if `replaceLayout` is called internally (e.g. while applying a snapshot).
86
+ * @return { Promise<void> }
87
+ */
88
+ replaceLayout(payload: OpenFin.ReplaceLayoutPayload, identity?: OpenFin.Identity): Promise<void>;
89
+ replaceView(payload: OpenFin.ReplaceViewPayload, identity?: OpenFin.Identity): Promise<void>;
90
+ launchIntoPlatform(payload: OpenFin.LaunchIntoPlatformPayload): Promise<void>;
91
+ /**
92
+ * Handles requests to set a window's context. `target` may be a window or a view.
93
+ * If it is a window, that window's `customContext` will be updated.
94
+ * If it is a view, the `customContext` of that view's current host window will be updated.
95
+ * @param { SetWindowContextPayload } payload Object containing the requested `context` update,
96
+ * the `target`'s identity, and the target's `entityType`.
97
+ * @param { Identity } [identity] Identity of the entity that called {@link Platform#setWindowContext Platform.setWindowContext}.
98
+ * Undefined if `setWindowContext` is called internally (e.g. while applying a snapshot).
99
+ * @return { Promise<any> } The new context.
100
+ */
101
+ setWindowContext(payload: OpenFin.SetWindowContextPayload, identity?: OpenFin.Identity): Promise<any>;
102
+ /**
103
+ * Handles requests to get a window's context. `target` may be a window or a view.
104
+ * If it is a window, that window's `customContext` will be returned.
105
+ * If it is a view, the `customContext` of that view's current host window will be returned.
106
+ * @param { GetWindowContextPayload } payload Object containing the requested `context` update,
107
+ * the `target`'s identity, and the target's `entityType`.
108
+ * @param { Identity } [identity] Identity of the entity that called {@link Platform#getWindowContext Platform.getWindowContext}.
109
+ * Undefined when `getWindowContext` is called internally
110
+ * (e.g. when getting a window's context for the purpose of raising a "host-context-changed" event on a reparented view).
111
+ * @return { Promise<any> } The new context.
112
+ */
113
+ getWindowContext(payload: OpenFin.GetWindowContextPayload, identity?: OpenFin.Identity): Promise<any>;
114
+ /**
115
+ * Called when a window's `customContext` is updated. Responsible for raising the `host-context-updated` event on that window's child views.
116
+ * @param { WindowOptionsChangedEvent<'window', 'options-changed'> } payload The event payload for the window whose context has changed.
117
+ * The new context will be contained as `payload.diff.customContext.newVal`.
118
+ * @return { Promise<HostContextChangedPayload> } The event that it raised.
119
+ */
120
+ onWindowContextUpdated(payload: WindowOptionsChangedEvent): Promise<OpenFin.HostContextChangedPayload | undefined>;
121
+ /**
122
+ * Closes a Window.
123
+ * By default it will fire any before unload handler set by a View in the Window.
124
+ * This can be disabled by setting skipBeforeUnload in the options object of the payload.
125
+ * This method is called by {@link Platform#closeWindow Platform.closeWindow}.
126
+ * @param {CloseWindowPayload} payload Object that contains the Window Identity and related options.
127
+ * @param {Identity} callerIdentity
128
+ * @returns {Promise<void>}
129
+ */
130
+ closeWindow(payload: OpenFin.CloseWindowPayload, callerIdentity: OpenFin.Identity): Promise<void>;
131
+ /**
132
+ * Gets all the Views attached to a Window that should close along with it. This is meant to be overridable
133
+ * in the case where you want to return other Views that may not be attached to the Window that is closing.
134
+ * @param winId Identity of the Window that is closing
135
+ * @returns { Promise<View> }
136
+ */
137
+ getViewsForWindowClose(windowId: OpenFin.Identity): Promise<OpenFin.View[]>;
138
+ /**
139
+ * It takes in an array of Views and returns an object specifying which of them are trying to prevent an unload and which are not.
140
+ * @param {View[]} views Array of Views
141
+ * @returns { Promise<ViewStatuses> }
142
+ */
143
+ checkViewsForPreventUnload(views: OpenFin.View[]): Promise<OpenFin.ViewStatuses>;
144
+ /**
145
+ * Handle the decision of whether a Window or specific View should close when trying to prevent an unload. This is meant to be overridden.
146
+ * Called in {@link PlatformProvider#closeWindow PlatformProvider.closeWindow}.
147
+ * Normally you would use this method to show a dialog indicating that there are Views that are trying to prevent an unload.
148
+ * By default it will always return all Views passed into it as meaning to close.
149
+ * @param {ViewsPreventingUnloadPayload} payload
150
+ * @tutorial PlatformProvider.getUserDecisionForBeforeUnload
151
+ * @returns {Promise<BeforeUnloadUserDecision>}
152
+ */
153
+ getUserDecisionForBeforeUnload(payload: OpenFin.ViewsPreventingUnloadPayload): Promise<OpenFin.BeforeUnloadUserDecision>;
154
+ /**
155
+ * Handles the closing of a Window and/or its Views. Called in {@link PlatformProvider#closeWindow PlatformProvider.closeWindow}.
156
+ * The return of {@link PlatformProvider#getUserDecisionForBeforeUnload PlatformProvider.getUserDecisionForBeforeUnload} is passed into this method.
157
+ * @param {Identity} winId Identity of the Window
158
+ * @param {BeforeUnloadUserDecision} userDecision Decision object
159
+ * @returns {Promise<void>}
160
+ */
161
+ handleViewsAndWindowClose(windowId: OpenFin.Identity, userDecision: OpenFin.BeforeUnloadUserDecision): Promise<void>;
162
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -2,6 +2,7 @@ import type * as OpenFin from '../../OpenFin';
2
2
  import { Base } from '../base';
3
3
  import { SnapshotSource } from './Instance';
4
4
  /**
5
+ * @REMOVED
5
6
  * @typedef { object } SnapshotProvider
6
7
  * @property {getSnapshot} [getSnapshot]
7
8
  * @property {applySnapshot} [applySnapshot]
@@ -4,6 +4,7 @@ const base_1 = require("../base");
4
4
  const Instance_1 = require("./Instance");
5
5
  const utils_1 = require("./utils");
6
6
  /**
7
+ * @REMOVED
7
8
  * @typedef { object } SnapshotProvider
8
9
  * @property {getSnapshot} [getSnapshot]
9
10
  * @property {applySnapshot} [applySnapshot]
@@ -1,6 +1,6 @@
1
1
  import type * as OpenFin from '../../OpenFin';
2
2
  import { Base } from '../base';
3
- import Transport from '../../transport/transport';
3
+ import { Transport } from '../../transport/transport';
4
4
  /**
5
5
  * Enables configuring a SnapshotSource with custom getSnapshot and applySnapshot methods.
6
6
  * @namespace
@@ -1,6 +1,6 @@
1
1
  import type * as OpenFin from '../../OpenFin';
2
2
  import { EmitterBase } from '../base';
3
- import Transport from '../../transport/transport';
3
+ import { Transport } from '../../transport/transport';
4
4
  declare type Identity = OpenFin.Identity;
5
5
  declare type ProxyInfo = OpenFin.ProxyInfo;
6
6
  declare type ProxyConfig = OpenFin.ProxyConfig;
@@ -14,476 +14,6 @@ declare type Entity = OpenFin.ApplicationType;
14
14
  declare type ApplicationState = OpenFin.ApplicationState;
15
15
  declare type ApplicationWindowInfo = OpenFin.ApplicationWindowInfo;
16
16
  declare type PrinterInfo = OpenFin.PrinterInfo;
17
- /**
18
- * AppAssetInfo interface
19
- * @typedef { object } AppAssetInfo
20
- * @property { string } src The URL to a zip file containing the package files (executables, dlls, etc…)
21
- * @property { string } alias The name of the asset
22
- * @property { string } version The version of the package
23
- * @property { string } target Specify default executable to launch. This option can be overridden in launchExternalProcess
24
- * @property { string } args The default command line arguments for the aforementioned target.
25
- * @property { boolean } mandatory When set to true, the app will fail to load if the asset cannot be downloaded.
26
- * When set to false, the app will continue to load if the asset cannot be downloaded. (Default: true)
27
- */
28
- /**
29
- * AppAssetRequest interface
30
- * @typedef { object } AppAssetRequest
31
- * @property { string } alias The name of the asset
32
- */
33
- /**
34
- * ApplicationState interface
35
- * @typedef { object } ApplicationState
36
- * @property { boolean } isPlatform true when the application is a Platform controller
37
- * @property { boolean } isRunning true when the application is running
38
- * @property { string } uuid uuid of the application
39
- * @property { string } parentUuid uuid of the application that launches this application
40
- */
41
- /**
42
- * @typedef { object } ClearCacheOption
43
- * @summary Clear cache options.
44
- * @desc These are the options required by the clearCache function.
45
- *
46
- * @property {boolean} appcache html5 application cache
47
- * @property {boolean} cache browser data cache for html files and images
48
- * @property {boolean} cookies browser cookies
49
- * @property {boolean} localStorage browser data that can be used across sessions
50
- */
51
- /**
52
- * CookieInfo interface
53
- * @typedef { object } CookieInfo
54
- * @property { string } name The name of the cookie
55
- * @property { string } domain The domain of the cookie
56
- * @property { string } path The path of the cookie
57
- */
58
- /**
59
- * CookieOption interface
60
- * @typedef { object } CookieOption
61
- * @property { string } name The name of the cookie
62
- */
63
- /**
64
- * CpuInfo interface
65
- * @typedef { object } CpuInfo
66
- * @property { string } model The model of the cpu
67
- * @property { number } speed The number in MHz
68
- * @property { Time } times The numbers of milliseconds the CPU has spent in different modes.
69
- */
70
- /**
71
- * CrashReporterState interface
72
- * @typedef { object } CrashReporterState
73
- * @property { boolean } diagnosticsMode In diagnostics mode the crash reporter will send diagnostic logs to
74
- * the OpenFin reporting service on runtime shutdown
75
- * @property { boolean } isRunning check if it's running
76
- */
77
- /**
78
- * CrashReporterOptions interface
79
- * @typedef { object } CrashReporterOptions
80
- * @property { boolean } diagnosticsMode In diagnostics mode the crash reporter will send diagnostic logs to
81
- * the OpenFin reporting service on runtime shutdown
82
- */
83
- /**
84
- * DipRect interface
85
- * @typedef { object } DipRect
86
- * @property { Rect } dipRect The DIP coordinates
87
- * @property { Rect } scaledRect The scale coordinates
88
- */
89
- /**
90
- * DipScaleRects interface
91
- * @typedef { object } DipScaleRects
92
- * @property { Rect } dipRect The DIP coordinates
93
- * @property { Rect } scaledRect The scale coordinates
94
- */
95
- /**
96
- * DownloadPreloadInfo interface
97
- * @typedef { object } DownloadPreloadInfo
98
- * @desc downloadPreloadScripts function return value
99
- * @property { string } url url to the preload script
100
- * @property { string } error error during preload script acquisition
101
- * @property { boolean } succeess download operation success
102
- */
103
- /**
104
- * DownloadPreloadOption interface
105
- * @typedef { object } DownloadPreloadOption
106
- * @desc These are the options object required by the downloadPreloadScripts function
107
- * @property { string } url url to the preload script
108
- */
109
- /**
110
- * ApplicationType interface
111
- * @typedef { object } ApplicationType
112
- * @property { string } type The type of the entity
113
- * @property { string } uuid The uuid of the entity
114
- */
115
- /**
116
- * EntityInfo interface
117
- * @typedef { object } EntityInfo
118
- * @property { string } name The name of the entity
119
- * @property { string } uuid The uuid of the entity
120
- * @property { Identity } parent The parent of the entity
121
- * @property { string } entityType The type of the entity
122
- */
123
- /**
124
- * ExternalApplicationInfo interface
125
- * @typedef { object } ExternalApplicationInfo
126
- * @property { Identity } parent The parent identity
127
- */
128
- /**
129
- * ExternalConnection interface
130
- * @typedef { object } ExternalConnection
131
- * @property { string } token The token to broker an external connection
132
- * @property { string } uuid The uuid of the external connection
133
- */
134
- /**
135
- * ExternalProcessRequestType interface
136
- * @typedef { object } ExternalProcessRequestType
137
- * @property { string } path The file path to where the running application resides
138
- * @property { string } arguments The argument passed to the running application
139
- * @property { LaunchExternalProcessListener } listener This is described in the {LaunchExternalProcessListner} type definition
140
- * @property { string } initialWindowState Initial window state after launching: 'normal' (default), 'minimized', 'maximized'
141
- * @property { string } cwd current working directory
142
- */
143
- /**
144
- * FrameInfo interface
145
- * @typedef { object } FrameInfo
146
- * @property { string } name The name of the frame
147
- * @property { string } uuid The uuid of the frame
148
- * @property { EntityType } entityType The entity type, could be 'window', 'iframe', 'external connection' or 'unknown'
149
- * @property { Identity } parent The parent identity
150
- * @property { string } url URL
151
- */
152
- /**
153
- * GetLogRequestType interface
154
- * @typedef { object } GetLogRequestType
155
- * @property { string } name The name of the running application
156
- * @property { number } endFile The file length of the log file
157
- * @property { number } sizeLimit The set size limit of the log file
158
- */
159
- /**
160
- * GpuInfo interface
161
- * @typedef { object } GpuInfo
162
- * @property { string } name The graphics card name
163
- */
164
- /**
165
- * HostSpecs interface
166
- * @typedef { object } HostSpecs
167
- * @property { boolean } aeroGlassEnabled Value to check if Aero Glass theme is supported on Windows platforms
168
- * @property { string } arch "x86" for 32-bit or "x86_64" for 64-bit
169
- * @property { Array<CpuInfo> } cpus The same payload as Node's os.cpus()
170
- * @property { GpuInfo } gpu The graphics card name
171
- * @property { number } memory The same payload as Node's os.totalmem()
172
- * @property { string } name The OS name and version/edition
173
- * @property { boolean } screenSaver Value to check if screensaver is running. Supported on Windows only
174
- */
175
- /**
176
- * Identity interface
177
- * @typedef { object } Identity
178
- * @property { string } name Optional - the name of the component
179
- * @property { string } uuid Universally unique identifier of the application
180
- */
181
- /**
182
- * LogInfo interface
183
- * @typedef { object } LogInfo
184
- * @property { string } name The filename of the log
185
- * @property { number } size The size of the log in bytes
186
- * @property { string } date The unix time at which the log was created "Thu Jan 08 2015 14:40:30 GMT-0500 (Eastern Standard Time)"
187
- */
188
- /**
189
- * ManifestInfo interface
190
- * @typedef { object } ManifestInfo
191
- * @property { string } uuid The uuid of the application
192
- * @property { string } manifestUrl The runtime manifest URL
193
- */
194
- /**
195
- * MonitorDetails interface
196
- * @typedef { object } MonitorDetails
197
- * @property { DipScaleRects } available The available DIP scale coordinates
198
- * @property { Rect } availableRect The available monitor coordinates
199
- * @property { string } deviceId The device id of the display
200
- * @property { boolean } displayDeviceActive true if the display is active
201
- * @property { number } deviceScaleFactor The device scale factor
202
- * @property { Rect } monitorRect The monitor coordinates
203
- * @property { string } name The name of the display
204
- * @property { Point } dpi The dots per inch
205
- * @property { DipScaleRects } monitor The monitor coordinates
206
- */
207
- /**
208
- * MonitorInfo interface
209
- * @typedef { object } MonitorInfo
210
- * @property { number } deviceScaleFactor The device scale factor
211
- * @property { Point } dpi The dots per inch
212
- * @property { Array<MonitorDetails> } nonPrimaryMonitors The array of monitor details
213
- * @property { MonitorDetails } primaryMonitor The monitor details
214
- * @property { string } reason always "api-query"
215
- * @property { TaskBar } taskBar The taskbar on monitor
216
- * @property { DipRect } virtualScreen The virtual display screen coordinates
217
- */
218
- /**
219
- * @typedef { verbose | info | warning | error | fatal } LogLevel
220
- * @summary Log verbosity levels.
221
- * @desc Describes the minimum level (inclusive) above which logs will be written
222
- *
223
- * @property { string } verbose all logs written
224
- * @property { string } info info and above
225
- * @property { string } warning warning and above
226
- * @property { string } error error and above
227
- * @property { string } fatal fatal only, indicates a crash is imminent
228
- */
229
- /**
230
- * PointTopLeft interface
231
- * @typedef { object } PointTopLeft
232
- * @property { number } top The mouse top position in virtual screen coordinates
233
- * @property { number } left The mouse left position in virtual screen coordinates
234
- */
235
- /**
236
- * Point interface
237
- * @typedef { object } Point
238
- * @property { number } x The mouse x position
239
- * @property { number } y The mouse y position
240
- */
241
- /**
242
- * ProcessInfo interface
243
- * @typedef { object } ProcessInfo
244
- * @property { number } cpuUsage The percentage of total CPU usage
245
- * @property { string } name The application name
246
- * @property { number } nonPagedPoolUsage The current nonpaged pool usage in bytes
247
- * @property { number } pageFaultCount The number of page faults
248
- * @property { number } pagedPoolUsage The current paged pool usage in bytes
249
- * @property { number } pagefileUsage The total amount of memory in bytes that the memory manager has committed
250
- * @property { number } peakNonPagedPoolUsage The peak nonpaged pool usage in bytes
251
- * @property { number } peakPagedPoolUsage The peak paged pool usage in bytes
252
- * @property { number } peakPagefileUsage The peak value in bytes of pagefileUsage during the lifetime of this process
253
- * @property { number } peakWorkingSetSize The peak working set size in bytes
254
- * @property { number } processId The native process identifier
255
- * @property { string } uuid The application UUID
256
- * @property { number } workingSetSize The current working set size (both shared and private data) in bytes
257
- */
258
- /**
259
- * SystemProcessInfo interface
260
- * @typedef { object } SystemProcessInfo
261
- * @property { ProcessDetails } browserProcess Info on browser process
262
- * @property { Array<AppProcessInfo> } apps Array of apps and their process info
263
- */
264
- /**
265
- * AppProcessInfo interface
266
- * @typedef { object } AppProcessInfo
267
- * @property { string } uuid The uuid of the application
268
- * @property { Array<EntityProcessDetails> } entities Array of process info for each window and view for the application
269
- */
270
- /**
271
- * EntityProcessDetails interface
272
- * @typedef { object } EntityProcessDetails
273
- * @property { string } uuid The uuid for the entity
274
- * @property { string } name The name for the entity
275
- * @property { string } url URL associated with the entity
276
- * @property { string } entityType Type for the entity: window or view
277
- * @property { number } cpuUsage The percentage of total CPU usage
278
- * @property { number } nonPagedPoolUsage The current nonpaged pool usage in bytes
279
- * @property { number } pageFaultCount The number of page faults
280
- * @property { number } pagedPoolUsage The current paged pool usage in bytes
281
- * @property { number } pagefileUsage The total amount of memory in bytes that the memory manager has committed
282
- * @property { number } peakNonPagedPoolUsage The peak nonpaged pool usage in bytes
283
- * @property { number } peakPagedPoolUsage The peak paged pool usage in bytes
284
- * @property { number } peakPagefileUsage The peak value in bytes of pagefileUsage during the lifetime of this process
285
- * @property { number } peakWorkingSetSize The peak working set size in bytes
286
- * @property { number } privateSetSize The current working set size (not shared)
287
- * @property { number } workingSetSize The current working set size (both shared and private data) in bytes
288
- * @property { number } pid The native process identifier
289
- * @property { Array<FrameProcessDetails> } frames Array of process info for each iframe corresponeding to the entity
290
- */
291
- /**
292
- * FrameProcessDetails interface
293
- * @typedef { object } FrameProcessDetails
294
- * @property { string } url Current URL associated with the process
295
- * @property { string } entityType Type for the frame
296
- * @property { number } cpuUsage The percentage of total CPU usage
297
- * @property { number } nonPagedPoolUsage The current nonpaged pool usage in bytes
298
- * @property { number } pageFaultCount The number of page faults
299
- * @property { number } pagedPoolUsage The current paged pool usage in bytes
300
- * @property { number } pagefileUsage The total amount of memory in bytes that the memory manager has committed
301
- * @property { number } peakNonPagedPoolUsage The peak nonpaged pool usage in bytes
302
- * @property { number } peakPagedPoolUsage The peak paged pool usage in bytes
303
- * @property { number } peakPagefileUsage The peak value in bytes of pagefileUsage during the lifetime of this process
304
- * @property { number } peakWorkingSetSize The peak working set size in bytes
305
- * @property { number } workingSetSize The current working set size (both shared and private data) in bytes
306
- * @property { number } pid The native process identifier
307
- */
308
- /**
309
- * ProcessDetails interface
310
- * @typedef { object } ProcessDetails
311
- * @property { number } cpuUsage The percentage of total CPU usage
312
- * @property { number } nonPagedPoolUsage The current nonpaged pool usage in bytes
313
- * @property { number } pageFaultCount The number of page faults
314
- * @property { number } pagedPoolUsage The current paged pool usage in bytes
315
- * @property { number } pagefileUsage The total amount of memory in bytes that the memory manager has committed
316
- * @property { number } peakNonPagedPoolUsage The peak nonpaged pool usage in bytes
317
- * @property { number } peakPagedPoolUsage The peak paged pool usage in bytes
318
- * @property { number } peakPagefileUsage The peak value in bytes of pagefileUsage during the lifetime of this process
319
- * @property { number } peakWorkingSetSize The peak working set size in bytes
320
- * @property { number } workingSetSize The current working set size (both shared and private data) in bytes
321
- * @property { number } pid The native process identifier
322
- */
323
- /**
324
- * ProxyConfig interface
325
- * @typedef { object } ProxyConfig
326
- * @property { string } proxyAddress The configured proxy address
327
- * @property { number } proxyPort The configured proxy port
328
- * @property { string } type The proxy Type
329
- */
330
- /**
331
- * ProxyInfo interface
332
- * @typedef { object } ProxyInfo
333
- * @property { ProxyConfig } config The proxy config
334
- * @property { ProxySystemInfo } system The proxy system info
335
- */
336
- /**
337
- * QueryPermissionResult interface
338
- * @typedef { object } QueryPermissionResult
339
- * @property { string } permission The full name of a secured API
340
- * @property { string } state 'granted' | 'denied' | 'unavailable'
341
- * @property { boolean } granted true if permission is granted
342
- * @property { object } [rawValue] The value of permission
343
- */
344
- /**
345
- * ProxySystemInfo interface
346
- * @typedef { object } ProxySystemInfo
347
- * @property { string } autoConfigUrl The auto configuration url
348
- * @property { string } bypass The proxy bypass info
349
- * @property { boolean } enabled Value to check if a proxy is enabled
350
- * @property { string } proxy The proxy info
351
- */
352
- /**
353
- * Rect interface
354
- * @typedef { object } Rect
355
- * @property { number } bottom The bottom-most coordinate
356
- * @property { number } left The left-most coordinate
357
- * @property { number } right The right-most coordinate
358
- * @property { number } top The top-most coordinate
359
- */
360
- /**
361
- * RegistryInfo interface
362
- * @typedef { object } RegistryInfo
363
- * @property { any } data The registry data
364
- * @property { string } rootKey The registry root key
365
- * @property { string } subkey The registry key
366
- * @property { string } type The registry type
367
- * @property { string } value The registry value name
368
- */
369
- /**
370
- * RuntimeDownloadOptions interface
371
- * @typedef { object } RuntimeDownloadOptions
372
- * @desc These are the options object required by the downloadRuntime function.
373
- * @property { string } version The given version to download
374
- */
375
- /**
376
- * RuntimeInfo interface
377
- * @typedef { object } RuntimeInfo
378
- * @property { string } architecture The runtime build architecture
379
- * @property { string } manifestUrl The runtime manifest URL
380
- * @property { number } port The runtime websocket port
381
- * @property { string } securityRealm The runtime security realm
382
- * @property { string } version The runtime version
383
- * @property { object } args the command line argument used to start the Runtime
384
- * @property { string } chromeVersion The chrome version
385
- * @property { string } electronVersion The electron version
386
- */
387
- /**
388
- * RVMInfo interface
389
- * @typedef { object } RVMInfo
390
- * @property { string } action The name of action: "get-rvm-info"
391
- * @property { string } appLogDirectory The app log directory
392
- * @property { string } path The path of OpenfinRVM.exe
393
- * @property { string } 'start-time' The start time of RVM
394
- * @property { string } version The version of RVM
395
- * @property { string } 'working-dir' The working directory
396
- */
397
- /**
398
- * RvmLaunchOptions interface
399
- * @typedef { object } RvmLaunchOptions
400
- * @property { boolean } [noUi] true if no UI when launching
401
- * @property { object } [userAppConfigArgs] The user app configuration args
402
- * @property { number } [timeToLive] Timeout in seconds until RVM launch request expires
403
- * @property { Function } [subscribe] Called whenever app version resolver events occur.
404
- */
405
- /**
406
- * ServiceIdentifier interface
407
- * @typedef { object } ServiceIdentifier
408
- * @property { string } name The name of the service
409
- */
410
- /**
411
- * ServiceConfiguration interface
412
- * @typedef { object } ServiceConfiguration
413
- * @property { object } config The service configuration
414
- * @property { string } name The name of the service
415
- */
416
- /**
417
- * ShortCutConfig interface
418
- * @typedef { object } ShortCutConfig
419
- * @property { boolean } desktop true if application has a shortcut on the desktop
420
- * @property { boolean } startMenu true if application has shortcut in the start menu
421
- * @property { boolean } systemStartup true if application will be launched on system startup
422
- */
423
- /**
424
- * SubOptions interface
425
- * @typedef { Object } SubOptions
426
- * @property { number } timestamp The event timestamp
427
- */
428
- /**
429
- * TaskBar interface
430
- * @typedef { object } TaskBar
431
- * @property { string } edge which edge of a monitor the taskbar is on
432
- * @property { Rect } rect The taskbar coordinates
433
- */
434
- /**
435
- * TerminateExternalRequestType interface
436
- * @typedef { object } TerminateExternalRequestType
437
- * @property { string } uuid The uuid of the running application
438
- * @property { number } timeout Time out period before the running application terminates
439
- * @property { boolean } killtree Value to terminate the running application
440
- */
441
- /**
442
- * Time interface
443
- * @typedef { object } Time
444
- * @property { number } user The number of milliseconds the CPU has spent in user mode
445
- * @property { number } nice The number of milliseconds the CPU has spent in nice mode
446
- * @property { number } sys The number of milliseconds the CPU has spent in sys mode
447
- * @property { number } idle The number of milliseconds the CPU has spent in idle mode
448
- * @property { number } irq The number of milliseconds the CPU has spent in irq mode
449
- */
450
- /**
451
- * TrayInfo interface
452
- * @typedef { object } TrayInfo
453
- * @property { Bounds } bounds The bound of tray icon in virtual screen pixels
454
- * @property { MonitorInfo } monitorInfo Please see fin.System.getMonitorInfo for more information
455
- * @property { number } x copy of bounds.x
456
- * @property { number } y copy of bounds.y
457
- */
458
- /**
459
- * WindowDetail interface
460
- * @typedef { object } WindowDetail
461
- * @property { number } bottom The bottom-most coordinate of the window
462
- * @property { number } height The height of the window
463
- * @property { boolean } isShowing Value to check if the window is showing
464
- * @property { number } left The left-most coordinate of the window
465
- * @property { string } name The name of the window
466
- * @property { number } right The right-most coordinate of the window
467
- * @property { string } state The window state
468
- * @property { number } top The top-most coordinate of the window
469
- * @property { number } width The width of the window
470
- */
471
- /**
472
- * ApplicationWindowInfo interface
473
- * @typedef { object } ApplicationWindowInfo
474
- * @property { Array<WindowDetail> } childWindows The array of child windows details
475
- * @property { WindowDetail } mainWindow The main window detail
476
- * @property { string } uuid The uuid of the application
477
- */
478
- /**
479
- * CertifiedAppInfo interface
480
- * @typedef { object } CertifiedAppInfo
481
- * @property { boolean } isRunning true if the app is running
482
- * @property { boolean } [isOptedIntoCertfiedApp] true if the app has opted into certification
483
- * @property { boolean } [isCertified] true if the app is certified
484
- * @property { boolean } [isSSLCertified] true if the app manifest's SSL certificate is valid
485
- * @property { boolean } [isPresentInAppDirectory] true if the app is present in the OpenFin app directory
486
- */
487
17
  /**
488
18
  * An object representing the core of OpenFin Runtime. Allows the developer
489
19
  * to perform system-level actions, such as accessing logs, viewing processes,