@openfin/core 29.73.4 → 29.73.7

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 (35) hide show
  1. package/OpenFin.d.ts +48 -0
  2. package/package.json +1 -1
  3. package/src/OpenFin.d.ts +1455 -0
  4. package/src/OpenFin.js +4 -0
  5. package/src/api/events/system.d.ts +18 -3
  6. package/src/api/events/typedEventEmitter.d.ts +13 -0
  7. package/src/api/events/typedEventEmitter.js +2 -0
  8. package/src/api/interop/Factory.js +4 -1
  9. package/src/api/interop/InteropBroker.d.ts +7 -5
  10. package/src/api/interop/InteropBroker.js +2 -1
  11. package/src/api/interop/fdc3/PrivateChannelClient.d.ts +8 -7
  12. package/src/api/interop/fdc3/fdc3-1.2.d.ts +14 -13
  13. package/src/api/interop/fdc3/fdc3-2.0.d.ts +23 -21
  14. package/src/api/interop/fdc3/fdc3-2.0.js +9 -9
  15. package/src/api/interop/fdc3/fdc3.d.ts +12 -0
  16. package/src/api/interop/fdc3/overrideCheck.d.ts +4 -0
  17. package/src/api/interop/fdc3/overrideCheck.js +32 -0
  18. package/src/api/interop/fdc3/shapes/fdc3v1.d.ts +53 -0
  19. package/src/api/interop/fdc3/shapes/fdc3v1.js +4 -0
  20. package/src/api/interop/fdc3/shapes/fdc3v2.d.ts +74 -0
  21. package/src/api/interop/fdc3/shapes/fdc3v2.js +2 -0
  22. package/src/api/interop/fdc3/utils.d.ts +7 -5
  23. package/src/api/interop/fdc3/utils.js +2 -2
  24. package/src/api/interop/fdc3/versions.d.ts +1 -0
  25. package/src/api/interop/fdc3/versions.js +2 -0
  26. package/src/api/platform/Instance.d.ts +14 -0
  27. package/src/api/platform/Instance.js +17 -0
  28. package/src/api/platform/layout/utils/bounds-observer.d.ts +1 -1
  29. package/src/api/platform/layout/utils/bounds-observer.js +2 -2
  30. package/src/api/system/index.d.ts +0 -469
  31. package/src/api/system/index.js +51 -471
  32. package/src/api/view/Instance.d.ts +11 -0
  33. package/src/api/view/Instance.js +19 -0
  34. package/src/fdc3.d.ts +3 -0
  35. package/src/shapes/protocol.d.ts +3 -1
