com.openfin.desktop
Class OpenFinRuntime

java.lang.Object
  extended by com.openfin.desktop.OpenFinRuntime
Direct Known Subclasses:
System

public class OpenFinRuntime
extends Object

An object representing the core of the OpenFin Runtime. Allows the developer to perform system-level actions, such as accessing logs, viewing processes, clearing the cache and exiting the Runtime. Created by wche on 1/26/16.


Field Summary
protected  org.json.JSONObject configPayload
           
protected  DesktopConnection connection
           
protected  org.json.JSONObject eventListenerPayload
           
 
Constructor Summary
OpenFinRuntime(DesktopConnection connection)
          Constructor
 
Method Summary
protected  void addEventListener(org.json.JSONObject subscriptionObject, EventListener listener, AckListener callback)
          Registers an event listener on the specified event
 void addEventListener(String type, EventListener listener, AckListener callback)
          Registers an event listener on the specified event
 void clearCache(boolean cache, boolean cookies, boolean localStorage, boolean appcache, boolean userData)
          Clears cached data containing window state/positions, application resource files (images, HTML, JavaScript files) cookies, and items stored in the Local Storage.
 void clearCache(boolean cache, boolean cookies, boolean localStorage, boolean appcache, boolean userData, AckListener listener)
          Clears cached data containing window state/positions, application resource files (images, HTML, JavaScript files) cookies, and items stored in the Local Storage.
 void deleteCacheOnRestart()
          Clears all cached data when App Desktop is restarted
 void deleteCacheOnRestart(AckListener listener)
          Clears all cached data when App Desktop is restarted
 void exit()
          Exit Runtime
 void exit(AckListener listener)
          Deprecated. use exit() instead.
static String getAdapterBuildTime()
          Get build time of java adapter
static String getAdapterVersion()
          Get version info of java adapter
 void getAllApplications(AckListener callback)
          Retrieves an array of data (uuid, running/active state) for all application windows
 void getAllWindows(AckListener listener)
          The object passed to callback takes the form:
 void getCommandLineArguments(AckListener listener)
          Retrieves the command line argument string that started App Desktop
 void getConfig(String section, AckListener callback)
          Retrieves the App Desktop's configuration
 void getDeviceId(AckListener listener)
          Gets Device ID
 void getEnvironmentVariable(String name, AckListener callback)
          Retrieve name of a environment variable
 void getEnvironmentVariables(String[] names, AckListener callback)
          Retrieve name of environment variables
 void getLog(String logName, AckListener listener)
          Retrieves the contents of the log with the specified filename
 void getLogList(AckListener listener)
          Retrieves an array of data objects for all available logs Each object in the returned array takes the form: { name: (string) the filename of the log, size: (integer) the size of the log in bytes, date: (integer) the unix time at which the log was created }
 void getMonitorInfo(AckListener listener)
          Retrieves an object that contains data about the about the
 void getMousePosition(AckListener listener)
          Returns the mouse in virtual screen coordinates (left, top)
 void getProcessList(AckListener listener)
          Retrieves an array of all App Desktop processes that are currently running Each element in the array is an object containing the uuid and the name of the application to which the process belongs.
 void getProxySettings(AckListener listener)
          Retrieves the proxy settings object
 void getVersion(AckListener listener)
          Gets AppDesktop version number
 void launchExternalProcess(String path, String commandLine, AsyncCallback<LaunchExternalProcessResult> callback, AckListener listener)
          Runs an executable or batch file.
 void log(String level, String message)
          Writes a message to the log
 void log(String level, String message, AckListener listener)
          Writes a message to the log
 void openUrlWithBrowser()
          Opens the passed URL
 void openUrlWithBrowser(AckListener listener)
          Opens the passed URL
 void releaseExternalProcess(String processUuid, AckListener callback)
          Removes the process entry for the passed UUID obtained from a previous call to DesktopSystem.launchExternalProcess().
 void removeEventListener(String type, EventListener listener, AckListener callback)
          Removes a previously registered event listener from the specified event
 void setClipboard(String text, AckListener callback)
          Copies text to the clipboard
 void setCookie(String url, String name, String value, long ttl, boolean secure, boolean httpOnly, AckListener callback)
          Stores a cookie in the runtime
 void showDeveloperTools(String applicationUUID, String windowName, AckListener callback)
          Shows Developer tool
 void terminateExternalProcess(String processUuid, int timeout, boolean killTree, AsyncCallback<TerminateExternalProcessResult> callback, AckListener listener)
          Attempts to cleanly close an external process and terminates it if the close has not occured after the elapsed timeout in milliseconds.
 void updateProxySettings(String type, String proxyAddress, int proxyPort, AckListener listener)
          Updates the proxy settings The passed type can be either "system" or "named".
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

