Versions

org.rdk.RDKShell.1

RDKShell controls the management of composition, layout, Z order, and key handling

Methods


moveToFront (v1)

Description:  moves the client to the front or top of the Z order

Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.moveToFront", "params":{ "client": "org.rdk.Netflix"}}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }



moveToBack (v1)

Description:

Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.moveToBack", "params":{ "client": "org.rdk.Netflix" }}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }



moveBehind (v1)

Description:  Moves the client behind the specified target

Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.moveBehind", "params":{ "client": "org.rdk.Netflix", "target": "org.rdk.RDKBrowser2"}}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }


setFocus (v1)

Description:  Sets focus to the specified client

Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.setFocus", "params":{ "client": "org.rdk.Netflix" }}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }



kill (v1)

Description: Kills the client

Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.kill", "params":{ "client": "org.rdk.Netflix" }}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }



addKeyIntercept (v1)

Description:  Adds a key intercept to the client application specified.  The keys are specified by key code and a set of modifiers.  Regardless of the application that has focus, key presses that match the key code and modifiers will be sent to the client application

Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.addKeyIntercept", "params":{ 
              "keyCode": 10, 
              "modifiers": ["alt", "shift"], 
              "client": "org.rdk.Netflix" }}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }



removeKeyIntercept (v1)

Description:  Removes the key intercept

Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.removeKeyIntercept", "params":{"keyCode": 10, "modifiers": ["alt", "shift"], "client": "org.rdk.Netflix"}}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }



getScreenResolution (v1)

Description:  gets the screen resolution

Arguments:  none

Returns:

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.getScreenResolution", "params":{ }}

Response: {"jsonrpc":"2.0", "id":3, "result": {"w": 1920, "h": 1080} }



setScreenResolution (v1)

Description:  Sets the screen resolution

Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.setScreenResolution", "params":{ "w": 1920, "h": 1080 }}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }



getClients (v1)

Description:  Gets a list of clients

Arguments:  none

Returns:

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.getClients", "params":{ }}

Response: {"jsonrpc":"2.0", "id":3, "result": { "clients": ["org.rdk.Netflix", "org.rdk.RDKBrowser2"]} }



getZOrder (v1)

Description:  returns an array of clients in Z order, starting with the top most application client first

Arguments:  none

Returns:

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.getZOrder", "params":{ }}

Response: {"jsonrpc":"2.0", "id":3, "result": { "clients": ["org.rdk.Netflix", "org.rdk.RDKBrowser2"]} }



getBounds (v1)

Description:  gets the bounds of the specified client

Arguments: 

Returns:

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.getBounds", "params":{ "client": "org.rdk.RDKBrowser2"}}

Response: {"jsonrpc":"2.0", "id":3, "result": {
             "x": 0,
             "y": 0,
             "w": 600,
             "h": 400} }



setBounds (v1)

Description: sets the bounds of the specified client

Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.setBounds", "params":{ 
             "client": "org.rdk.RDKBrowser2",
             "x": 0,
             "y": 0,
             "w": 600,
             "h": 400
}}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }



getVisibility (v1)

Description: gets the visibility of the specified client

Arguments:

Returns:

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.getVisibility", "params":{ "client": "org.rdk.Netflix" }}

Response: {"jsonrpc":"2.0", "id":3, "result": {"visible": true} }



setVisibility (v1)

Description:

Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.setVisibility", "params":{ "client": "org.rdk.Netflix", "visible": true }}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }



getOpacity (v1)

Description:  gets the opacity of the specified client

Arguments:

Returns:

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.getOpacity", "params":{ "client": "org.rdk.Netflix"}}

Response: {"jsonrpc":"2.0", "id":3, "result": { "opacity" : 100} }



setOpacity (v1)

Description: Sets the opacity of the given client

Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.setOpacity", "params":{ "client": "org.rdk.Netflix", "opacity": 100}}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }

enableInactivityReporting (v1)

Description: Enables or disables inactivity reporting and events

Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.enableInactivityReporting", "params":{ "enable": true}}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }

setInactivityInterval (v1)

Description: Sets the inactivity notification interval

Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.setInactivityInterval", "params":{ "interval": 15}}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }


addKeyListener (v2)

Description: Adds a key listener to an app.  The keys are bubbled up based on their z-order


Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.addKeyListener", "params":{
              "keys": [{
              "keyCode": 49,
              "modifiers": [],
             "activate":false,
             "propagate":true
              }, {
              "keyCode": 50,
              "modifiers": [],
             "activate":false,
             "propagate":true
              }],
              "client": "org.rdk.Netflix" }}}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }



removeKeyListener (v2)

Description: Removes a key listener for an app


Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.removeKeyListener", "params":{"keys": [{
              "keyCode": 49,
              "modifiers": []
              }, {
              "keyCode": 50,
              "modifiers": []
              }],
              "client": "org.rdk.Netflix" }}}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }


addAnimation (v2)

Description: Performs a set of animations


Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.addAnimation", "params":{"animations": [{
         "client": "HtmlApp",
         "x":0, "y":0, "w":1920, "h":1080, "duration":"3"
         }, 
		 {
           "client": "ResidentApp",
           "x":0, "y":0, "w":0, "h":0, "sx":0.5, "sy":0.5, "duration":"2"
		 }
         ]}}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }


setScale (v2)

Description: Scale an application


Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.setScale", "params":{"client": "ResidentApp", "sx":1.5, "sy":1.5}}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }


getScale (v2)

Description: Scale an application


Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.getScale", "params":{"client": "ResidentApp"}}

Response: {"jsonrpc":"2.0", "id":3, "result": {"sx":1.5, "sy":1.5} }



generateKey (v2)

Description: Triggers key events (key press and release)


Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.generateKey", "params":{
   "keys":[ {
               "keyCode": 49,
               "modifiers": [],
               "delay":1.0,
               "callsign":"appName"
             },
             {
               "keyCode": 50,
               "modifiers": [],
               "delay":2.0
             }
          ]
}}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }



launch

Description: Launches an application


Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.launch", "params":{"callsign": "app1", "type":"HtmlApp", "uri":"https://www.example.com", "x":0, "y":0, "w":1920, "h":1080}}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }


suspend (v2)

Description: Suspend an application


Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.suspend", "params":{"callsign": "Cobalt"}}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }


destroy (v2)

Description: destroys an application


Arguments:

Returns: none

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.destroy", "params":{"callsign": "Cobalt"}}

Response: {"jsonrpc":"2.0", "id":3, "result": {} }



getAvailableTypes (v2)

Description: returns the list of application types available on the firmware.


Arguments: none

Returns: list of available application types

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.getAvailableTypes", "params":{}}

Response: {"jsonrpc":"2.0", "id":<number>, "result": {”types":[
"LightningBrowser", "HtmlBrowser", "Cobalt", "Netflix"], "success" : true} }


getState (v2)

Description: returns the list of application types available on the firmware.


Arguments: none

Returns:

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.getState", "params":{}}

Response:  {"jsonrpc":"2.0", "id":<number>, "result": {"runtimes":[

{"callsign":"netflix1", "state":"suspended", "uri":"https://…. "},

{"callsign":"cobalt1", "state":"resumed", "uri":"https://…. "}
], "success": true} }


getSystemResourceInfo (v2)

Description: returns the list of application types available on the firmware.


Arguments: none

Returns:

Request : {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.getSystemResourceInfo", "params":{}}

Response:   {"jsonrpc":"2.0", "id":<number>, "result": {"runtimes":[
{"callsign":"netflix1", "ram":123, "vram":50},
{"callsign":"html1", "ram":123, "vram":50},
{"callsign":”cobalt1", "ram":123, "vram":50}], "success": true} }


Events

onUserInactivity (v1)

Description: An event that is broadcasted when a device has been inactive for a period of time.  This event is broadcasted at the frequency specified by setInactivityInterval if the device is not active.  The default frequency is 15 minutes.

Parameters:

onLaunched (v1)

Description: An event that is broadcasted when an runtime is launched

Parameters:

onSuspended (v1)

Description: An event that is broadcasted when an runtime is suspended

Parameters:

onDestroyed (v1)

Description: An event that is broadcasted when an runtime is destroyed

Parameters: