Home | History | Annotate | Download | only in api
      1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 [
      6   {
      7     "namespace":"networkingPrivate",
      8     "description": "none",
      9     "compiler_options": {
     10       "implemented_in": "chrome/browser/extensions/api/networking_private/networking_private_api.h"
     11     },
     12     "platforms": ["chromeos", "win"],
     13     "types" : [
     14       {
     15         "id": "NetworkProperties",
     16         "type": "object",
     17         "additionalProperties": { "type": "any" }
     18       },
     19       {
     20         "id": "ManagedNetworkProperties",
     21         "type": "object",
     22         "additionalProperties": { "type": "any" }
     23       },
     24       {
     25         "id": "VerificationProperties",
     26         "type": "object",
     27         "properties": {
     28           "certificate": {
     29             "type": "string",
     30             "description": "A string containing a PEM-encoded X.509 certificate for use in verifying the signed data."
     31           },
     32           "publicKey": {
     33             "type": "string",
     34             "description": "A string containing a PEM-encoded RSA public key to be used to compare with the one in signedData"
     35           },
     36           "nonce": {
     37             "type": "string",
     38             "description": "A string containing a base64-encoded random binary data for use in verifying the signed data."
     39           },
     40           "signedData": {
     41             "type": "string",
     42             "description": "A string containing the identifying data string signed by the device."
     43           },
     44           "deviceSerial": {
     45             "type": "string",
     46             "description": "A string containing the serial number of the device."
     47           },
     48           "deviceSsid": {
     49             "type": "string",
     50             "description": "A string containing the SSID of the device.  Only set if the device has already been setup once."
     51           },
     52           "deviceBssid": {
     53             "type": "string",
     54             "description": "A string containing the BSSID of the device.  Only set if the device has already been setup."
     55           }
     56         }
     57       },
     58       {
     59         "id": "NetworkType",
     60         "type": "string",
     61         "enum": ["Ethernet", "WiFi", "Cellular"]
     62       }
     63     ],
     64     "functions": [
     65       {
     66         "name": "getProperties",
     67         "description": "Gets all the properties of the network with id networkGuid.  Includes all properties of the network (read-only and read/write values).",
     68         "parameters": [
     69           {
     70             "name": "networkGuid",
     71             "type": "string",
     72             "description": "The unique identifier of the network to get properties from."
     73           },
     74           {
     75             "name": "callback",
     76             "type": "function",
     77             "parameters": [
     78               {
     79                 "name": "properties",
     80                 "$ref": "NetworkProperties",
     81                 "description": "Results of the query for network properties."
     82               }
     83             ]
     84           }
     85         ]
     86       },
     87       {
     88         "name": "getManagedProperties",
     89         "description": "Gets the merged properties of the network with id networkGuid from the sources: User settings, shared settings, user policy, device policy and the currently active settings.",
     90         "parameters": [
     91           {
     92             "name": "networkGuid",
     93             "type": "string",
     94             "description": "The unique identifier of the network to get properties from."
     95           },
     96           {
     97             "name": "callback",
     98             "type": "function",
     99             "parameters": [
    100               {
    101                 "name": "properties",
    102                 "$ref": "ManagedNetworkProperties",
    103                 "description": "Results of the query for managed network properties."
    104               }
    105             ]
    106           }
    107         ]
    108       },
    109       {
    110         "name": "getState",
    111         "description": "Gets the cached read-only properties of the network with id networkGuid.  This is meant to be a higher performance function than getProperties, which requires a round trip to query the networking subsystem.  It only returns a subset of the properties returned by getProperties.",
    112         "parameters": [
    113           {
    114             "name": "networkGuid",
    115             "type": "string",
    116             "description": "The unique identifier of the network to set properties on."
    117           },
    118           {
    119             "name": "callback",
    120             "type": "function",
    121             "parameters": [
    122               {
    123                 "name": "properties",
    124                 "$ref": "NetworkProperties",
    125                 "description": "Results of the query for network properties."
    126               }
    127             ]
    128           }
    129         ]
    130       },
    131       {
    132         "name": "setProperties",
    133         "description": "Sets the properties of the network with id networkGuid.",
    134         "parameters": [
    135           {
    136             "name": "networkGuid",
    137             "type": "string",
    138             "description": "The unique identifier of the network to set properties on."
    139           },
    140           {
    141             "name": "properties",
    142             "$ref": "NetworkProperties",
    143             "description": "The properties to set on the network."
    144           },
    145           {
    146             "name": "callback",
    147             "type": "function",
    148             "parameters": []
    149           }
    150         ]
    151       },
    152       {
    153         "name": "createNetwork",
    154         "description": "Creates a new network configuration from propeties. If a matching configured network already exists, this will fail. Otherwise returns the guid of the new network.",
    155         "parameters": [
    156           {
    157             "name": "shared",
    158             "type": "boolean",
    159             "description": "If true, share this network configuration with other users."
    160           },
    161           {
    162             "name": "properties",
    163             "$ref": "NetworkProperties",
    164             "description": "The properties to configure the new network with."
    165           },
    166           {
    167             "name": "callback",
    168             "type": "function",
    169             "parameters": [
    170               {
    171                 "name": "guid",
    172                 "type": "string"
    173               }
    174             ]
    175           }
    176         ]
    177       },
    178       {
    179         "name": "getVisibleNetworks",
    180         "description": "Gets the list of visible networks, and returns a list of cached, read-only network properties for each.",
    181         "parameters": [
    182           {
    183             "name": "type",
    184             "type": "string",
    185             "enum": ["Ethernet", "WiFi", "Bluetooth", "Cellular", "VPN", "All"],
    186             "description": "The type of networks to return."
    187           },
    188           {
    189             "name": "callback",
    190             "type": "function",
    191             "optional": true,
    192             "parameters": [
    193               {
    194                 "name": "networkList",
    195                 "type": "array",
    196                 "items": { "$ref": "NetworkProperties" }
    197               }
    198             ]
    199           }
    200         ]
    201       },
    202       {
    203         "name": "getEnabledNetworkTypes",
    204         "description": "Returns a list of the enabled network type.",
    205         "parameters": [
    206           {
    207             "name": "callback",
    208             "type": "function",
    209             "optional": true,
    210             "parameters": [
    211               {
    212                 "name": "networkList",
    213                 "type": "array",
    214                 "items": { "$ref": "NetworkType" }
    215               }
    216             ]
    217           }
    218         ]
    219       },
    220       {
    221         "name": "enableNetworkType",
    222         "description": "Enable the specified network type.",
    223         "parameters": [
    224           {
    225             "name": "networkType",
    226             "$ref": "NetworkType"
    227           }
    228         ]
    229       },
    230       {
    231         "name": "disableNetworkType",
    232         "description": "Disable the specified network type.",
    233         "parameters": [
    234           {
    235             "name": "networkType",
    236             "$ref": "NetworkType"
    237           }
    238         ]
    239       },
    240       {
    241         "name": "requestNetworkScan",
    242         "description": "Requests that the networking subsystem scan for new networks and update the list returned by getVisibleNetworks.  This is only a request: the network subsystem can choose to ignore it.  If the list is updated, then the onNetworkListChanged event will be fired.",
    243         "parameters": []
    244       },
    245       {
    246         "name": "startConnect",
    247         "description": "Starts a connection to the network with networkGuid.",
    248         "parameters": [
    249           {
    250             "name": "networkGuid",
    251             "type": "string",
    252             "description": "The unique identifier of the network to connect to."
    253           },
    254           {
    255             "name": "callback",
    256             "type": "function",
    257             "optional": true,
    258             "parameters": [],
    259             "description": "A callback function that indicates that a connection has been initiated."
    260           }
    261         ]
    262       },
    263       {
    264         "name": "startDisconnect",
    265         "description": "Starts a disconnect from the network with networkGuid.",
    266         "parameters": [
    267           {
    268             "name": "networkGuid",
    269             "type": "string",
    270             "description": "The unique identifier of the network to disconnect from."
    271           },
    272           {
    273             "name": "callback",
    274             "type": "function",
    275             "optional": true,
    276             "parameters": [],
    277             "description": "A callback function that indicates that a disconnect has been initiated."
    278           }
    279         ]
    280       },
    281       {
    282         "name": "verifyDestination",
    283         "description": "Verifies that the device is a trusted device.",
    284         "parameters": [
    285           {
    286             "name": "properties",
    287             "$ref": "VerificationProperties",
    288             "description": "Properties of the destination to use in verifying that it is a trusted device."
    289           },
    290           {
    291             "name": "callback",
    292             "type": "function",
    293             "parameters": [
    294               {
    295                 "name": "verified",
    296                 "type": "boolean"
    297               }
    298             ],
    299             "description": "A callback function that indicates whether or not the device is a trusted device."
    300           }
    301         ]
    302       },
    303       {
    304         "name": "verifyAndEncryptCredentials",
    305         "description": "Verifies that the device is a trusted device and retrieves encrypted network credentials.",
    306         "parameters": [
    307           {
    308             "name": "properties",
    309             "$ref": "VerificationProperties",
    310             "description": "Properties of the destination to use in verifying that it is a trusted device."
    311           },
    312           {
    313             "name": "guid",
    314             "type": "string",
    315             "description": "A string containing the unique identifier of the network to get credentials for."
    316           },
    317           {
    318             "name": "callback",
    319             "type": "function",
    320             "parameters": [
    321               {
    322                 "name": "credentials",
    323                 "type": "string"
    324               }
    325             ],
    326             "description": "A callback function that receives base64-encoded encrypted credential data to send to a trusted device."
    327           }
    328         ]
    329       },
    330       {
    331         "name": "verifyAndEncryptData",
    332         "description": "Verifies that the device is a trusted device and encrypts supplied data with device public key.",
    333         "parameters": [
    334           {
    335             "name": "properties",
    336             "$ref": "VerificationProperties",
    337             "description": "Properties of the destination to use in verifying that it is a trusted device."
    338           },
    339           {
    340             "name": "data",
    341             "type": "string",
    342             "description": "A string containing the base64-encoded data to encrypt."
    343           },
    344           {
    345             "name": "callback",
    346             "type": "function",
    347             "parameters": [
    348               {
    349                 "name": "encryptedData",
    350                 "type": "string"
    351               }
    352             ],
    353             "description": "A callback function that receives base64-encoded encrypted data to send to a trusted device."
    354           }
    355         ]
    356       }
    357     ],
    358     "events": [
    359       {
    360         "name": "onNetworksChanged",
    361         "type": "function",
    362         "description": "Fired when the properties change on any of the networks.  Sends a list of identifiers for networks whose properties have changed.",
    363         "parameters": [
    364           {
    365             "name": "changes",
    366             "type": "array",
    367             "items": { "type": "string" }
    368           }
    369         ]
    370       },
    371       {
    372         "name": "onNetworkListChanged",
    373         "type": "function",
    374         "description": "Fired when the list of networks has changed.  Sends a complete list of identifiers for all the current networks.",
    375         "parameters": [
    376           {
    377             "name": "changes",
    378             "type": "array",
    379             "items": { "type": "string" }
    380           }
    381         ]
    382       }
    383     ]
    384   }
    385 ]
    386