connection

protected DesktopConnection connection

eventListenerPayload

protected org.json.JSONObject eventListenerPayload

configPayload

protected org.json.JSONObject configPayload
Constructor Detail

OpenFinRuntime

public OpenFinRuntime(DesktopConnection connection)
Constructor

Parameters:
connection - Connection object to the AppDesktop
See Also:
DesktopConnection
Method Detail

getDeviceId

public void getDeviceId(AckListener listener)
Gets Device ID

Parameters:
listener - AckListener for device ID
See Also:
AckListener

getVersion

public void getVersion(AckListener listener)
Gets AppDesktop version number

Parameters:
listener - AckListener for version number
See Also:
AckListener

getCommandLineArguments

public void getCommandLineArguments(AckListener listener)
Retrieves the command line argument string that started App Desktop

Parameters:
listener - AckListener for command line argument
See Also:
AckListener

getProcessList

public void getProcessList(AckListener listener)
Retrieves an array of all App Desktop processes that are currently running Each element in the array is an object containing the uuid and the name of the application to which the process belongs.

Parameters:
listener - AckListener for process list
See Also:
AckListener

getLog

public void getLog(String logName,
                   AckListener listener)
Retrieves the contents of the log with the specified filename

Parameters:
logName - The filename of the log
listener - AckListener for log contents
See Also:
AckListener

getLogList

public void getLogList(AckListener listener)
Retrieves an array of data objects for all available logs Each object in the returned array takes the form: { name: (string) the filename of the log, size: (integer) the size of the log in bytes, date: (integer) the unix time at which the log was created }

Parameters:
listener - AckListener for log list
See Also:
AckListener

log

public void log(String level,
                String message)
         throws DesktopException,
                DesktopIOException
Writes a message to the log

Parameters:
level - The log level for the entry. Can be either "info", "warning" or "error"
message - The log message text
Throws:
DesktopException
DesktopIOException
See Also:
DesktopException, DesktopIOException

log

public void log(String level,
                String message,
                AckListener listener)
         throws DesktopException
Writes a message to the log

Parameters:
level - The log level for the entry. Can be either "info", "warning" or "error"
message - The log message text
listener - AckListener for the result
Throws:
DesktopException
See Also:
DesktopException, AckListener

getProxySettings

public void getProxySettings(AckListener listener)
Retrieves the proxy settings object
 The proxy object the callback receives takes the following form:
 {
     type: (string) "system" or "named",
     proxyAddress: (string) the address of the proxy server,
     proxyPort: (integer) the port of proxy server
 }
 

Parameters:
listener - AckListener for the request
See Also:
AckListener

updateProxySettings

public void updateProxySettings(String type,
                                String proxyAddress,
                                int proxyPort,
                                AckListener listener)
                         throws DesktopException
Updates the proxy settings The passed type can be either "system" or "named". Use "system" to use the default system proxy settings. Otherwise use "named" to specify the address and port of the proxy server.

Parameters:
type - Type of the proxy
proxyAddress - Address of the proxy
proxyPort - Port of the proxy
listener - AckListener for the request
Throws:
DesktopException
See Also:
DesktopException, AckListener

clearCache

public void clearCache(boolean cache,
                       boolean cookies,
                       boolean localStorage,
                       boolean appcache,
                       boolean userData)
                throws DesktopException,
                       DesktopIOException
Clears cached data containing window state/positions, application resource files (images, HTML, JavaScript files) cookies, and items stored in the Local Storage.

Parameters:
cache - If true, clears chrome caches
cookies - If true, deletes all cookies
localStorage - If true, clear application caches
appcache - If true, clears local storage
userData - If true, clears user data
Throws:
DesktopException
DesktopIOException
See Also:
DesktopException, DesktopIOException

clearCache

public void clearCache(boolean cache,
                       boolean cookies,
                       boolean localStorage,
                       boolean appcache,
                       boolean userData,
                       AckListener listener)
                throws DesktopException
Clears cached data containing window state/positions, application resource files (images, HTML, JavaScript files) cookies, and items stored in the Local Storage.

Parameters:
cache - If true, clears chrome caches
cookies - If true, deletes all cookies
localStorage - If true, clear application caches
appcache - If true, clears local storage
userData - If true, clears user data
listener - AckListener for the request
Throws:
DesktopException
See Also:
DesktopException, AckListener

deleteCacheOnRestart

public void deleteCacheOnRestart()
                          throws DesktopException,
                                 DesktopIOException
Clears all cached data when App Desktop is restarted

Throws:
DesktopException
DesktopIOException
See Also:
DesktopException, DesktopIOException

deleteCacheOnRestart

public void deleteCacheOnRestart(AckListener listener)
Clears all cached data when App Desktop is restarted

Parameters:
listener - AckListener for the request
See Also:
AckListener

openUrlWithBrowser

public void openUrlWithBrowser(AckListener listener)
Opens the passed URL

Parameters:
listener - AckListener for the request
See Also:
AckListener

getMonitorInfo

public void getMonitorInfo(AckListener listener)
Retrieves an object that contains data about the about the
 monitor setup of the computer that App Desktop is running on.
     The returned object takes the form:
     {
         nonPrimaryMonitors: [{
             availableRect: {
                 bottom: (integer) bottom-most available monitor coordinate,
                 left: (integer) left-most available monitor coordinate,
                 right: (integer) right-most available monitor coordinate,
                 top: (integer) top-most available monitor coordinate
             },
             deviceId: (string) device id of the display,
             displayDeviceActive: (boolean) true if the display is active,
             monitorRect: {
                 bottom: (integer) bottom-most monitor coordinate,
                 left: (integer) left-most monitor coordinate,
                 right: (integer) right-most monitor coordinate,
                 top: (integer) top-most monitor coordinate
             },
             name: (string) name of the display
         },
         ...
         ],
         primaryMonitor: {
             availableRect: {
                 bottom: (integer) bottom-most available monitor coordinate,
                 left: (integer) left-most available monitor coordinate,
                 right: (integer) right-most available monitor coordinate,
                 top: (integer) top-most available monitor coordinate
             },
             deviceId: (string) device id of the display,
             displayDeviceActive: (boolean) true if the display is active,
             monitorRect: {
                 bottom: (integer) bottom-most monitor coordinate,
                 left: (integer) left-most monitor coordinate,
                 right: (integer) right-most monitor coordinate,
                 top: (integer) top-most monitor coordinate
             },
             name: (string) name of the display
         },
         reason: (string) always "api-query",
         taskbar: {
             edge: {string} which edge of a monitor the taskbar is on,
             rect: {
                 bottom: ({integer} bottom-most coordinate of the taskbar),
                 left: ({integer} left-most coordinate of the taskbar),
                 right: ({integer} right-most coordinate of the taskbar),
                 top: ({integer} top-most coordinate of the taskbar)
             }
         },
         virtualScreen: {
             bottom: (integer) bottom-most coordinate of the virtual screen,
             left: (integer) left-most coordinate of the virtual screen,
             right: (integer) right-most coordinate of the virtual screen,
             top: (integer) top-most coordinate of the virtual screen
         }
     }
 