@@ -0,0 +1,74 @@
1
+ import { Channel as ChannelV1, SystemChannel } from './fdc3v1';
2
+ import type { Listener } from 'fdc3v2/src/api/Listener';
3
+ import type { AppIntent } from 'fdc3v2/src/api/AppIntent';
4
+ import type { ImplementationMetadata } from 'fdc3v2/src/api/ImplementationMetadata';
5
+ import type { ContextMetadata } from 'fdc3v2/src/api/ContextMetadata';
6
+ import type { AppIdentifier } from 'fdc3v2/src/api/AppIdentifier';
7
+ import type { AppMetadata } from 'fdc3v2/src/api/AppMetadata';
8
+ import type { DisplayMetadata } from 'fdc3v2/src/api/DisplayMetadata';
9
+ export type { Listener } from 'fdc3v2/src/api/Listener';
10
+ export type { AppIntent } from 'fdc3v2/src/api/AppIntent';
11
+ export type { ImplementationMetadata } from 'fdc3v2/src/api/ImplementationMetadata';
12
+ export type { ContextMetadata } from 'fdc3v2/src/api/ContextMetadata';
13
+ export type { AppIdentifier } from 'fdc3v2/src/api/AppIdentifier';
14
+ export type { AppMetadata } from 'fdc3v2/src/api/AppMetadata';
15
+ export type { DisplayMetadata } from 'fdc3v2/src/api/DisplayMetadata';
16
+ export declare type ContextHandler = (context: Context, metadata?: ContextMetadata) => void;
17
+ export declare type IntentHandler = (context: Context, metadata?: ContextMetadata) => Promise<IntentResult> | void;
18
+ export declare type IntentResult = Context | Channel | PrivateChannel;
19
+ export interface Context {
20
+ id?: {
21
+ [key: string]: string;
22
+ };
23
+ name?: string;
24
+ type: string;
25
+ contextMetadata?: ContextMetadata;
26
+ metadata?: any;
27
+ }
28
+ export interface Intent {
29
+ name: string;
30
+ context: Context;
31
+ metadata: OpenFin.IntentMetadata;
32
+ }
33
+ export interface IntentResolution {
34
+ source: AppIdentifier;
35
+ intent: string;
36
+ version?: string;
37
+ getResult(): Promise<IntentResult>;
38
+ }
39
+ export interface Channel {
40
+ readonly id: string;
41
+ readonly type: 'user' | 'app' | 'private';
42
+ readonly displayMetadata?: DisplayMetadata;
43
+ broadcast(context: Context): Promise<void>;
44
+ getCurrentContext(contextType?: string): Promise<Context | null>;
45
+ addContextListener(contextType: string | null, handler: ContextHandler): Listener & Promise<Listener>;
46
+ }
47
+ export declare type PrivateChannel = Omit<Channel, 'addContextListener'> & {
48
+ addContextListener(contextType: string | null, handler: ContextHandler): Promise<Listener>;
49
+ onAddContextListener(handler: (contextType?: string) => void): Listener;
50
+ onUnsubscribe(handler: (contextType?: string) => void): Listener;
51
+ onDisconnect(handler: () => void): Listener;
52
+ disconnect(): void;
53
+ };
54
+ export interface DesktopAgent {
55
+ open(app: AppIdentifier, context?: Context): Promise<AppIdentifier>;
56
+ findIntent(intent: string, context?: Context, resultType?: string): Promise<AppIntent>;
57
+ findIntentsByContext(context: Context, resultType?: string): Promise<Array<AppIntent>>;
58
+ findInstances(app: AppIdentifier): Promise<Array<AppIdentifier>>;
59
+ broadcast(context: Context): Promise<void>;
60
+ raiseIntent(intent: string, context: Context, app?: AppIdentifier): Promise<IntentResolution>;
61
+ raiseIntentForContext(context: Context, app?: AppIdentifier): Promise<IntentResolution>;
62
+ addIntentListener(intent: string, handler: IntentHandler): Promise<Listener>;
63
+ addContextListener(contextType: string | null, handler: ContextHandler): Promise<Listener>;
64
+ getUserChannels(): Promise<Array<SystemChannel>>;
65
+ joinUserChannel(channelId: string): Promise<void>;
66
+ getOrCreateChannel(channelId: string): Promise<ChannelV1>;
67
+ createPrivateChannel(): Promise<PrivateChannel>;
68
+ getCurrentChannel(): Promise<ChannelV1 | null>;
69
+ leaveCurrentChannel(): Promise<void>;
70
+ getInfo(): Promise<ImplementationMetadata>;
71
+ getAppMetadata(app: AppIdentifier): Promise<AppMetadata>;
72
+ getSystemChannels(): Promise<Array<SystemChannel>>;
73
+ joinChannel(channelId: string): Promise<void>;
74
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,8 +1,10 @@
1
+ import { TargetApp } from './shapes/fdc3v1';
2
+ import { AppIdentifier, IntentResolution, Channel, PrivateChannel, Context } from './shapes/fdc3v2';
1
3
  import { PrivateChannelClient } from './PrivateChannelClient';
2
4
  interface UnsupportedChannelApis {
3
5
  addContextListener(): Error;
4
6
  broadcast(): Error;
5
- getCurrentChannel(): Error;
7
+ getCurrentContext(): Error;
6
8
  }
7
9
  export declare const getUnsupportedChannelApis: (channelType?: string) => UnsupportedChannelApis;
8
10
  export declare class UnsupportedChannelApiError extends Error {
@@ -18,8 +20,8 @@ export declare enum ResultError {
18
20
  */
19
21
  IntentHandlerRejected = "IntentHandlerRejected"
20
22
  }
21
- export declare const buildPrivateChannelObject: (privateChannelClient: PrivateChannelClient) => FDC3v2.PrivateChannel;
22
- export declare const buildAppChannelObject: (sessionContextGroup: OpenFin.SessionContextGroup) => FDC3.Channel;
23
- export declare const connectPrivateChannel: (channelId: string) => Promise<FDC3v2.PrivateChannel>;
24
- export declare const getIntentResolution: (interopModule: OpenFin.InteropClient, context: OpenFin.Context, app?: FDC3v2.AppIdentifier | FDC3.TargetApp, intent?: string) => Promise<FDC3v2.IntentResolution>;
23
+ export declare const buildPrivateChannelObject: (privateChannelClient: PrivateChannelClient) => PrivateChannel;
24
+ export declare const buildAppChannelObject: (sessionContextGroup: OpenFin.SessionContextGroup) => Channel;
25
+ export declare const connectPrivateChannel: (channelId: string) => Promise<PrivateChannel>;
26
+ export declare const getIntentResolution: (interopModule: OpenFin.InteropClient, context: Context, app?: AppIdentifier | TargetApp, intent?: string) => Promise<IntentResolution>;
25
27
  export {};
@@ -11,8 +11,8 @@ const getUnsupportedChannelApis = (channelType) => {
11
11
  broadcast: () => {
12
12
  throw new UnsupportedChannelApiError('Channel.broadcast', channelType);
13
13
  },
14
- getCurrentChannel: () => {
15
- throw new UnsupportedChannelApiError('Channel.getCurrentChannel', channelType);
14
+ getCurrentContext: () => {
15
+ throw new UnsupportedChannelApiError('Channel.getCurrentContext', channelType);
16
16
  }
17
17
  };
18
18
  };
@@ -0,0 +1 @@
1
+ export declare type Fdc3Version = '1.2' | '2.0';
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -64,6 +64,20 @@ export declare class Platform extends EmitterBase<PlatformEvents> {
64
64
  * @tutorial Platform.getSnapshot
65
65
  */
66
66
  getSnapshot(): Promise<OpenFin.Snapshot>;
67
+ /**
68
+ * **NOTE**: Internal use only. It is not recommended to manage the state of individual views.
69
+ *
70
+ * Returns a snapshot of a single view's options in its current state.
71
+ *
72
+ * Can be used to restore a view to a previous state.
73
+ *
74
+ * @param { Identity } viewIdentity View identity
75
+ * @returns { Promise<ViewState> }
76
+ * @internal
77
+ * @experimental
78
+ * @tutorial Platform.getViewSnapshot
79
+ */
80
+ getViewSnapshot(viewIdentity: OpenFin.Identity): Promise<OpenFin.ViewState>;
67
81
  /**
68
82
  * Adds a snapshot to a running Platform.
69
83
  * Requested snapshot must be a valid Snapshot object, or a url or filepath to such an object.
@@ -173,6 +173,23 @@ class Platform extends base_1.EmitterBase {
173
173
  const client = await this.getClient();
174
174
  return client.dispatch('get-snapshot');
175
175
  }
176
+ /**
177
+ * **NOTE**: Internal use only. It is not recommended to manage the state of individual views.
178
+ *
179
+ * Returns a snapshot of a single view's options in its current state.
180
+ *
181
+ * Can be used to restore a view to a previous state.
182
+ *
183
+ * @param { Identity } viewIdentity View identity
184
+ * @returns { Promise<ViewState> }
185
+ * @internal
186
+ * @experimental
187
+ * @tutorial Platform.getViewSnapshot
188
+ */
189
+ async getViewSnapshot(viewIdentity) {
190
+ const client = await this.getClient();
191
+ return client.dispatch('get-view-snapshot', { viewIdentity });
192
+ }
176
193
  /**
177
194
  * Adds a snapshot to a running Platform.
178
195
  * Requested snapshot must be a valid Snapshot object, or a url or filepath to such an object.
@@ -16,4 +16,4 @@ export declare const isDomRectEqual: (a: DOMRect, b: DOMRect) => boolean;
16
16
  * @returns Function which disposes the observers when invoked.
17
17
  * @ignore
18
18
  */
19
- export declare const observeBounds: (element: Element, onChange: (bounds: DOMRect) => void) => () => void;
19
+ export declare const observeBounds: (element: Element, onChange: (bounds: DOMRect) => Promise<void> | void) => (() => void);
@@ -32,11 +32,11 @@ exports.isDomRectEqual = isDomRectEqual;
32
32
  */
33
33
  const observeBounds = (element, onChange) => {
34
34
  let lastBounds;
35
- const checkBounds = () => {
35
+ const checkBounds = async () => {
36
36
  const currentBounds = element.getBoundingClientRect();
37
37
  if (!lastBounds || !(0, exports.isDomRectEqual)(lastBounds, currentBounds)) {
38
38
  lastBounds = currentBounds;
39
- onChange(element.getBoundingClientRect());
39
+ await onChange(element.getBoundingClientRect());
40
40
  }
41
41
  };
42
42
  const resizeObserver = new ResizeObserver(() => checkBounds());
@@ -14,475 +14,6 @@ import Entity = OpenFin.ApplicationType;
14
14
  import ApplicationState = OpenFin.ApplicationState;
15
15
  import ApplicationWindowInfo = OpenFin.ApplicationWindowInfo;
16
16
  import 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
- */
404
- /**
405
- * ServiceIdentifier interface
406
- * @typedef { object } ServiceIdentifier
407
- * @property { string } name The name of the service
408
- */
409
- /**
410
- * ServiceConfiguration interface
411
- * @typedef { object } ServiceConfiguration
412
- * @property { object } config The service configuration
413
- * @property { string } name The name of the service
414
- */
415
- /**
416
- * ShortCutConfig interface
417
- * @typedef { object } ShortCutConfig
418
- * @property { boolean } desktop true if application has a shortcut on the desktop
419
- * @property { boolean } startMenu true if application has shortcut in the start menu
420
- * @property { boolean } systemStartup true if application will be launched on system startup
421
- */
422
- /**
423
- * SubOptions interface
424
- * @typedef { Object } SubOptions
425
- * @property { number } timestamp The event timestamp
426
- */
427
- /**
428
- * TaskBar interface
429
- * @typedef { object } TaskBar
430
- * @property { string } edge which edge of a monitor the taskbar is on
431
- * @property { Rect } rect The taskbar coordinates
432
- */
433
- /**
434
- * TerminateExternalRequestType interface
435
- * @typedef { object } TerminateExternalRequestType
436
- * @property { string } uuid The uuid of the running application
437
- * @property { number } timeout Time out period before the running application terminates
438
- * @property { boolean } killtree Value to terminate the running application
439
- */
440
- /**
441
- * Time interface
442
- * @typedef { object } Time
443
- * @property { number } user The number of milliseconds the CPU has spent in user mode
444
- * @property { number } nice The number of milliseconds the CPU has spent in nice mode
445
- * @property { number } sys The number of milliseconds the CPU has spent in sys mode
446
- * @property { number } idle The number of milliseconds the CPU has spent in idle mode
447
- * @property { number } irq The number of milliseconds the CPU has spent in irq mode
448
- */
449
- /**
450
- * TrayInfo interface
451
- * @typedef { object } TrayInfo
452
- * @property { Bounds } bounds The bound of tray icon in virtual screen pixels
453
- * @property { MonitorInfo } monitorInfo Please see fin.System.getMonitorInfo for more information
454
- * @property { number } x copy of bounds.x
455
- * @property { number } y copy of bounds.y
456
- */
457
- /**
458
- * WindowDetail interface
459
- * @typedef { object } WindowDetail
460
- * @property { number } bottom The bottom-most coordinate of the window
461
- * @property { number } height The height of the window
462
- * @property { boolean } isShowing Value to check if the window is showing
463
- * @property { number } left The left-most coordinate of the window
464
- * @property { string } name The name of the window
465
- * @property { number } right The right-most coordinate of the window
466
- * @property { string } state The window state
467
- * @property { number } top The top-most coordinate of the window
468
- * @property { number } width The width of the window
469
- */
470
- /**
471
- * ApplicationWindowInfo interface
472
- * @typedef { object } ApplicationWindowInfo
473
- * @property { Array<WindowDetail> } childWindows The array of child windows details
474
- * @property { WindowDetail } mainWindow The main window detail
475
- * @property { string } uuid The uuid of the application
476
- */
477
- /**
478
- * CertifiedAppInfo interface
479
- * @typedef { object } CertifiedAppInfo
480
- * @property { boolean } isRunning true if the app is running
481
- * @property { boolean } [isOptedIntoCertfiedApp] true if the app has opted into certification
482
- * @property { boolean } [isCertified] true if the app is certified
483
- * @property { boolean } [isSSLCertified] true if the app manifest's SSL certificate is valid
484
- * @property { boolean } [isPresentInAppDirectory] true if the app is present in the OpenFin app directory
485
- */
486
17
  /**
487
18
  * An object representing the core of OpenFin Runtime. Allows the developer
488
19
  * to perform system-level actions, such as accessing logs, viewing processes,