Parameters:
listener - AckListener for the request
See Also:
AckListener

getAllWindows

public void getAllWindows(AckListener listener)
The object passed to callback takes the form:
     [
         {
             uuid: (string) uuid of the application,
             mainWindow: {
                 name: (string) name of the main window,
                 top: (integer) top-most coordinate of the main window,
                 right: (integer) right-most coordinate of the main window,
                 bottom: (integer) bottom-most coordinate of the main window,
                 left: (integer) left-most coordinate of the main window
             },
             childWindows: [{
                     name: (string) name of the child window,
                     top: (integer) top-most coordinate of the child window,
                     right: (integer) right-most coordinate of the child window,
                     bottom: (integer) bottom-most coordinate of the child window,
                     left: (integer) left-most coordinate of the child window
                 },
                 ...
             ]
         },
         ...
     ]
 

Parameters:
listener - AckListener for the request
See Also:
AckListener

getAllApplications

public void getAllApplications(AckListener callback)
Retrieves an array of data (uuid, running/active state) for all application windows
     The object passed to callback takes the form:
     [
         {
             uuid: (string) uuid of the application,
             isRunning: (bool) true when the application is running/active
         },
         ...
     ]
 

Parameters:
callback -

exit

public void exit()
          throws DesktopException,
                 DesktopIOException
Exit Runtime

Throws:
DesktopException
DesktopIOException
See Also:
DesktopException, DesktopIOException

exit

@Deprecated
public void exit(AckListener listener)
Deprecated. use exit() instead.

Exits App Desktop

Parameters:
listener - AckListener for the request
See Also:
AckListener

getMousePosition

public void getMousePosition(AckListener listener)
Returns the mouse in virtual screen coordinates (left, top)
     The returned object takes the form:
     {
         top: (integer) the top position of the mouse in virtual screen
                        coordinates,
         left: (integer) the left position of the mouse in virtual screen
                         coordinates
     }
 

Parameters:
listener - AckListener for the request
See Also:
AckListener

openUrlWithBrowser

public void openUrlWithBrowser()
                        throws DesktopException,
                               DesktopIOException
Opens the passed URL

Throws:
DesktopException
DesktopIOException
See Also:
DesktopException, DesktopIOException

getConfig

public void getConfig(String section,
                      AckListener callback)
               throws DesktopException
Retrieves the App Desktop's configuration

Parameters:
section - Which section to return from the configuration. Pass null to get all sections
callback - AckListener for the request
Throws:
DesktopException
See Also:
DesktopException, AckListener

showDeveloperTools

public void showDeveloperTools(String applicationUUID,
                               String windowName,
                               AckListener callback)
                        throws DesktopException
Shows Developer tool

Parameters:
applicationUUID - The application ID
windowName - The name of dev tool window
callback - AckListener for the request
Throws:
DesktopException
See Also:
DesktopException, AckListener

addEventListener

protected void addEventListener(org.json.JSONObject subscriptionObject,
                                EventListener listener,
                                AckListener callback)
                         throws DesktopException
Registers an event listener on the specified event
     Supported system event types are:
          desktop-icon-clicked
          idle-state-changed
          monitor-info-changed
          session-changed
 

Parameters:
subscriptionObject - A JSON object containing subscription information such as the topic and type
listener - EventListener for the event
callback - AckListener for the request
Throws:
DesktopException
See Also:
EventListener, AckListener

addEventListener

public void addEventListener(String type,
                             EventListener listener,
                             AckListener callback)
                      throws DesktopException
Registers an event listener on the specified event
     Supported system event types are:
          desktop-icon-clicked
          idle-state-changed
          monitor-info-changed
          session-changed
 

Parameters:
listener - EventListener for the event
callback - AckListener for the request
Throws:
DesktopException
See Also:
EventListener, AckListener

removeEventListener

public void removeEventListener(String type,
                                EventListener listener,
                                AckListener callback)
                         throws DesktopException
Removes a previously registered event listener from the specified event

Parameters:
listener - EventListener for the event
callback - AckListener for the request
Throws:
DesktopException
See Also:
DesktopException, EventListener, AckListener

launchExternalProcess

public void launchExternalProcess(String path,
                                  String commandLine,
                                  AsyncCallback<LaunchExternalProcessResult> callback,
                                  AckListener listener)
                           throws DesktopException
Runs an executable or batch file.

Parameters:
path - The path of the file to launch via the command line
commandLine - The command line arguments to pass
callback - A function that is called if the method succeeds
listener - A function that is called if the method fails
Throws:
DesktopException
See Also:
DesktopException, AsyncCallback, LaunchExternalProcessResult, AckListener

terminateExternalProcess

public void terminateExternalProcess(String processUuid,
                                     int timeout,
                                     boolean killTree,
                                     AsyncCallback<TerminateExternalProcessResult> callback,
                                     AckListener listener)
                              throws DesktopException
Attempts to cleanly close an external process and terminates it if the close has not occured after the elapsed timeout in milliseconds.

Parameters:
processUuid - The UUID for a process launched by DesktopSystem.launchExternalProcess()
timeout - The time in milliseconds to wait for a close to occur before terminating
killTree -
callback - A function that is called if the method succeed with result code being passed
listener - A function that is called if the method fails
Throws:
DesktopException
See Also:
DesktopException, terminateExternalProcess, TerminateExternalProcessResult, AckListener

releaseExternalProcess

public void releaseExternalProcess(String processUuid,
                                   AckListener callback)
                            throws DesktopException
Removes the process entry for the passed UUID obtained from a previous call to DesktopSystem.launchExternalProcess().

Parameters:
processUuid - The UUID for a process launched by DesktopSystem.launchExternalProcess()
callback - AckListener for the request
Throws:
DesktopException
See Also:
DesktopException, AckListener

setClipboard

public void setClipboard(String text,
                         AckListener callback)
                  throws DesktopException
Copies text to the clipboard

Parameters:
text - The text to copy
callback - AckListener for the request
Throws:
DesktopException
See Also:
DesktopException, AckListener

setCookie

public void setCookie(String url,
                      String name,
                      String value,
                      long ttl,
                      boolean secure,
                      boolean httpOnly,
                      AckListener callback)
               throws DesktopException
Stores a cookie in the runtime

Parameters:
url - The URL that the cookie is for
name - The key used to lookup the value
value - The value paired with the key (name)
ttl - The time to till the cookie expires in milliseconds. Never expires when set to 0. Defaults to 0.
secure - Accessible only on a secured connection (SSL)
httpOnly - Accessible only on HTTP/HTTPS.
callback - AckListener for the request
Throws:
DesktopException
See Also:
DesktopException, AckListener

getEnvironmentVariable

public void getEnvironmentVariable(String name,
                                   AckListener callback)
                            throws Exception
Retrieve name of a environment variable

Parameters:
name - name of the environment variable
callback - AckListener for the request
Throws:
Exception
See Also:
AckListener

getEnvironmentVariables

public void getEnvironmentVariables(String[] names,
                                    AckListener callback)
                             throws DesktopException
Retrieve name of environment variables

Parameters:
names - names of the environment variable
callback - AckListener for the request
Throws:
DesktopException
See Also:
DesktopException, AckListener

getAdapterVersion

public static String getAdapterVersion()
Get version info of java adapter

Returns:
version information

getAdapterBuildTime

public static String getAdapterBuildTime()
Get build time of java adapter

Returns:
build time


Copyright © 2016. All rights reserved.