This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
zhuyujia-webhopper/collector/adg-linux/gen/extensions/common/api/generated_schemas.cc

148 lines
285 KiB
C++
Raw Normal View History

2022-05-05 20:41:28 +08:00
// Copyright (c) 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "extensions/common/api/generated_schemas.h"
namespace {
const char kAlarms[] = "{\"functions\":[{\"parameters\":[{\"optional\":true,\"type\":\"string\",\"name\":\"name\"},{\"$ref\":\"alarms.AlarmCreateInfo\",\"name\":\"alarmInfo\"}],\"name\":\"create\",\"type\":\"function\"},{\"parameters\":[{\"optional\":true,\"type\":\"string\",\"name\":\"name\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"optional\":true,\"name\":\"alarm\",\"$ref\":\"alarms.Alarm\"}]}],\"name\":\"get\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"alarms.Alarm\"},\"type\":\"array\",\"name\":\"alarms\"}]}],\"name\":\"getAll\",\"type\":\"function\"},{\"parameters\":[{\"optional\":true,\"type\":\"string\",\"name\":\"name\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"wasCleared\"}]}],\"name\":\"clear\",\"type\":\"function\"},{\"parameters\":[{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"wasCleared\"}]}],\"name\":\"clearAll\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"$ref\":\"alarms.Alarm\",\"name\":\"alarm\"}],\"name\":\"onAlarm\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"alarms\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"alarms.Alarm\",\"properties\":{\"name\":{\"name\":\"name\",\"type\":\"string\"},\"scheduledTime\":{\"name\":\"scheduledTime\",\"type\":\"number\"},\"periodInMinutes\":{\"optional\":true,\"name\":\"periodInMinutes\",\"type\":\"number\"}}},{\"type\":\"object\",\"id\":\"alarms.AlarmCreateInfo\",\"properties\":{\"when\":{\"optional\":true,\"name\":\"when\",\"type\":\"number\"},\"delayInMinutes\":{\"optional\":true,\"name\":\"delayInMinutes\",\"type\":\"number\"},\"periodInMinutes\":{\"optional\":true,\"name\":\"periodInMinutes\",\"type\":\"number\"}}}]}";
const char kAppCurrentWindowInternal[] = "{\"functions\":[{\"parameters\":[],\"name\":\"focus\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"fullscreen\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"minimize\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"maximize\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"restore\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"drawAttention\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"clearAttention\",\"type\":\"function\"},{\"parameters\":[{\"optional\":true,\"type\":\"boolean\",\"name\":\"focused\"}],\"name\":\"show\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"hide\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"boundsType\"},{\"name\":\"bounds\",\"$ref\":\"app.currentWindowInternal.Bounds\"}],\"name\":\"setBounds\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"boundsType\"},{\"name\":\"constraints\",\"$ref\":\"app.currentWindowInternal.SizeConstraints\"}],\"name\":\"setSizeConstraints\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"icon_url\"}],\"name\":\"setIcon\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"region\",\"$ref\":\"app.currentWindowInternal.Region\"}],\"name\":\"setShape\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"boolean\",\"name\":\"always_on_top\"}],\"name\":\"setAlwaysOnTop\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"boolean\",\"name\":\"always_visible\"}],\"name\":\"setVisibleOnAllWorkspaces\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"boolean\",\"name\":\"activate_on_pointer\"}],\"name\":\"setActivateOnPointer\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[],\"name\":\"onClosed\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"onBoundsChanged\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"onFullscreened\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"onMinimized\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"onMaximized\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"onRestored\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"onAlphaEnabledChanged\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"app.currentWindowInternal\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"app.currentWindowInternal.Bounds\",\"properties\":{\"left\":{\"optional\":true,\"name\":\"left\",\"type\":\"integer\"},\"top\":{\"optional\":true,\"name\":\"top\",\"type\":\"integer\"},\"width\":{\"optional\":true,\"name\":\"width\",\"type\":\"integer\"},\"height\":{\"optional\":true,\"name\":\"height\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"app.currentWindowInternal.SizeConstraints\",\"properties\":{\"minWidth\":{\"optional\":true,\"name\":\"minWidth\",\"type\":\"integer\"},\"minHeight\":{\"optional\":true,\"name\":\"minHeight\",\"type\":\"integer\"},\"maxWidth\":{\"optional\":true,\"name\":\"maxWidth\",\"type\":\"integer\"},\"maxHeight\":{\"optional\":true,\"name\":\"maxHeight\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"app.currentWindowInternal.RegionRect\",\"properties\":{\"left\":{\"name\":\"left\",\"type\":\"integer\"},\"top\":{\"name\":\"top\",\"type\":\"integer\"},\"width\":{\"name\":\"width\",\"type\":\"integer\"},\"height\":{\"name\":\"height\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"app.currentWindowInternal.Region\",\"properties\":{\"rects\":{\"optional\":true,\"name\":\"rects\",\"type\":\"array\",\"items\":{\"$ref\":\"app.currentWindowInternal.RegionRect\"}}}}]}";
const char kAppRuntime[] = "{\"functions\":[],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"name\":\"request\",\"$ref\":\"app.runtime.EmbedRequest\"}],\"name\":\"onEmbedRequested\",\"type\":\"function\"},{\"parameters\":[{\"optional\":true,\"name\":\"launchData\",\"$ref\":\"app.runtime.LaunchData\"}],\"name\":\"onLaunched\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"onRestarted\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"app.runtime\",\"properties\":{},\"types\":[{\"inline_doc\":true,\"type\":\"object\",\"id\":\"app.runtime.LaunchItem\",\"properties\":{\"entry\":{\"name\":\"entry\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\"},\"isInstanceOf\":\"Entry\"},\"type\":{\"optional\":true,\"name\":\"type\",\"type\":\"string\"}}},{\"enum\":[{\"name\":\"untracked\"},{\"name\":\"app_launcher\"},{\"name\":\"new_tab_page\"},{\"name\":\"reload\"},{\"name\":\"restart\"},{\"name\":\"load_and_launch\"},{\"name\":\"command_line\"},{\"name\":\"file_handler\"},{\"name\":\"url_handler\"},{\"name\":\"system_tray\"},{\"name\":\"about_page\"},{\"name\":\"keyboard\"},{\"name\":\"extensions_page\"},{\"name\":\"management_api\"},{\"name\":\"ephemeral_app\"},{\"name\":\"background\"},{\"name\":\"kiosk\"},{\"name\":\"chrome_internal\"},{\"name\":\"test\"},{\"name\":\"installed_notification\"},{\"name\":\"context_menu\"}],\"type\":\"string\",\"id\":\"app.runtime.LaunchSource\"},{\"enum\":[{\"name\":\"new_note\"}],\"type\":\"string\",\"id\":\"app.runtime.ActionType\"},{\"type\":\"string\",\"enum\":[{\"name\":\"enabled\"},{\"name\":\"available\"},{\"name\":\"unknown\"}],\"nodoc\":\"True\",\"id\":\"app.runtime.PlayStoreStatus\"},{\"type\":\"object\",\"id\":\"app.runtime.ActionData\",\"properties\":{\"actionType\":{\"name\":\"actionType\",\"$ref\":\"app.runtime.ActionType\"},\"isLockScreenAction\":{\"optional\":true,\"name\":\"isLockScreenAction\",\"type\":\"boolean\"},\"restoreLastActionState\":{\"optional\":true,\"name\":\"restoreLastActionState\",\"type\":\"boolean\"}}},{\"inline_doc\":true,\"type\":\"object\",\"id\":\"app.runtime.LaunchData\",\"properties\":{\"id\":{\"optional\":true,\"name\":\"id\",\"type\":\"string\"},\"items\":{\"optional\":true,\"name\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"app.runtime.LaunchItem\"}},\"url\":{\"optional\":true,\"name\":\"url\",\"type\":\"string\"},\"referrerUrl\":{\"optional\":true,\"name\":\"referrerUrl\",\"type\":\"string\"},\"isKioskSession\":{\"optional\":true,\"name\":\"isKioskSession\",\"type\":\"boolean\"},\"isPublicSession\":{\"optional\":true,\"name\":\"isPublicSession\",\"type\":\"boolean\"},\"source\":{\"optional\":true,\"name\":\"source\",\"$ref\":\"app.runtime.LaunchSource\"},\"actionData\":{\"optional\":true,\"name\":\"actionData\",\"$ref\":\"app.runtime.ActionData\"},\"playStoreStatus\":{\"optional\":true,\"name\":\"playStoreStatus\",\"$ref\":\"app.runtime.PlayStoreStatus\"}}},{\"type\":\"object\",\"id\":\"app.runtime.EmbedRequest\",\"properties\":{\"embedderId\":{\"name\":\"embedderId\",\"type\":\"string\"},\"data\":{\"optional\":true,\"name\":\"data\",\"type\":\"any\"},\"allow\":{\"parameters\":[{\"type\":\"string\",\"name\":\"url\"}],\"name\":\"allow\",\"type\":\"function\"},\"deny\":{\"parameters\":[],\"name\":\"deny\",\"type\":\"function\"}}}]}";
const char kAppViewGuestInternal[] = "{\"namespace\":\"appViewGuestInternal\",\"functions\":[{\"name\":\"attachFrame\",\"type\":\"function\",\"parameters\":[{\"type\":\"string\",\"name\":\"url\"},{\"type\":\"integer\",\"name\":\"guestInstanceId\"},{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"}]}]},{\"name\":\"denyRequest\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"guestInstanceId\"}]}]}";
const char kAppWindow[] = "{\"functions\":[{\"parameters\":[{\"type\":\"string\",\"name\":\"url\"},{\"optional\":true,\"name\":\"options\",\"$ref\":\"app.window.CreateWindowOptions\"},{\"name\":\"callback\",\"parameters\":[{\"additionalProperties\":{\"type\":\"any\"},\"type\":\"object\",\"name\":\"createdWindow\",\"isInstanceOf\":\"AppWindow\"}],\"type\":\"function\",\"optional\":true}],\"name\":\"create\",\"type\":\"function\"},{\"parameters\":[],\"returns\":{\"optional\":true,\"name\":\"current\",\"$ref\":\"app.window.AppWindow\"},\"name\":\"current\",\"type\":\"function\"},{\"parameters\":[{\"additionalProperties\":{\"type\":\"any\"},\"type\":\"object\",\"name\":\"state\"}],\"name\":\"initializeAppWindow\",\"type\":\"function\"},{\"parameters\":[],\"returns\":{\"items\":{\"$ref\":\"app.window.AppWindow\"},\"type\":\"array\",\"name\":\"getAll\"},\"name\":\"getAll\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"id\"}],\"returns\":{\"optional\":true,\"name\":\"get\",\"$ref\":\"app.window.AppWindow\"},\"name\":\"get\",\"type\":\"function\"},{\"parameters\":[],\"returns\":{\"type\":\"boolean\",\"name\":\"canSetVisibleOnAllWorkspaces\"},\"name\":\"canSetVisibleOnAllWorkspaces\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[],\"name\":\"onBoundsChanged\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"onClosed\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"onFullscreened\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"onMaximized\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"onMinimized\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"onRestored\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"onAlphaEnabledChanged\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"app.window\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"app.window.ContentBounds\",\"properties\":{\"left\":{\"optional\":true,\"name\":\"left\",\"type\":\"integer\"},\"top\":{\"optional\":true,\"name\":\"top\",\"type\":\"integer\"},\"width\":{\"optional\":true,\"name\":\"width\",\"type\":\"integer\"},\"height\":{\"optional\":true,\"name\":\"height\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"app.window.BoundsSpecification\",\"properties\":{\"left\":{\"optional\":true,\"name\":\"left\",\"type\":\"integer\"},\"top\":{\"optional\":true,\"name\":\"top\",\"type\":\"integer\"},\"width\":{\"optional\":true,\"name\":\"width\",\"type\":\"integer\"},\"height\":{\"optional\":true,\"name\":\"height\",\"type\":\"integer\"},\"minWidth\":{\"optional\":true,\"name\":\"minWidth\",\"type\":\"integer\"},\"minHeight\":{\"optional\":true,\"name\":\"minHeight\",\"type\":\"integer\"},\"maxWidth\":{\"optional\":true,\"name\":\"maxWidth\",\"type\":\"integer\"},\"maxHeight\":{\"optional\":true,\"name\":\"maxHeight\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"app.window.Bounds\",\"properties\":{\"left\":{\"name\":\"left\",\"type\":\"integer\"},\"top\":{\"name\":\"top\",\"type\":\"integer\"},\"width\":{\"name\":\"width\",\"type\":\"integer\"},\"height\":{\"name\":\"height\",\"type\":\"integer\"},\"minWidth\":{\"optional\":true,\"name\":\"minWidth\",\"type\":\"integer\"},\"minHeight\":{\"optional\":true,\"name\":\"minHeight\",\"type\":\"integer\"},\"maxWidth\":{\"optional\":true,\"name\":\"maxWidth\",\"type\":\"integer\"},\"maxHeight\":{\"optional\":true,\"name\":\"maxHeight\",\"type\":\"integer\"},\"setPosition\":{\"parameters\":[{\"type\":\"integer\",\"name\":\"left\"},{\"type\":\"integer\",\"name\":\"top\"}],\"name\":\"setPosition\",\"type\":\"function\"},\"setSize\":{\"parameters\":[{\"type\":\"integer\",\"name\":\"width\"},{\"type\":\"integer\",\"name\":\"height\"}],\"name\":\"setSize\",\"type\":\"function\"},\"setMinimumSize\":{\"parameters\":[{\"type\":\"integer\",\"name\":\"minWidth\"},{\"type\":\"integer\",\"name\":\"minHeight\"}],\"name\":\"setMinimumSize\",\"type\":\"function\"},\"setMaximumSize\":{\"parameters\":[{\"type\":\"integer\",\"name\":\"maxWidth\"},{\"type\":\"integer\",\"name\":\"ma
const char kAudio[] = "{\"functions\":[{\"parameters\":[{\"$ref\":\"audio.DeviceFilter\",\"optional\":true,\"name\":\"filter\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"audio.AudioDeviceInfo\"},\"type\":\"array\",\"name\":\"devices\"}]}],\"name\":\"getDevices\",\"type\":\"function\"},{\"parameters\":[{\"choices\":[{\"$ref\":\"audio.DeviceIdLists\"},{\"type\":\"array\",\"items\":{\"type\":\"string\"}}],\"name\":\"ids\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setActiveDevices\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"id\"},{\"name\":\"properties\",\"$ref\":\"audio.DeviceProperties\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setProperties\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"audio.StreamType\",\"name\":\"streamType\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"value\"}]}],\"name\":\"getMute\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"audio.StreamType\",\"name\":\"streamType\"},{\"type\":\"boolean\",\"name\":\"isMuted\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setMute\",\"type\":\"function\"},{\"deprecated\":\"Use $(ref:getDevices) instead.\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"audio.OutputDeviceInfo\"},\"type\":\"array\",\"name\":\"outputInfo\"},{\"items\":{\"$ref\":\"audio.InputDeviceInfo\"},\"type\":\"array\",\"name\":\"inputInfo\"}]}],\"name\":\"getInfo\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"name\":\"event\",\"$ref\":\"audio.LevelChangedEvent\"}],\"name\":\"onLevelChanged\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"event\",\"$ref\":\"audio.MuteChangedEvent\"}],\"name\":\"onMuteChanged\",\"type\":\"function\"},{\"parameters\":[{\"items\":{\"$ref\":\"audio.AudioDeviceInfo\"},\"type\":\"array\",\"name\":\"devices\"}],\"name\":\"onDeviceListChanged\",\"type\":\"function\"},{\"deprecated\":\"Use more granular $(ref:onLevelChanged),\\n $(ref:onMuteChanged) and $(ref:onDeviceListChanged) instead.\",\"parameters\":[],\"name\":\"onDeviceChanged\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"audio\",\"properties\":{},\"types\":[{\"enum\":[{\"name\":\"INPUT\"},{\"name\":\"OUTPUT\"}],\"type\":\"string\",\"id\":\"audio.StreamType\"},{\"enum\":[{\"name\":\"HEADPHONE\"},{\"name\":\"MIC\"},{\"name\":\"USB\"},{\"name\":\"BLUETOOTH\"},{\"name\":\"HDMI\"},{\"name\":\"INTERNAL_SPEAKER\"},{\"name\":\"INTERNAL_MIC\"},{\"name\":\"FRONT_MIC\"},{\"name\":\"REAR_MIC\"},{\"name\":\"KEYBOARD_MIC\"},{\"name\":\"HOTWORD\"},{\"name\":\"LINEOUT\"},{\"name\":\"POST_MIX_LOOPBACK\"},{\"name\":\"POST_DSP_LOOPBACK\"},{\"name\":\"OTHER\"}],\"type\":\"string\",\"id\":\"audio.DeviceType\"},{\"type\":\"object\",\"id\":\"audio.OutputDeviceInfo\",\"properties\":{\"id\":{\"deprecated\":\"Used only with the deprecated $(ref:getInfo).\",\"name\":\"id\",\"type\":\"string\"},\"name\":{\"deprecated\":\"Used only with the deprecated $(ref:getInfo).\",\"name\":\"name\",\"type\":\"string\"},\"isActive\":{\"deprecated\":\"Used only with the deprecated $(ref:getInfo).\",\"name\":\"isActive\",\"type\":\"boolean\"},\"isMuted\":{\"deprecated\":\"Used only with the deprecated $(ref:getInfo).\",\"name\":\"isMuted\",\"type\":\"boolean\"},\"volume\":{\"deprecated\":\"Used only with the deprecated $(ref:getInfo).\",\"name\":\"volume\",\"type\":\"number\"}}},{\"type\":\"object\",\"id\":\"audio.InputDeviceInfo\",\"properties\":{\"id\":{\"deprecated\":\"Used only with the deprecated $(ref:getInfo).\",\"name\":\"id\",\"type\":\"string\"},\"name\":{\"deprecated\":\"Used only with the deprecated $(ref:getInfo).\",\"name\":\"name\",\"type\":\"string\"},\"isActive\":{\"deprecated\":\"Used only with the deprecated $(ref:getInfo).\",\"name\":\"isActive\",\"type\":\"boolean\"},\"isMuted\":{\"deprecated\":\"Used only with the deprecated $(
const char kBluetooth[] = "{\"functions\":[{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"$ref\":\"bluetooth.AdapterState\",\"name\":\"adapterInfo\"}]}],\"name\":\"getAdapterState\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"deviceAddress\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"$ref\":\"bluetooth.Device\",\"name\":\"deviceInfo\"}]}],\"name\":\"getDevice\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetooth.BluetoothFilter\",\"optional\":true,\"name\":\"filter\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"bluetooth.Device\"},\"type\":\"array\",\"name\":\"deviceInfos\"}]}],\"name\":\"getDevices\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"startDiscovery\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"stopDiscovery\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"$ref\":\"bluetooth.AdapterState\",\"name\":\"state\"}],\"name\":\"onAdapterStateChanged\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"device\",\"$ref\":\"bluetooth.Device\"}],\"name\":\"onDeviceAdded\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"device\",\"$ref\":\"bluetooth.Device\"}],\"name\":\"onDeviceChanged\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"device\",\"$ref\":\"bluetooth.Device\"}],\"name\":\"onDeviceRemoved\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"bluetooth\",\"properties\":{},\"types\":[{\"enum\":[{\"name\":\"bluetooth\"},{\"name\":\"usb\"}],\"type\":\"string\",\"id\":\"bluetooth.VendorIdSource\"},{\"enum\":[{\"name\":\"computer\"},{\"name\":\"phone\"},{\"name\":\"modem\"},{\"name\":\"audio\"},{\"name\":\"carAudio\"},{\"name\":\"video\"},{\"name\":\"peripheral\"},{\"name\":\"joystick\"},{\"name\":\"gamepad\"},{\"name\":\"keyboard\"},{\"name\":\"mouse\"},{\"name\":\"tablet\"},{\"name\":\"keyboardMouseCombo\"}],\"type\":\"string\",\"id\":\"bluetooth.DeviceType\"},{\"enum\":[{\"name\":\"all\"},{\"name\":\"known\"}],\"type\":\"string\",\"id\":\"bluetooth.FilterType\"},{\"type\":\"object\",\"id\":\"bluetooth.AdapterState\",\"properties\":{\"address\":{\"name\":\"address\",\"type\":\"string\"},\"name\":{\"name\":\"name\",\"type\":\"string\"},\"powered\":{\"name\":\"powered\",\"type\":\"boolean\"},\"available\":{\"name\":\"available\",\"type\":\"boolean\"},\"discovering\":{\"name\":\"discovering\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"bluetooth.Device\",\"properties\":{\"address\":{\"name\":\"address\",\"type\":\"string\"},\"name\":{\"optional\":true,\"name\":\"name\",\"type\":\"string\"},\"deviceClass\":{\"optional\":true,\"name\":\"deviceClass\",\"type\":\"integer\"},\"vendorIdSource\":{\"optional\":true,\"name\":\"vendorIdSource\",\"$ref\":\"bluetooth.VendorIdSource\"},\"vendorId\":{\"optional\":true,\"name\":\"vendorId\",\"type\":\"integer\"},\"productId\":{\"optional\":true,\"name\":\"productId\",\"type\":\"integer\"},\"deviceId\":{\"optional\":true,\"name\":\"deviceId\",\"type\":\"integer\"},\"type\":{\"optional\":true,\"name\":\"type\",\"$ref\":\"bluetooth.DeviceType\"},\"paired\":{\"optional\":true,\"name\":\"paired\",\"type\":\"boolean\"},\"connected\":{\"optional\":true,\"name\":\"connected\",\"type\":\"boolean\"},\"connecting\":{\"optional\":true,\"name\":\"connecting\",\"type\":\"boolean\"},\"connectable\":{\"optional\":true,\"name\":\"connectable\",\"type\":\"boolean\"},\"uuids\":{\"optional\":true,\"name\":\"uuids\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"inquiryRssi\":{\"optional\":true,\"name\":\"inquiryRssi\",\"type\":\"integer\"},\"inquiryTxPower\":{\"optional\":true,\"name\":\"inquiryTxPower\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"bluetooth.BluetoothFilter\",\"properties\":{\"filterType\":{\"optional\":true,\"name\":\"filterType\",\"$ref\":\"bluetooth.Filte
const char kBluetoothLowEnergy[] = "{\"functions\":[{\"parameters\":[{\"type\":\"string\",\"name\":\"deviceAddress\"},{\"$ref\":\"bluetoothLowEnergy.ConnectProperties\",\"optional\":true,\"name\":\"properties\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"connect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"deviceAddress\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"disconnect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"serviceId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"bluetoothLowEnergy.Service\"}]}],\"name\":\"getService\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothLowEnergy.Service\",\"name\":\"service\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"string\",\"name\":\"serviceId\"}]}],\"name\":\"createService\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"deviceAddress\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"bluetoothLowEnergy.Service\"},\"type\":\"array\",\"name\":\"result\"}]}],\"name\":\"getServices\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"characteristicId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"bluetoothLowEnergy.Characteristic\"}]}],\"name\":\"getCharacteristic\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothLowEnergy.Characteristic\",\"name\":\"characteristic\"},{\"type\":\"string\",\"name\":\"serviceId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"string\",\"name\":\"characteristicId\"}]}],\"name\":\"createCharacteristic\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"serviceId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"bluetoothLowEnergy.Characteristic\"},\"type\":\"array\",\"name\":\"result\"}]}],\"name\":\"getCharacteristics\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"serviceId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"bluetoothLowEnergy.Service\"},\"type\":\"array\",\"name\":\"result\"}]}],\"name\":\"getIncludedServices\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"descriptorId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"bluetoothLowEnergy.Descriptor\"}]}],\"name\":\"getDescriptor\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothLowEnergy.Descriptor\",\"name\":\"descriptor\"},{\"type\":\"string\",\"name\":\"characteristicId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"string\",\"name\":\"descriptorId\"}]}],\"name\":\"createDescriptor\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"characteristicId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"bluetoothLowEnergy.Descriptor\"},\"type\":\"array\",\"name\":\"result\"}]}],\"name\":\"getDescriptors\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"characteristicId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"bluetoothLowEnergy.Characteristic\"}]}],\"name\":\"readCharacteristicValue\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"characteristicId\"},{\"type\":\"binary\",\"name\":\"value\",\"isInstanceOf\":\"ArrayBuffer\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"writeCharacteristicValue\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"characteristicId\"},{\"$ref\":\"bluetoothLowEnergy.NotificationProperties\",\"optional\":true,\"name\":\"properties\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"startCharacteristicNotifications\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"
const char kBluetoothPrivate[] = "{\"functions\":[{\"parameters\":[{\"$ref\":\"bluetoothPrivate.NewAdapterState\",\"name\":\"adapterState\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setAdapterState\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"options\",\"$ref\":\"bluetoothPrivate.SetPairingResponseOptions\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setPairingResponse\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"deviceAddress\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"disconnectAll\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"deviceAddress\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"forgetDevice\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"discoveryFilter\",\"$ref\":\"bluetoothPrivate.DiscoveryFilter\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setDiscoveryFilter\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"deviceAddress\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"bluetoothPrivate.ConnectResultType\"}]}],\"name\":\"connect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"deviceAddress\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"pair\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"options\":{\"maxListeners\":1},\"parameters\":[{\"$ref\":\"bluetoothPrivate.PairingEvent\",\"name\":\"pairingEvent\"}],\"name\":\"onPairing\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"bluetoothPrivate\",\"properties\":{},\"types\":[{\"enum\":[{\"name\":\"requestPincode\"},{\"name\":\"displayPincode\"},{\"name\":\"requestPasskey\"},{\"name\":\"displayPasskey\"},{\"name\":\"keysEntered\"},{\"name\":\"confirmPasskey\"},{\"name\":\"requestAuthorization\"},{\"name\":\"complete\"}],\"type\":\"string\",\"id\":\"bluetoothPrivate.PairingEventType\"},{\"enum\":[{\"name\":\"alreadyConnected\"},{\"name\":\"authCanceled\"},{\"name\":\"authFailed\"},{\"name\":\"authRejected\"},{\"name\":\"authTimeout\"},{\"name\":\"failed\"},{\"name\":\"inProgress\"},{\"name\":\"success\"},{\"name\":\"unknownError\"},{\"name\":\"unsupportedDevice\"}],\"type\":\"string\",\"id\":\"bluetoothPrivate.ConnectResultType\"},{\"enum\":[{\"name\":\"confirm\"},{\"name\":\"reject\"},{\"name\":\"cancel\"}],\"type\":\"string\",\"id\":\"bluetoothPrivate.PairingResponse\"},{\"enum\":[{\"name\":\"le\"},{\"name\":\"bredr\"},{\"name\":\"dual\"}],\"type\":\"string\",\"id\":\"bluetoothPrivate.TransportType\"},{\"type\":\"object\",\"id\":\"bluetoothPrivate.PairingEvent\",\"properties\":{\"pairing\":{\"name\":\"pairing\",\"$ref\":\"bluetoothPrivate.PairingEventType\"},\"device\":{\"name\":\"device\",\"$ref\":\"bluetooth.Device\"},\"pincode\":{\"optional\":true,\"name\":\"pincode\",\"type\":\"string\"},\"passkey\":{\"optional\":true,\"name\":\"passkey\",\"type\":\"integer\"},\"enteredKey\":{\"optional\":true,\"name\":\"enteredKey\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"bluetoothPrivate.NewAdapterState\",\"properties\":{\"name\":{\"optional\":true,\"name\":\"name\",\"type\":\"string\"},\"powered\":{\"optional\":true,\"name\":\"powered\",\"type\":\"boolean\"},\"discoverable\":{\"optional\":true,\"name\":\"discoverable\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"bluetoothPrivate.SetPairingResponseOptions\",\"properties\":{\"device\":{\"name\":\"device\",\"$ref\":\"bluetooth.Device\"},\"response\":{\"name\":\"response\",\"$ref\":\"bluetoothPrivate.PairingResponse\"},\"pincode\":{\"optional\":true,\"name\":\"pincode\",\"type\":\"string\"},\"passkey\":{\"optional\":true,\"name\":\"passkey\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"bluetoothPrivate.DiscoveryFilter\",\"properties\":
const char kBluetoothSocket[] = "{\"functions\":[{\"parameters\":[{\"$ref\":\"bluetoothSocket.SocketProperties\",\"optional\":true,\"name\":\"properties\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"$ref\":\"bluetoothSocket.CreateInfo\",\"name\":\"createInfo\"}]}],\"name\":\"create\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"$ref\":\"bluetoothSocket.SocketProperties\",\"name\":\"properties\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"update\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"boolean\",\"name\":\"paused\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"setPaused\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"string\",\"name\":\"uuid\"},{\"$ref\":\"bluetoothSocket.ListenOptions\",\"optional\":true,\"name\":\"options\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"listenUsingRfcomm\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"string\",\"name\":\"uuid\"},{\"$ref\":\"bluetoothSocket.ListenOptions\",\"optional\":true,\"name\":\"options\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"listenUsingL2cap\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"string\",\"name\":\"address\"},{\"type\":\"string\",\"name\":\"uuid\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"connect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"disconnect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"close\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"binary\",\"name\":\"data\",\"isInstanceOf\":\"ArrayBuffer\"},{\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"bytesSent\"}],\"type\":\"function\",\"optional\":true}],\"name\":\"send\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"$ref\":\"bluetoothSocket.SocketInfo\",\"name\":\"socketInfo\"}]}],\"name\":\"getInfo\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"bluetoothSocket.SocketInfo\"},\"type\":\"array\",\"name\":\"sockets\"}]}],\"name\":\"getSockets\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"$ref\":\"bluetoothSocket.AcceptInfo\",\"name\":\"info\"}],\"name\":\"onAccept\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothSocket.AcceptErrorInfo\",\"name\":\"info\"}],\"name\":\"onAcceptError\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothSocket.ReceiveInfo\",\"name\":\"info\"}],\"name\":\"onReceive\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothSocket.ReceiveErrorInfo\",\"name\":\"info\"}],\"name\":\"onReceiveError\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"bluetoothSocket\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"bluetoothSocket.SocketProperties\",\"properties\":{\"persistent\":{\"optional\":true,\"name\":\"persistent\",\"type\":\"boolean\"},\"name\":{\"optional\":true,\"name\":\"name\",\"type\":\"string\"},\"bufferSize\":{\"optional\":true,\"name\":\"bufferSize\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"bluetoothSocket.CreateInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"bluetoothSocket.ListenOptions\",\"properties\":{\"channel\":{\"optional\":true,\"name\":\"channel\",\"type\":\"in
const char kCastChannel[] = "{\"functions\":[{\"parameters\":[{\"name\":\"connectInfo\",\"$ref\":\"cast.channel.ConnectInfo\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"cast.channel.ChannelInfo\"}]}],\"name\":\"open\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"channel\",\"$ref\":\"cast.channel.ChannelInfo\"},{\"name\":\"message\",\"$ref\":\"cast.channel.MessageInfo\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"cast.channel.ChannelInfo\"}]}],\"name\":\"send\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"channel\",\"$ref\":\"cast.channel.ChannelInfo\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"cast.channel.ChannelInfo\"}]}],\"name\":\"close\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"name\":\"channel\",\"$ref\":\"cast.channel.ChannelInfo\"},{\"name\":\"message\",\"$ref\":\"cast.channel.MessageInfo\"}],\"name\":\"onMessage\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"channel\",\"$ref\":\"cast.channel.ChannelInfo\"},{\"name\":\"error\",\"$ref\":\"cast.channel.ErrorInfo\"}],\"name\":\"onError\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"cast.channel\",\"properties\":{},\"types\":[{\"enum\":[{\"name\":\"connecting\"},{\"name\":\"open\"},{\"name\":\"closing\"},{\"name\":\"closed\"}],\"type\":\"string\",\"id\":\"cast.channel.ReadyState\"},{\"enum\":[{\"name\":\"channel_not_open\"},{\"name\":\"authentication_error\"},{\"name\":\"connect_error\"},{\"name\":\"socket_error\"},{\"name\":\"transport_error\"},{\"name\":\"invalid_message\"},{\"name\":\"invalid_channel_id\"},{\"name\":\"connect_timeout\"},{\"name\":\"ping_timeout\"},{\"name\":\"unknown\"}],\"type\":\"string\",\"id\":\"cast.channel.ChannelError\"},{\"enum\":[{\"name\":\"ssl_verified\"}],\"type\":\"string\",\"id\":\"cast.channel.ChannelAuthType\"},{\"type\":\"object\",\"id\":\"cast.channel.ConnectInfo\",\"properties\":{\"ipAddress\":{\"name\":\"ipAddress\",\"type\":\"string\"},\"port\":{\"name\":\"port\",\"type\":\"integer\"},\"timeout\":{\"optional\":true,\"name\":\"timeout\",\"type\":\"integer\"},\"auth\":{\"name\":\"auth\",\"$ref\":\"cast.channel.ChannelAuthType\"},\"pingInterval\":{\"optional\":true,\"name\":\"pingInterval\",\"type\":\"integer\"},\"livenessTimeout\":{\"optional\":true,\"name\":\"livenessTimeout\",\"type\":\"integer\"},\"capabilities\":{\"optional\":true,\"name\":\"capabilities\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"cast.channel.ChannelInfo\",\"properties\":{\"channelId\":{\"name\":\"channelId\",\"type\":\"integer\"},\"connectInfo\":{\"name\":\"connectInfo\",\"$ref\":\"cast.channel.ConnectInfo\"},\"readyState\":{\"name\":\"readyState\",\"$ref\":\"cast.channel.ReadyState\"},\"errorState\":{\"optional\":true,\"name\":\"errorState\",\"$ref\":\"cast.channel.ChannelError\"},\"keepAlive\":{\"name\":\"keepAlive\",\"type\":\"boolean\"},\"audioOnly\":{\"name\":\"audioOnly\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"cast.channel.MessageInfo\",\"properties\":{\"namespace_\":{\"name\":\"namespace_\",\"type\":\"string\"},\"sourceId\":{\"name\":\"sourceId\",\"type\":\"string\"},\"destinationId\":{\"name\":\"destinationId\",\"type\":\"string\"},\"data\":{\"name\":\"data\",\"type\":\"any\"}}},{\"type\":\"object\",\"id\":\"cast.channel.ErrorInfo\",\"properties\":{\"errorState\":{\"name\":\"errorState\",\"$ref\":\"cast.channel.ChannelError\"},\"eventType\":{\"optional\":true,\"name\":\"eventType\",\"type\":\"integer\"},\"challengeReplyErrorType\":{\"optional\":true,\"name\":\"challengeReplyErrorType\",\"type\":\"integer\"},\"netReturnValue\":{\"optional\":true,\"name\":\"netReturnValue\",\"type\":\"integer\"},\"nssErrorCode\":{\"optional\":true,\"name\":\"nssErrorCode\",\"type\":\"integer\"}}}]}";
const char kCecPrivate[] = "{\"functions\":[{\"parameters\":[{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"sendStandBy\",\"type\":\"function\"},{\"parameters\":[{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"sendWakeUp\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"cecPrivate.DisplayCecPowerState\"},\"type\":\"array\",\"name\":\"powerStates\"}]}],\"name\":\"queryDisplayCecPowerState\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[],\"platforms\":[\"chromeos\"],\"internal\":false,\"namespace\":\"cecPrivate\",\"properties\":{},\"types\":[{\"enum\":[{\"name\":\"error\"},{\"name\":\"adapterNotConfigured\"},{\"name\":\"noDevice\"},{\"name\":\"on\"},{\"name\":\"standby\"},{\"name\":\"transitioningToOn\"},{\"name\":\"transitioningToStandby\"},{\"name\":\"unknown\"}],\"type\":\"string\",\"id\":\"cecPrivate.DisplayCecPowerState\"}]}";
const char kClipboard[] = "{\"functions\":[{\"parameters\":[{\"type\":\"binary\",\"name\":\"imageData\",\"isInstanceOf\":\"ArrayBuffer\"},{\"$ref\":\"clipboard.ImageType\",\"name\":\"type\"},{\"optional\":true,\"items\":{\"$ref\":\"clipboard.AdditionalDataItem\"},\"type\":\"array\",\"name\":\"additionalItems\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setImageData\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[],\"name\":\"onClipboardDataChanged\",\"type\":\"function\"}],\"platforms\":[\"chromeos\"],\"internal\":false,\"namespace\":\"clipboard\",\"properties\":{},\"types\":[{\"enum\":[{\"name\":\"png\"},{\"name\":\"jpeg\"}],\"type\":\"string\",\"id\":\"clipboard.ImageType\"},{\"enum\":[{\"name\":\"textPlain\"},{\"name\":\"textHtml\"}],\"type\":\"string\",\"id\":\"clipboard.DataItemType\"},{\"type\":\"object\",\"id\":\"clipboard.AdditionalDataItem\",\"properties\":{\"type\":{\"name\":\"type\",\"$ref\":\"clipboard.DataItemType\"},\"data\":{\"name\":\"data\",\"type\":\"string\"}}}]}";
const char kDeclarativeNetRequest[] = "{\"functions\":[{\"parameters\":[{\"items\":{\"type\":\"string\"},\"type\":\"array\",\"name\":\"page_patterns\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"addWhitelistedPages\",\"type\":\"function\"},{\"parameters\":[{\"items\":{\"type\":\"string\"},\"type\":\"array\",\"name\":\"page_patterns\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"removeWhitelistedPages\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"type\":\"string\"},\"type\":\"array\",\"name\":\"result\"}]}],\"name\":\"getWhitelistedPages\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[],\"platforms\":null,\"internal\":false,\"namespace\":\"declarativeNetRequest\",\"properties\":{\"MAX_NUMBER_OF_WHITELISTED_PAGES\":{\"type\":\"integer\",\"value\":100}},\"types\":[{\"enum\":[{\"name\":\"main_frame\"},{\"name\":\"sub_frame\"},{\"name\":\"stylesheet\"},{\"name\":\"script\"},{\"name\":\"image\"},{\"name\":\"font\"},{\"name\":\"object\"},{\"name\":\"xmlhttprequest\"},{\"name\":\"ping\"},{\"name\":\"csp_report\"},{\"name\":\"media\"},{\"name\":\"websocket\"},{\"name\":\"other\"}],\"type\":\"string\",\"id\":\"declarativeNetRequest.ResourceType\"},{\"enum\":[{\"name\":\"firstParty\"},{\"name\":\"thirdParty\"}],\"type\":\"string\",\"id\":\"declarativeNetRequest.DomainType\"},{\"enum\":[{\"name\":\"blacklist\"},{\"name\":\"redirect\"},{\"name\":\"whitelist\"}],\"type\":\"string\",\"id\":\"declarativeNetRequest.RuleActionType\"},{\"type\":\"object\",\"id\":\"declarativeNetRequest.RuleCondition\",\"properties\":{\"urlFilter\":{\"optional\":true,\"name\":\"urlFilter\",\"type\":\"string\"},\"isUrlFilterCaseSensitive\":{\"optional\":true,\"name\":\"isUrlFilterCaseSensitive\",\"type\":\"boolean\"},\"domains\":{\"optional\":true,\"name\":\"domains\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"excludedDomains\":{\"optional\":true,\"name\":\"excludedDomains\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"resourceTypes\":{\"optional\":true,\"name\":\"resourceTypes\",\"type\":\"array\",\"items\":{\"$ref\":\"declarativeNetRequest.ResourceType\"}},\"excludedResourceTypes\":{\"optional\":true,\"name\":\"excludedResourceTypes\",\"type\":\"array\",\"items\":{\"$ref\":\"declarativeNetRequest.ResourceType\"}},\"domainType\":{\"optional\":true,\"name\":\"domainType\",\"$ref\":\"declarativeNetRequest.DomainType\"}}},{\"type\":\"object\",\"id\":\"declarativeNetRequest.RuleAction\",\"properties\":{\"type\":{\"name\":\"type\",\"$ref\":\"declarativeNetRequest.RuleActionType\"},\"redirectUrl\":{\"optional\":true,\"name\":\"redirectUrl\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"declarativeNetRequest.Rule\",\"properties\":{\"id\":{\"name\":\"id\",\"type\":\"integer\"},\"priority\":{\"optional\":true,\"name\":\"priority\",\"type\":\"integer\"},\"condition\":{\"name\":\"condition\",\"$ref\":\"declarativeNetRequest.RuleCondition\"},\"action\":{\"name\":\"action\",\"$ref\":\"declarativeNetRequest.RuleAction\"}}}]}";
const char kDisplaySource[] = "{\"functions\":[{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"displaySource.SinkInfo\"},\"type\":\"array\",\"name\":\"result\"}]}],\"name\":\"getAvailableSinks\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"sinkId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"displaySource.AuthenticationInfo\"}]}],\"name\":\"requestAuthentication\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"sessionInfo\",\"$ref\":\"displaySource.StartSessionInfo\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"startSession\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"sinkId\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"terminateSession\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"items\":{\"$ref\":\"displaySource.SinkInfo\"},\"type\":\"array\",\"name\":\"sinks\"}],\"name\":\"onSinksUpdated\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"sinkId\"}],\"name\":\"onSessionTerminated\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"sinkId\"},{\"name\":\"errorInfo\",\"$ref\":\"displaySource.ErrorInfo\"}],\"name\":\"onSessionErrorOccured\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"displaySource\",\"properties\":{},\"types\":[{\"enum\":[{\"name\":\"connection_error\"},{\"name\":\"capabilities_negotiation_error\"},{\"name\":\"media_pipeline_error\"},{\"name\":\"timeout_error\"},{\"name\":\"unknown_error\"}],\"type\":\"string\",\"id\":\"displaySource.ErrorType\"},{\"type\":\"object\",\"id\":\"displaySource.ErrorInfo\",\"properties\":{\"type\":{\"name\":\"type\",\"$ref\":\"displaySource.ErrorType\"},\"description\":{\"optional\":true,\"name\":\"description\",\"type\":\"string\"}}},{\"enum\":[{\"name\":\"Connected\"},{\"name\":\"Connecting\"},{\"name\":\"Disconnected\"}],\"type\":\"string\",\"id\":\"displaySource.SinkState\"},{\"type\":\"object\",\"id\":\"displaySource.SinkInfo\",\"properties\":{\"id\":{\"name\":\"id\",\"type\":\"integer\"},\"name\":{\"name\":\"name\",\"type\":\"string\"},\"state\":{\"name\":\"state\",\"$ref\":\"displaySource.SinkState\"}}},{\"enum\":[{\"name\":\"PBC\"},{\"name\":\"PIN\"}],\"type\":\"string\",\"id\":\"displaySource.AuthenticationMethod\"},{\"type\":\"object\",\"id\":\"displaySource.AuthenticationInfo\",\"properties\":{\"method\":{\"name\":\"method\",\"$ref\":\"displaySource.AuthenticationMethod\"},\"data\":{\"optional\":true,\"name\":\"data\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"displaySource.StartSessionInfo\",\"properties\":{\"sinkId\":{\"name\":\"sinkId\",\"type\":\"integer\"},\"authenticationInfo\":{\"optional\":true,\"name\":\"authenticationInfo\",\"$ref\":\"displaySource.AuthenticationInfo\"},\"audioTrack\":{\"optional\":true,\"name\":\"audioTrack\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\"},\"isInstanceOf\":\"MediaStreamTrack\"},\"videoTrack\":{\"optional\":true,\"name\":\"videoTrack\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\"},\"isInstanceOf\":\"MediaStreamTrack\"}}}]}";
const char kDns[] = "{\"functions\":[{\"parameters\":[{\"type\":\"string\",\"name\":\"hostname\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"resolveInfo\",\"$ref\":\"dns.ResolveCallbackResolveInfo\"}]}],\"name\":\"resolve\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[],\"platforms\":null,\"internal\":false,\"namespace\":\"dns\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"dns.ResolveCallbackResolveInfo\",\"properties\":{\"resultCode\":{\"name\":\"resultCode\",\"type\":\"integer\"},\"address\":{\"optional\":true,\"name\":\"address\",\"type\":\"string\"}}}]}";
const char kDocumentScan[] = "{\"functions\":[{\"parameters\":[{\"$ref\":\"documentScan.ScanOptions\",\"name\":\"options\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"documentScan.ScanResults\"}]}],\"name\":\"scan\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[],\"platforms\":null,\"internal\":false,\"namespace\":\"documentScan\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"documentScan.ScanOptions\",\"properties\":{\"mimeTypes\":{\"optional\":true,\"name\":\"mimeTypes\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"maxImages\":{\"optional\":true,\"name\":\"maxImages\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"documentScan.ScanResults\",\"properties\":{\"dataUrls\":{\"name\":\"dataUrls\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"mimeType\":{\"name\":\"mimeType\",\"type\":\"string\"}}}]}";
const char kEvents[] = "{\"namespace\":\"events\",\"types\":[{\"id\":\"events.Rule\",\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"optional\":true},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"optional\":true},\"conditions\":{\"type\":\"array\",\"items\":{\"type\":\"any\"}},\"actions\":{\"type\":\"array\",\"items\":{\"type\":\"any\"}},\"priority\":{\"type\":\"integer\",\"optional\":true}}},{\"id\":\"events.Event\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\"},\"functions\":[{\"name\":\"addListener\",\"type\":\"function\",\"parameters\":[{\"name\":\"callback\",\"type\":\"function\"}]},{\"name\":\"removeListener\",\"type\":\"function\",\"parameters\":[{\"name\":\"callback\",\"type\":\"function\"}]},{\"name\":\"hasListener\",\"type\":\"function\",\"parameters\":[{\"name\":\"callback\",\"type\":\"function\"}],\"returns\":{\"type\":\"boolean\"}},{\"name\":\"hasListeners\",\"type\":\"function\",\"parameters\":[],\"returns\":{\"type\":\"boolean\"}},{\"name\":\"addRules\",\"type\":\"function\",\"parameters\":[{\"nodoc\":\"true\",\"name\":\"eventName\",\"type\":\"string\"},{\"name\":\"webViewInstanceId\",\"type\":\"integer\"},{\"name\":\"rules\",\"type\":\"array\",\"items\":{\"$ref\":\"events.Rule\"}},{\"name\":\"callback\",\"optional\":true,\"type\":\"function\",\"parameters\":[{\"name\":\"rules\",\"type\":\"array\",\"items\":{\"$ref\":\"events.Rule\"}}]}]},{\"name\":\"getRules\",\"type\":\"function\",\"parameters\":[{\"nodoc\":\"true\",\"name\":\"eventName\",\"type\":\"string\"},{\"name\":\"webViewInstanceId\",\"type\":\"integer\"},{\"name\":\"ruleIdentifiers\",\"optional\":true,\"type\":\"array\",\"items\":{\"type\":\"string\"}},{\"name\":\"callback\",\"type\":\"function\",\"parameters\":[{\"name\":\"rules\",\"type\":\"array\",\"items\":{\"$ref\":\"events.Rule\"}}]}]},{\"name\":\"removeRules\",\"type\":\"function\",\"parameters\":[{\"nodoc\":\"true\",\"name\":\"eventName\",\"type\":\"string\"},{\"name\":\"webViewInstanceId\",\"type\":\"integer\"},{\"name\":\"ruleIdentifiers\",\"optional\":true,\"type\":\"array\",\"items\":{\"type\":\"string\"}},{\"name\":\"callback\",\"optional\":true,\"type\":\"function\",\"parameters\":[]}]}]},{\"id\":\"events.UrlFilter\",\"type\":\"object\",\"properties\":{\"hostContains\":{\"type\":\"string\",\"optional\":true},\"hostEquals\":{\"type\":\"string\",\"optional\":true},\"hostPrefix\":{\"type\":\"string\",\"optional\":true},\"hostSuffix\":{\"type\":\"string\",\"optional\":true},\"pathContains\":{\"type\":\"string\",\"optional\":true},\"pathEquals\":{\"type\":\"string\",\"optional\":true},\"pathPrefix\":{\"type\":\"string\",\"optional\":true},\"pathSuffix\":{\"type\":\"string\",\"optional\":true},\"queryContains\":{\"type\":\"string\",\"optional\":true},\"queryEquals\":{\"type\":\"string\",\"optional\":true},\"queryPrefix\":{\"type\":\"string\",\"optional\":true},\"querySuffix\":{\"type\":\"string\",\"optional\":true},\"urlContains\":{\"type\":\"string\",\"optional\":true},\"urlEquals\":{\"type\":\"string\",\"optional\":true},\"urlMatches\":{\"type\":\"string\",\"optional\":true},\"originAndPathMatches\":{\"type\":\"string\",\"optional\":true},\"urlPrefix\":{\"type\":\"string\",\"optional\":true},\"urlSuffix\":{\"type\":\"string\",\"optional\":true},\"schemes\":{\"type\":\"array\",\"optional\":true,\"items\":{\"type\":\"string\"}},\"ports\":{\"type\":\"array\",\"optional\":true,\"items\":{\"choices\":[{\"type\":\"integer\"},{\"type\":\"array\",\"items\":{\"type\":\"integer\"}}]}}}}]}";
const char kExtensionsManifestTypes[] = "{\"namespace\":\"extensionsManifestTypes\",\"types\":[{\"id\":\"extensionsManifestTypes.automation\",\"choices\":[{\"type\":\"boolean\"},{\"type\":\"object\",\"properties\":{\"desktop\":{\"optional\":true,\"type\":\"boolean\"},\"matches\":{\"optional\":true,\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"interact\":{\"optional\":true,\"type\":\"boolean\"}}}]},{\"id\":\"extensionsManifestTypes.ContentCapabilities\",\"type\":\"object\",\"properties\":{\"matches\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"permissions\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},{\"id\":\"extensionsManifestTypes.ExternallyConnectable\",\"type\":\"object\",\"properties\":{\"ids\":{\"optional\":true,\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"matches\":{\"optional\":true,\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"accepts_tls_channel_id\":{\"optional\":true,\"type\":\"boolean\"}}},{\"id\":\"extensionsManifestTypes.OptionsUI\",\"type\":\"object\",\"properties\":{\"page\":{\"type\":\"string\"},\"chrome_style\":{\"optional\":true,\"type\":\"boolean\"},\"open_in_tab\":{\"optional\":true,\"type\":\"boolean\"}}},{\"id\":\"extensionsManifestTypes.SocketHostPatterns\",\"choices\":[{\"type\":\"string\"},{\"type\":\"array\",\"items\":{\"type\":\"string\"}}]},{\"id\":\"extensionsManifestTypes.sockets\",\"type\":\"object\",\"properties\":{\"udp\":{\"optional\":true,\"type\":\"object\",\"properties\":{\"bind\":{\"optional\":true,\"$ref\":\"extensionsManifestTypes.SocketHostPatterns\"},\"send\":{\"optional\":true,\"$ref\":\"extensionsManifestTypes.SocketHostPatterns\"},\"multicastMembership\":{\"optional\":true,\"$ref\":\"extensionsManifestTypes.SocketHostPatterns\"}}},\"tcp\":{\"optional\":true,\"type\":\"object\",\"properties\":{\"connect\":{\"optional\":true,\"$ref\":\"extensionsManifestTypes.SocketHostPatterns\"}}},\"tcpServer\":{\"optional\":true,\"type\":\"object\",\"properties\":{\"listen\":{\"optional\":true,\"$ref\":\"extensionsManifestTypes.SocketHostPatterns\"}}}}},{\"id\":\"extensionsManifestTypes.bluetooth\",\"type\":\"object\",\"properties\":{\"uuids\":{\"optional\":true,\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"socket\":{\"type\":\"boolean\",\"optional\":true},\"low_energy\":{\"type\":\"boolean\",\"optional\":true},\"peripheral\":{\"type\":\"boolean\",\"optional\":true}}},{\"id\":\"extensionsManifestTypes.UsbPrinters\",\"type\":\"object\",\"properties\":{\"filters\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"vendorId\":{\"type\":\"integer\"},\"productId\":{\"type\":\"integer\",\"optional\":true},\"interfaceClass\":{\"type\":\"integer\",\"optional\":true},\"interfaceSubclass\":{\"type\":\"integer\",\"optional\":true},\"interfaceProtocol\":{\"type\":\"integer\",\"optional\":true}}}}}},{\"id\":\"extensionsManifestTypes.KioskSecondaryApps\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"enabled_on_launch\":{\"type\":\"boolean\",\"optional\":true}}}}]}";
const char kExtensionOptionsInternal[] = "{\"functions\":[],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[],\"name\":\"onClose\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"onLoad\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"options\",\"$ref\":\"extensionOptionsInternal.PreferredSizeChangedOptions\"}],\"name\":\"onPreferredSizeChanged\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"extensionOptionsInternal\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"extensionOptionsInternal.SizeChangedOptions\",\"properties\":{\"oldWidth\":{\"name\":\"oldWidth\",\"type\":\"integer\"},\"oldHeight\":{\"name\":\"oldHeight\",\"type\":\"integer\"},\"newWidth\":{\"name\":\"newWidth\",\"type\":\"integer\"},\"newHeight\":{\"name\":\"newHeight\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"extensionOptionsInternal.PreferredSizeChangedOptions\",\"properties\":{\"width\":{\"name\":\"width\",\"type\":\"number\"},\"height\":{\"name\":\"height\",\"type\":\"number\"}}}]}";
const char kExtensionViewInternal[] = "{\"namespace\":\"extensionViewInternal\",\"functions\":[{\"name\":\"loadSrc\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"string\",\"name\":\"src\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"hasLoadSucceeded\",\"type\":\"boolean\"}]}]},{\"name\":\"parseSrc\",\"type\":\"function\",\"parameters\":[{\"type\":\"string\",\"name\":\"src\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"isSrcValid\",\"type\":\"boolean\"},{\"name\":\"extensionId\",\"type\":\"string\"}]}]}]}";
const char kExtensionTypes[] = "{\"namespace\":\"extensionTypes\",\"types\":[{\"id\":\"extensionTypes.ImageFormat\",\"type\":\"string\",\"enum\":[\"jpeg\",\"png\"]},{\"id\":\"extensionTypes.ImageDetails\",\"type\":\"object\",\"properties\":{\"format\":{\"$ref\":\"extensionTypes.ImageFormat\",\"optional\":true},\"quality\":{\"type\":\"integer\",\"optional\":true,\"minimum\":0,\"maximum\":100}}},{\"id\":\"extensionTypes.RunAt\",\"type\":\"string\",\"enum\":[\"document_start\",\"document_end\",\"document_idle\"]},{\"id\":\"extensionTypes.CSSOrigin\",\"type\":\"string\",\"enum\":[\"author\",\"user\"]},{\"id\":\"extensionTypes.InjectDetails\",\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"optional\":true},\"file\":{\"type\":\"string\",\"optional\":true},\"allFrames\":{\"type\":\"boolean\",\"optional\":true},\"frameId\":{\"type\":\"integer\",\"optional\":true,\"minimum\":0},\"matchAboutBlank\":{\"type\":\"boolean\",\"optional\":true},\"runAt\":{\"$ref\":\"extensionTypes.RunAt\",\"optional\":true},\"cssOrigin\":{\"$ref\":\"extensionTypes.CSSOrigin\",\"optional\":true}}}]}";
const char kFeedbackPrivate[] = "{\"functions\":[{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"string\",\"name\":\"email\"}]}],\"name\":\"getUserEmail\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"feedbackPrivate.SystemInformation\"},\"type\":\"array\",\"name\":\"systemInformation\"}]}],\"name\":\"getSystemInformation\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"feedback\",\"$ref\":\"feedbackPrivate.FeedbackInfo\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"status\",\"$ref\":\"feedbackPrivate.Status\"},{\"name\":\"type\",\"$ref\":\"feedbackPrivate.LandingPageType\"}]}],\"name\":\"sendFeedback\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"flow\",\"$ref\":\"feedbackPrivate.FeedbackFlow\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"additionalProperties\":{\"type\":\"any\"},\"type\":\"object\",\"name\":\"result\"}]}],\"name\":\"getStrings\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"result\",\"$ref\":\"feedbackPrivate.SrtPromptResult\"}],\"name\":\"logSrtPromptResult\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"params\",\"$ref\":\"feedbackPrivate.ReadLogSourceParams\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"feedbackPrivate.ReadLogSourceResult\"}]}],\"name\":\"readLogSource\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"name\":\"feedback\",\"$ref\":\"feedbackPrivate.FeedbackInfo\"}],\"name\":\"onFeedbackRequested\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"feedbackPrivate\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"feedbackPrivate.AttachedFile\",\"properties\":{\"name\":{\"name\":\"name\",\"type\":\"string\"},\"data\":{\"optional\":true,\"name\":\"data\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\"},\"isInstanceOf\":\"Blob\"}}},{\"type\":\"object\",\"id\":\"feedbackPrivate.SystemInformation\",\"properties\":{\"key\":{\"name\":\"key\",\"type\":\"string\"},\"value\":{\"name\":\"value\",\"type\":\"string\"}}},{\"enum\":[{\"name\":\"regular\"},{\"name\":\"login\"},{\"name\":\"showSrtPrompt\"},{\"name\":\"sadTabCrash\"}],\"type\":\"string\",\"id\":\"feedbackPrivate.FeedbackFlow\"},{\"type\":\"object\",\"id\":\"feedbackPrivate.FeedbackInfo\",\"properties\":{\"attachedFile\":{\"optional\":true,\"name\":\"attachedFile\",\"$ref\":\"feedbackPrivate.AttachedFile\"},\"categoryTag\":{\"optional\":true,\"name\":\"categoryTag\",\"type\":\"string\"},\"description\":{\"name\":\"description\",\"type\":\"string\"},\"descriptionPlaceholder\":{\"optional\":true,\"name\":\"descriptionPlaceholder\",\"type\":\"string\"},\"email\":{\"optional\":true,\"name\":\"email\",\"type\":\"string\"},\"pageUrl\":{\"optional\":true,\"name\":\"pageUrl\",\"type\":\"string\"},\"productId\":{\"optional\":true,\"name\":\"productId\",\"type\":\"integer\"},\"screenshot\":{\"optional\":true,\"name\":\"screenshot\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\"},\"isInstanceOf\":\"Blob\"},\"traceId\":{\"optional\":true,\"name\":\"traceId\",\"type\":\"integer\"},\"systemInformation\":{\"optional\":true,\"name\":\"systemInformation\",\"type\":\"array\",\"items\":{\"$ref\":\"feedbackPrivate.SystemInformation\"}},\"sendHistograms\":{\"name\":\"sendHistograms\",\"type\":\"boolean\"},\"flow\":{\"optional\":true,\"name\":\"flow\",\"$ref\":\"feedbackPrivate.FeedbackFlow\"},\"attachedFileBlobUuid\":{\"optional\":true,\"name\":\"attachedFileBlobUuid\",\"type\":\"string\"},\"screenshotBlobUuid\":{\"optional\":true,\"name\":\"screenshotBlobUuid\",\"type\":\"string\"},\"useSystemWindowFrame\":{\"optional\":true,\"name\":\"useSystemWindowFrame\",\"type\":\"boolean\"}}},{\"enum\":[{\"name\":\"success\"},{\"name\":\"delayed\"}],\"type\":\"string\",\"id\":\"feedbackPrivate.Status\"},{\"enum\":[{\"name\":\"normal\"},{\"name\":\"techstop\"}],\"type\":\"string\",\"id\":\"feedbackPrivate.
const char kFileSystem[] = "{\"functions\":[{\"parameters\":[{\"additionalProperties\":{\"type\":\"any\"},\"type\":\"object\",\"name\":\"entry\",\"isInstanceOf\":\"Entry\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"string\",\"name\":\"displayPath\"}]}],\"name\":\"getDisplayPath\",\"type\":\"function\"},{\"parameters\":[{\"additionalProperties\":{\"type\":\"any\"},\"type\":\"object\",\"name\":\"entry\",\"isInstanceOf\":\"Entry\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"additionalProperties\":{\"type\":\"any\"},\"type\":\"object\",\"name\":\"entry\",\"isInstanceOf\":\"Entry\"}]}],\"name\":\"getWritableEntry\",\"type\":\"function\"},{\"parameters\":[{\"additionalProperties\":{\"type\":\"any\"},\"type\":\"object\",\"name\":\"entry\",\"isInstanceOf\":\"Entry\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"isWritable\"}]}],\"name\":\"isWritableEntry\",\"type\":\"function\"},{\"parameters\":[{\"optional\":true,\"name\":\"options\",\"$ref\":\"fileSystem.ChooseEntryOptions\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"additionalProperties\":{\"type\":\"any\"},\"optional\":true,\"type\":\"object\",\"name\":\"entry\",\"isInstanceOf\":\"Entry\"},{\"optional\":true,\"type\":\"array\",\"name\":\"fileEntries\",\"items\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\"},\"isInstanceOf\":\"FileEntry\"}}]}],\"name\":\"chooseEntry\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"id\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"additionalProperties\":{\"type\":\"any\"},\"type\":\"object\",\"name\":\"entry\",\"isInstanceOf\":\"Entry\"}]}],\"name\":\"restoreEntry\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"id\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"isRestorable\"}]}],\"name\":\"isRestorable\",\"type\":\"function\"},{\"parameters\":[{\"additionalProperties\":{\"type\":\"any\"},\"type\":\"object\",\"name\":\"entry\",\"isInstanceOf\":\"Entry\"}],\"returns\":{\"type\":\"string\",\"name\":\"retainEntry\"},\"name\":\"retainEntry\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"options\",\"$ref\":\"fileSystem.RequestFileSystemOptions\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"additionalProperties\":{\"type\":\"any\"},\"optional\":true,\"type\":\"object\",\"name\":\"fileSystem\",\"isInstanceOf\":\"FileSystem\"}]}],\"name\":\"requestFileSystem\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"optional\":true,\"type\":\"array\",\"name\":\"volumes\",\"items\":{\"$ref\":\"fileSystem.Volume\"}}]}],\"name\":\"getVolumeList\",\"type\":\"function\"},{\"parameters\":[{\"additionalProperties\":{\"type\":\"any\"},\"type\":\"object\",\"name\":\"entry\",\"isInstanceOf\":\"DirectoryEntry\"},{\"optional\":true,\"type\":\"boolean\",\"name\":\"recursive\"}],\"name\":\"observeDirectory\",\"type\":\"function\"},{\"parameters\":[{\"additionalProperties\":{\"type\":\"any\"},\"type\":\"object\",\"name\":\"entry\",\"isInstanceOf\":\"Entry\"}],\"name\":\"unobserveEntry\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\"},\"isInstanceOf\":\"Entry\"},\"type\":\"array\",\"name\":\"entries\"}]}],\"name\":\"getObservedEntries\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"name\":\"event\",\"$ref\":\"fileSystem.VolumeListChangedEvent\"}],\"name\":\"onVolumeListChanged\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"event\",\"$ref\":\"fileSystem.EntryChangedEvent\"}],\"name\":\"onEntryChanged\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"event\",\"$ref\":\"fileSystem.EntryRemovedEvent\"}],\"name\":\"onEntryRemoved\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"fileSystem\",\"properties\":{},\"types\"
const char kGuestViewInternal[] = "{\"namespace\":\"guestViewInternal\",\"types\":[{\"id\":\"guestViewInternal.Size\",\"type\":\"object\",\"properties\":{\"width\":{\"type\":\"integer\"},\"height\":{\"type\":\"integer\"}}},{\"id\":\"guestViewInternal.SizeParams\",\"type\":\"object\",\"properties\":{\"enableAutoSize\":{\"type\":\"boolean\",\"optional\":true},\"min\":{\"$ref\":\"guestViewInternal.Size\",\"optional\":true},\"max\":{\"$ref\":\"guestViewInternal.Size\",\"optional\":true},\"normal\":{\"$ref\":\"guestViewInternal.Size\",\"optional\":true}}}],\"functions\":[{\"name\":\"createGuest\",\"type\":\"function\",\"parameters\":[{\"type\":\"string\",\"name\":\"viewType\"},{\"type\":\"object\",\"name\":\"createParams\",\"additionalProperties\":{\"type\":\"any\"}},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"object\",\"name\":\"returnParams\",\"additionalProperties\":{\"type\":\"any\"}}]}]},{\"name\":\"destroyGuest\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[],\"optional\":true}]},{\"name\":\"setSize\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"$ref\":\"guestViewInternal.SizeParams\",\"name\":\"params\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[],\"optional\":true}]}]}";
const char kManagement[] = "{\"namespace\":\"management\",\"types\":[{\"id\":\"management.IconInfo\",\"type\":\"object\",\"properties\":{\"size\":{\"type\":\"integer\"},\"url\":{\"type\":\"string\"}}},{\"id\":\"management.LaunchType\",\"type\":\"string\",\"enum\":[\"OPEN_AS_REGULAR_TAB\",\"OPEN_AS_PINNED_TAB\",\"OPEN_AS_WINDOW\",\"OPEN_FULL_SCREEN\"]},{\"id\":\"management.ExtensionDisabledReason\",\"type\":\"string\",\"enum\":[\"unknown\",\"permissions_increase\"]},{\"id\":\"management.ExtensionType\",\"type\":\"string\",\"enum\":[\"extension\",\"hosted_app\",\"packaged_app\",\"legacy_packaged_app\",\"theme\"]},{\"id\":\"management.ExtensionInstallType\",\"type\":\"string\",\"enum\":[\"admin\",\"development\",\"normal\",\"sideload\",\"other\"]},{\"id\":\"management.ExtensionInfo\",\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"shortName\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"version\":{\"type\":\"string\"},\"versionName\":{\"type\":\"string\",\"optional\":true},\"mayDisable\":{\"type\":\"boolean\"},\"mayEnable\":{\"type\":\"boolean\",\"optional\":true},\"enabled\":{\"type\":\"boolean\"},\"disabledReason\":{\"$ref\":\"management.ExtensionDisabledReason\",\"optional\":true},\"isApp\":{\"type\":\"boolean\",\"deprecated\":\"Please use $(ref:management.ExtensionInfo.type).\"},\"type\":{\"$ref\":\"management.ExtensionType\"},\"appLaunchUrl\":{\"type\":\"string\",\"optional\":true},\"homepageUrl\":{\"type\":\"string\",\"optional\":true},\"updateUrl\":{\"type\":\"string\",\"optional\":true},\"offlineEnabled\":{\"type\":\"boolean\"},\"optionsUrl\":{\"type\":\"string\"},\"icons\":{\"type\":\"array\",\"optional\":true,\"items\":{\"$ref\":\"management.IconInfo\"}},\"permissions\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"hostPermissions\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"installType\":{\"$ref\":\"management.ExtensionInstallType\"},\"launchType\":{\"$ref\":\"management.LaunchType\",\"optional\":true},\"availableLaunchTypes\":{\"type\":\"array\",\"optional\":true,\"items\":{\"$ref\":\"management.LaunchType\"}}}}],\"functions\":[{\"name\":\"getAll\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[{\"type\":\"array\",\"name\":\"result\",\"items\":{\"$ref\":\"management.ExtensionInfo\"}}]}]},{\"name\":\"get\",\"parameters\":[{\"name\":\"id\",\"type\":\"string\"},{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[{\"name\":\"result\",\"$ref\":\"management.ExtensionInfo\"}]}]},{\"name\":\"getSelf\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[{\"name\":\"result\",\"$ref\":\"management.ExtensionInfo\"}]}]},{\"name\":\"getPermissionWarningsById\",\"parameters\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"callback\",\"type\":\"function\",\"optional\":true,\"parameters\":[{\"name\":\"permissionWarnings\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}]}]},{\"name\":\"getPermissionWarningsByManifest\",\"parameters\":[{\"name\":\"manifestStr\",\"type\":\"string\"},{\"name\":\"callback\",\"type\":\"function\",\"optional\":true,\"parameters\":[{\"name\":\"permissionWarnings\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}]}]},{\"name\":\"setEnabled\",\"parameters\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"enabled\",\"type\":\"boolean\"},{\"name\":\"callback\",\"type\":\"function\",\"optional\":true,\"parameters\":[]}]},{\"name\":\"uninstall\",\"parameters\":[{\"name\":\"id\",\"type\":\"string\"},{\"type\":\"object\",\"name\":\"options\",\"optional\":true,\"properties\":{\"showConfirmDialog\":{\"type\":\"boolean\",\"optional\":true}}},{\"name\":\"callback\",\"type\":\"function\",\"optional\":true,\"parameters\":[]}]},{\"name\":\"uninstallSelf\",\"parameters\":[{\"type\":\"object\",\"name\":\"options\",\"optional\":true,\"properties\":{\"showConfirmDialog\":{\"type\":\"boolean\",\"optional\":true}}},{\"name\":\"callback\",\"type\":\"function\",\"optional\":true,\"parameters\":[]}]},{\"name\"
const char kHid[] = "{\"functions\":[{\"parameters\":[{\"$ref\":\"hid.GetDevicesOptions\",\"name\":\"options\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"hid.HidDeviceInfo\"},\"type\":\"array\",\"name\":\"devices\"}]}],\"name\":\"getDevices\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"hid.DevicePromptOptions\",\"optional\":true,\"name\":\"options\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"hid.HidDeviceInfo\"},\"type\":\"array\",\"name\":\"devices\"}]}],\"name\":\"getUserSelectedDevices\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"deviceId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"connection\",\"$ref\":\"hid.HidConnectInfo\"}]}],\"name\":\"connect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"connectionId\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"disconnect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"connectionId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"reportId\"},{\"type\":\"binary\",\"name\":\"data\",\"isInstanceOf\":\"ArrayBuffer\"}]}],\"name\":\"receive\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"connectionId\"},{\"type\":\"integer\",\"name\":\"reportId\"},{\"type\":\"binary\",\"name\":\"data\",\"isInstanceOf\":\"ArrayBuffer\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"send\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"connectionId\"},{\"type\":\"integer\",\"name\":\"reportId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"binary\",\"name\":\"data\",\"isInstanceOf\":\"ArrayBuffer\"}]}],\"name\":\"receiveFeatureReport\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"connectionId\"},{\"type\":\"integer\",\"name\":\"reportId\"},{\"type\":\"binary\",\"name\":\"data\",\"isInstanceOf\":\"ArrayBuffer\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"sendFeatureReport\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"name\":\"device\",\"$ref\":\"hid.HidDeviceInfo\"}],\"name\":\"onDeviceAdded\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"deviceId\"}],\"name\":\"onDeviceRemoved\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"hid\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"hid.HidCollectionInfo\",\"properties\":{\"usagePage\":{\"name\":\"usagePage\",\"type\":\"integer\"},\"usage\":{\"name\":\"usage\",\"type\":\"integer\"},\"reportIds\":{\"name\":\"reportIds\",\"type\":\"array\",\"items\":{\"type\":\"integer\"}}}},{\"type\":\"object\",\"id\":\"hid.HidDeviceInfo\",\"properties\":{\"deviceId\":{\"name\":\"deviceId\",\"type\":\"integer\"},\"vendorId\":{\"name\":\"vendorId\",\"type\":\"integer\"},\"productId\":{\"name\":\"productId\",\"type\":\"integer\"},\"productName\":{\"name\":\"productName\",\"type\":\"string\"},\"serialNumber\":{\"name\":\"serialNumber\",\"type\":\"string\"},\"collections\":{\"name\":\"collections\",\"type\":\"array\",\"items\":{\"$ref\":\"hid.HidCollectionInfo\"}},\"maxInputReportSize\":{\"name\":\"maxInputReportSize\",\"type\":\"integer\"},\"maxOutputReportSize\":{\"name\":\"maxOutputReportSize\",\"type\":\"integer\"},\"maxFeatureReportSize\":{\"name\":\"maxFeatureReportSize\",\"type\":\"integer\"},\"reportDescriptor\":{\"name\":\"reportDescriptor\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"}}},{\"type\":\"object\",\"id\":\"hid.HidConnectInfo\",\"properties\":{\"connectionId\":{\"name\":\"connectionId\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"hid.DeviceFilter\",\"properties\":{\"vendorId\":{\"optional\":true,\"name\":\"vendorId\",\"type\":\"integer\"},\"productId\":{\"optional\":true,\"name\":\"productId\",\"type\":\"integer\"},\"usagePage\":{\"optional\
const char kIdle[] = "{\"namespace\":\"idle\",\"types\":[{\"id\":\"idle.IdleState\",\"type\":\"string\",\"enum\":[\"active\",\"idle\",\"locked\"]}],\"functions\":[{\"name\":\"queryState\",\"type\":\"function\",\"parameters\":[{\"name\":\"detectionIntervalInSeconds\",\"type\":\"integer\",\"minimum\":15},{\"name\":\"callback\",\"type\":\"function\",\"parameters\":[{\"name\":\"newState\",\"$ref\":\"idle.IdleState\"}]}]},{\"name\":\"setDetectionInterval\",\"type\":\"function\",\"parameters\":[{\"name\":\"intervalInSeconds\",\"type\":\"integer\",\"minimum\":15}]}],\"events\":[{\"name\":\"onStateChanged\",\"type\":\"function\",\"parameters\":[{\"name\":\"newState\",\"$ref\":\"idle.IdleState\"}]}]}";
const char kMetricsPrivate[] = "{\"namespace\":\"metricsPrivate\",\"types\":[{\"id\":\"metricsPrivate.MetricTypeType\",\"type\":\"string\",\"enum\":[\"histogram-log\",\"histogram-linear\"]},{\"id\":\"metricsPrivate.MetricType\",\"type\":\"object\",\"properties\":{\"metricName\":{\"type\":\"string\"},\"type\":{\"$ref\":\"metricsPrivate.MetricTypeType\"},\"min\":{\"type\":\"integer\"},\"max\":{\"type\":\"integer\"},\"buckets\":{\"type\":\"integer\"}}}],\"functions\":[{\"name\":\"getIsCrashReportingEnabled\",\"type\":\"function\",\"parameters\":[{\"name\":\"callback\",\"type\":\"function\",\"optional\":false,\"parameters\":[{\"name\":\"is_enabled\",\"type\":\"boolean\"}]}]},{\"name\":\"getFieldTrial\",\"type\":\"function\",\"parameters\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"callback\",\"type\":\"function\",\"optional\":false,\"parameters\":[{\"name\":\"group\",\"type\":\"string\"}]}]},{\"name\":\"getVariationParams\",\"type\":\"function\",\"parameters\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"callback\",\"type\":\"function\",\"optional\":false,\"parameters\":[{\"name\":\"params\",\"optional\":true,\"type\":\"object\",\"additionalProperties\":{\"type\":\"string\"}}]}]},{\"name\":\"recordUserAction\",\"type\":\"function\",\"parameters\":[{\"name\":\"name\",\"type\":\"string\"}]},{\"name\":\"recordPercentage\",\"type\":\"function\",\"parameters\":[{\"name\":\"metricName\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"integer\"}]},{\"name\":\"recordCount\",\"type\":\"function\",\"parameters\":[{\"name\":\"metricName\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"integer\"}]},{\"name\":\"recordSmallCount\",\"type\":\"function\",\"parameters\":[{\"name\":\"metricName\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"integer\"}]},{\"name\":\"recordMediumCount\",\"type\":\"function\",\"parameters\":[{\"name\":\"metricName\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"integer\"}]},{\"name\":\"recordTime\",\"type\":\"function\",\"parameters\":[{\"name\":\"metricName\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"integer\"}]},{\"name\":\"recordMediumTime\",\"type\":\"function\",\"parameters\":[{\"name\":\"metricName\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"integer\"}]},{\"name\":\"recordLongTime\",\"type\":\"function\",\"parameters\":[{\"name\":\"metricName\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"integer\"}]},{\"name\":\"recordSparseHashable\",\"type\":\"function\",\"parameters\":[{\"name\":\"metricName\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"}]},{\"name\":\"recordSparseValue\",\"type\":\"function\",\"parameters\":[{\"name\":\"metricName\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"integer\"}]},{\"name\":\"recordValue\",\"type\":\"function\",\"parameters\":[{\"name\":\"metric\",\"$ref\":\"metricsPrivate.MetricType\"},{\"name\":\"value\",\"type\":\"integer\"}]},{\"name\":\"recordBoolean\",\"type\":\"function\",\"parameters\":[{\"name\":\"metricName\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"boolean\"}]},{\"name\":\"recordEnumerationValue\",\"type\":\"function\",\"parameters\":[{\"name\":\"metricName\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"integer\"},{\"name\":\"enumSize\",\"type\":\"integer\"}]}],\"events\":[]}";
const char kMimeHandlerPrivate[] = "{\"functions\":[{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"streamInfo\",\"$ref\":\"mimeHandlerPrivate.StreamInfo\"}]}],\"name\":\"getStreamInfo\",\"type\":\"function\"},{\"parameters\":[{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"abortStream\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[],\"platforms\":null,\"internal\":false,\"namespace\":\"mimeHandlerPrivate\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"mimeHandlerPrivate.StreamInfo\",\"properties\":{\"mimeType\":{\"name\":\"mimeType\",\"type\":\"string\"},\"originalUrl\":{\"name\":\"originalUrl\",\"type\":\"string\"},\"streamUrl\":{\"name\":\"streamUrl\",\"type\":\"string\"},\"tabId\":{\"name\":\"tabId\",\"type\":\"integer\"},\"responseHeaders\":{\"name\":\"responseHeaders\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\"}},\"embedded\":{\"name\":\"embedded\",\"type\":\"boolean\"}}}]}";
const char kMimeHandlerViewGuestInternal[] = "{\"namespace\":\"mimeHandlerViewGuestInternal\"}";
const char kMojoPrivate[] = "{\"functions\":[{\"parameters\":[{\"type\":\"string\",\"name\":\"name\"}],\"returns\":{\"type\":\"any\",\"name\":\"requireAsync\"},\"name\":\"requireAsync\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[],\"platforms\":null,\"internal\":false,\"namespace\":\"mojoPrivate\",\"properties\":{},\"types\":[]}";
const char kNetworkingPrivate[] = "{\"functions\":[{\"parameters\":[{\"type\":\"string\",\"name\":\"networkGuid\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"networkingPrivate.NetworkProperties\"}]}],\"name\":\"getProperties\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"networkGuid\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"networkingPrivate.ManagedProperties\"}]}],\"name\":\"getManagedProperties\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"networkGuid\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"networkingPrivate.NetworkStateProperties\"}]}],\"name\":\"getState\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"networkGuid\"},{\"$ref\":\"networkingPrivate.NetworkConfigProperties\",\"name\":\"properties\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setProperties\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"boolean\",\"name\":\"shared\"},{\"$ref\":\"networkingPrivate.NetworkConfigProperties\",\"name\":\"properties\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"string\",\"name\":\"result\"}]}],\"name\":\"createNetwork\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"networkGuid\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"forgetNetwork\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"networkingPrivate.NetworkFilter\",\"name\":\"filter\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"networkingPrivate.NetworkStateProperties\"},\"type\":\"array\",\"name\":\"result\"}]}],\"name\":\"getNetworks\",\"type\":\"function\"},{\"deprecated\":\"Use getNetworks.\",\"parameters\":[{\"name\":\"networkType\",\"$ref\":\"networkingPrivate.NetworkType\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"networkingPrivate.NetworkStateProperties\"},\"type\":\"array\",\"name\":\"result\"}]}],\"name\":\"getVisibleNetworks\",\"type\":\"function\"},{\"deprecated\":\"Use getDeviceStates.\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"networkingPrivate.NetworkType\"},\"type\":\"array\",\"name\":\"result\"}]}],\"name\":\"getEnabledNetworkTypes\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"networkingPrivate.DeviceStateProperties\"},\"type\":\"array\",\"name\":\"result\"}]}],\"name\":\"getDeviceStates\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"networkingPrivate.NetworkType\",\"name\":\"networkType\"}],\"name\":\"enableNetworkType\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"networkingPrivate.NetworkType\",\"name\":\"networkType\"}],\"name\":\"disableNetworkType\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"networkingPrivate.NetworkType\",\"optional\":true,\"name\":\"networkType\"}],\"name\":\"requestNetworkScan\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"networkGuid\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"startConnect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"networkGuid\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"startDisconnect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"networkGuid\"},{\"optional\":true,\"type\":\"string\",\"name\":\"carrier\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"startActivate\",\"type\":\"function\"},{\"deprecated\":\"Use networking.castPrivate API.\",\"parameters\":[{\"$ref\":\"networkingPrivate.VerificationProperties\",\"name\":\"properties\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"n
const char kPower[] = "{\"functions\":[{\"parameters\":[{\"name\":\"level\",\"$ref\":\"power.Level\"}],\"name\":\"requestKeepAwake\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"releaseKeepAwake\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[],\"platforms\":null,\"internal\":false,\"namespace\":\"power\",\"properties\":{},\"types\":[{\"noinline_doc\":\"True\",\"enum\":[{\"name\":\"system\"},{\"name\":\"display\"}],\"type\":\"string\",\"id\":\"power.Level\"}]}";
const char kPrinterProvider[] = "{\"functions\":[],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"type\":\"function\",\"name\":\"resultCallback\",\"parameters\":[{\"items\":{\"$ref\":\"printerProvider.PrinterInfo\"},\"type\":\"array\",\"name\":\"printerInfo\"}]}],\"name\":\"onGetPrintersRequested\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.Device\",\"name\":\"device\"},{\"type\":\"function\",\"name\":\"resultCallback\",\"parameters\":[{\"optional\":true,\"name\":\"printerInfo\",\"$ref\":\"printerProvider.PrinterInfo\"}]}],\"name\":\"onGetUsbPrinterInfoRequested\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"printerId\"},{\"type\":\"function\",\"name\":\"resultCallback\",\"parameters\":[{\"additionalProperties\":{\"type\":\"any\"},\"type\":\"object\",\"name\":\"capabilities\"}]}],\"name\":\"onGetCapabilityRequested\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"printerProvider.PrintJob\",\"name\":\"printJob\"},{\"type\":\"function\",\"name\":\"resultCallback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"printerProvider.PrintError\"}]}],\"name\":\"onPrintRequested\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"printerProvider\",\"properties\":{},\"types\":[{\"enum\":[{\"name\":\"OK\"},{\"name\":\"FAILED\"},{\"name\":\"INVALID_TICKET\"},{\"name\":\"INVALID_DATA\"}],\"type\":\"string\",\"id\":\"printerProvider.PrintError\"},{\"type\":\"object\",\"id\":\"printerProvider.PrinterInfo\",\"properties\":{\"id\":{\"name\":\"id\",\"type\":\"string\"},\"name\":{\"name\":\"name\",\"type\":\"string\"},\"description\":{\"optional\":true,\"name\":\"description\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"printerProvider.PrintJob\",\"properties\":{\"printerId\":{\"name\":\"printerId\",\"type\":\"string\"},\"title\":{\"name\":\"title\",\"type\":\"string\"},\"ticket\":{\"name\":\"ticket\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\"}},\"contentType\":{\"name\":\"contentType\",\"type\":\"string\"},\"document\":{\"name\":\"document\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\"},\"isInstanceOf\":\"Blob\"}}}]}";
const char kPrinterProviderInternal[] = "{\"functions\":[{\"parameters\":[{\"type\":\"integer\",\"name\":\"requestId\"},{\"optional\":true,\"items\":{\"$ref\":\"printerProvider.PrinterInfo\"},\"type\":\"array\",\"name\":\"printers\"}],\"name\":\"reportPrinters\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"requestId\"},{\"$ref\":\"printerProvider.PrinterInfo\",\"optional\":true,\"name\":\"printerInfo\"}],\"name\":\"reportUsbPrinterInfo\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"request_id\"},{\"additionalProperties\":{\"type\":\"any\"},\"optional\":true,\"type\":\"object\",\"name\":\"capability\"}],\"name\":\"reportPrinterCapability\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"request_id\"},{\"$ref\":\"printerProviderInternal.PrintError\",\"optional\":true,\"name\":\"error\"}],\"name\":\"reportPrintResult\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"requestId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"blobInfo\",\"$ref\":\"printerProviderInternal.BlobInfo\"}]}],\"name\":\"getPrintData\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[],\"platforms\":null,\"internal\":false,\"namespace\":\"printerProviderInternal\",\"properties\":{},\"types\":[{\"enum\":[{\"name\":\"OK\"},{\"name\":\"FAILED\"},{\"name\":\"INVALID_TICKET\"},{\"name\":\"INVALID_DATA\"}],\"type\":\"string\",\"id\":\"printerProviderInternal.PrintError\"},{\"type\":\"object\",\"id\":\"printerProviderInternal.BlobInfo\",\"properties\":{\"blobUuid\":{\"name\":\"blobUuid\",\"type\":\"string\"},\"type\":{\"name\":\"type\",\"type\":\"string\"},\"size\":{\"name\":\"size\",\"type\":\"integer\"}}}]}";
const char kRuntime[] = "{\"namespace\":\"runtime\",\"types\":[{\"id\":\"runtime.Port\",\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"disconnect\":{\"type\":\"function\"},\"onDisconnect\":{\"$ref\":\"events.Event\"},\"onMessage\":{\"$ref\":\"events.Event\"},\"postMessage\":{\"type\":\"function\",\"parameters\":[{\"name\":\"message\",\"type\":\"any\"}]},\"sender\":{\"$ref\":\"runtime.MessageSender\",\"optional\":true}},\"additionalProperties\":{\"type\":\"any\"}},{\"id\":\"runtime.MessageSender\",\"type\":\"object\",\"properties\":{\"tab\":{\"$ref\":\"tabs.Tab\",\"optional\":true,\"extension_types\":[\"extension\",\"legacy_packaged_app\"]},\"frameId\":{\"type\":\"integer\",\"optional\":true,\"extension_types\":[\"extension\",\"legacy_packaged_app\"]},\"guestProcessId\":{\"type\":\"integer\",\"optional\":true,\"extension_types\":[\"extension\"]},\"guestRenderFrameRoutingId\":{\"type\":\"integer\",\"optional\":true,\"extension_types\":[\"extension\"]},\"id\":{\"type\":\"string\",\"optional\":true},\"url\":{\"type\":\"string\",\"optional\":true},\"tlsChannelId\":{\"type\":\"string\",\"optional\":true}}},{\"id\":\"runtime.PlatformOs\",\"type\":\"string\",\"enum\":[\"mac\",\"win\",\"android\",\"cros\",\"linux\",\"openbsd\"]},{\"id\":\"runtime.PlatformArch\",\"type\":\"string\",\"enum\":[\"arm\",\"x86-32\",\"x86-64\",\"mips\",\"mips64\"]},{\"id\":\"runtime.PlatformNaclArch\",\"type\":\"string\",\"enum\":[\"arm\",\"x86-32\",\"x86-64\",\"mips\",\"mips64\"]},{\"id\":\"runtime.PlatformInfo\",\"type\":\"object\",\"properties\":{\"os\":{\"$ref\":\"runtime.PlatformOs\"},\"arch\":{\"$ref\":\"runtime.PlatformArch\"},\"nacl_arch\":{\"$ref\":\"runtime.PlatformNaclArch\"}}},{\"id\":\"runtime.RequestUpdateCheckStatus\",\"type\":\"string\",\"enum\":[\"throttled\",\"no_update\",\"update_available\"]},{\"id\":\"runtime.OnInstalledReason\",\"type\":\"string\",\"enum\":[\"install\",\"update\",\"chrome_update\",\"shared_module_update\"]},{\"id\":\"runtime.OnRestartRequiredReason\",\"type\":\"string\",\"enum\":[\"app_update\",\"os_update\",\"periodic\"]}],\"properties\":{\"lastError\":{\"type\":\"object\",\"optional\":true,\"properties\":{\"message\":{\"optional\":true,\"type\":\"string\"}}},\"id\":{\"type\":\"string\"}},\"functions\":[{\"name\":\"getBackgroundPage\",\"type\":\"function\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"backgroundPage\",\"optional\":true,\"type\":\"object\",\"isInstanceOf\":\"Window\",\"additionalProperties\":{\"type\":\"any\"}}]}]},{\"name\":\"openOptionsPage\",\"type\":\"function\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[],\"optional\":true}]},{\"name\":\"getManifest\",\"type\":\"function\",\"parameters\":[],\"returns\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":{\"type\":\"any\"}}},{\"name\":\"getURL\",\"type\":\"function\",\"parameters\":[{\"type\":\"string\",\"name\":\"path\"}],\"returns\":{\"type\":\"string\"}},{\"name\":\"setUninstallURL\",\"type\":\"function\",\"parameters\":[{\"type\":\"string\",\"name\":\"url\",\"maxLength\":255},{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[]}]},{\"name\":\"reload\",\"type\":\"function\",\"parameters\":[]},{\"name\":\"requestUpdateCheck\",\"type\":\"function\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"status\",\"$ref\":\"runtime.RequestUpdateCheckStatus\"},{\"name\":\"details\",\"type\":\"object\",\"optional\":true,\"properties\":{\"version\":{\"type\":\"string\"}}}]}]},{\"name\":\"restart\",\"type\":\"function\",\"parameters\":[]},{\"name\":\"restartAfterDelay\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"seconds\"},{\"type\":\"function\",\"name\":\"callback\",\"optional\":true}]},{\"name\":\"connect\",\"type\":\"function\",\"parameters\":[{\"type\":\"string\",\"name\":\"extensionId\",\"optional\":true},{\"type\":\"object\",\"name\":\"connectInfo\",\"properties\":{\"name\":{\"type\":\"string\",\"optional\":true},\"includeTlsChannelId\":{\"type\
const char kSerial[] = "{\"functions\":[{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"serial.DeviceInfo\"},\"type\":\"array\",\"name\":\"ports\"}]}],\"name\":\"getDevices\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"path\"},{\"$ref\":\"serial.ConnectionOptions\",\"optional\":true,\"name\":\"options\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"connectionInfo\",\"$ref\":\"serial.ConnectionInfo\"}]}],\"name\":\"connect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"connectionId\"},{\"$ref\":\"serial.ConnectionOptions\",\"name\":\"options\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"result\"}]}],\"name\":\"update\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"connectionId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"result\"}]}],\"name\":\"disconnect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"connectionId\"},{\"type\":\"boolean\",\"name\":\"paused\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setPaused\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"connectionId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"connectionInfo\",\"$ref\":\"serial.ConnectionInfo\"}]}],\"name\":\"getInfo\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"serial.ConnectionInfo\"},\"type\":\"array\",\"name\":\"connectionInfos\"}]}],\"name\":\"getConnections\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"connectionId\"},{\"type\":\"binary\",\"name\":\"data\",\"isInstanceOf\":\"ArrayBuffer\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"sendInfo\",\"$ref\":\"serial.SendInfo\"}]}],\"name\":\"send\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"connectionId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"result\"}]}],\"name\":\"flush\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"connectionId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"signals\",\"$ref\":\"serial.DeviceControlSignals\"}]}],\"name\":\"getControlSignals\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"connectionId\"},{\"$ref\":\"serial.HostControlSignals\",\"name\":\"signals\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"result\"}]}],\"name\":\"setControlSignals\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"connectionId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"result\"}]}],\"name\":\"setBreak\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"connectionId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"result\"}]}],\"name\":\"clearBreak\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"$ref\":\"serial.ReceiveInfo\",\"name\":\"info\"}],\"name\":\"onReceive\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"info\",\"$ref\":\"serial.ReceiveErrorInfo\"}],\"name\":\"onReceiveError\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"serial\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"serial.DeviceInfo\",\"properties\":{\"path\":{\"name\":\"path\",\"type\":\"string\"},\"vendorId\":{\"optional\":true,\"name\":\"vendorId\",\"type\":\"integer\"},\"productId\":{\"optional\":true,\"name\":\"productId\",\"type\":\"integer\"},\"displayName\":{\"optional\":true,\"name\":\"displayName\",\"type\":\"string\"}}},{\"enum\":[{\"name\":\"seven\"},{\"name\":\"eight\"}],\"type\":\"string\",\"id\":\"serial.DataBits\"},{\"enum\":[{
const char kSocket[] = "{\"functions\":[{\"parameters\":[{\"$ref\":\"socket.SocketType\",\"name\":\"type\"},{\"$ref\":\"socket.CreateOptions\",\"optional\":true,\"name\":\"options\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"createInfo\",\"$ref\":\"socket.CreateInfo\"}]}],\"name\":\"create\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"}],\"name\":\"destroy\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"string\",\"name\":\"hostname\"},{\"type\":\"integer\",\"name\":\"port\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"result\"}]}],\"name\":\"connect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"string\",\"name\":\"address\"},{\"type\":\"integer\",\"name\":\"port\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"result\"}]}],\"name\":\"bind\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"}],\"name\":\"disconnect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"optional\":true,\"type\":\"integer\",\"name\":\"bufferSize\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"readInfo\",\"$ref\":\"socket.ReadInfo\"}]}],\"name\":\"read\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"binary\",\"name\":\"data\",\"isInstanceOf\":\"ArrayBuffer\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"writeInfo\",\"$ref\":\"socket.WriteInfo\"}]}],\"name\":\"write\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"optional\":true,\"type\":\"integer\",\"name\":\"bufferSize\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"recvFromInfo\",\"$ref\":\"socket.RecvFromInfo\"}]}],\"name\":\"recvFrom\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"binary\",\"name\":\"data\",\"isInstanceOf\":\"ArrayBuffer\"},{\"type\":\"string\",\"name\":\"address\"},{\"type\":\"integer\",\"name\":\"port\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"writeInfo\",\"$ref\":\"socket.WriteInfo\"}]}],\"name\":\"sendTo\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"string\",\"name\":\"address\"},{\"type\":\"integer\",\"name\":\"port\"},{\"optional\":true,\"type\":\"integer\",\"name\":\"backlog\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"result\"}]}],\"name\":\"listen\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"acceptInfo\",\"$ref\":\"socket.AcceptInfo\"}]}],\"name\":\"accept\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"boolean\",\"name\":\"enable\"},{\"optional\":true,\"type\":\"integer\",\"name\":\"delay\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"result\"}]}],\"name\":\"setKeepAlive\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"boolean\",\"name\":\"noDelay\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"result\"}]}],\"name\":\"setNoDelay\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"socket.SocketInfo\"}]}],\"name\":\"getInfo\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"socket.NetworkInterface\"},\"type\":\"array\",\"name\":\"result\"}]}],\"name\":\"getNetworkList\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\
const char kSocketsTcp[] = "{\"functions\":[{\"parameters\":[{\"$ref\":\"sockets.tcp.SocketProperties\",\"optional\":true,\"name\":\"properties\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"$ref\":\"sockets.tcp.CreateInfo\",\"name\":\"createInfo\"}]}],\"name\":\"create\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"$ref\":\"sockets.tcp.SocketProperties\",\"name\":\"properties\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"update\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"boolean\",\"name\":\"paused\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"setPaused\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"boolean\",\"name\":\"enable\"},{\"optional\":true,\"type\":\"integer\",\"name\":\"delay\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"result\"}]}],\"name\":\"setKeepAlive\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"boolean\",\"name\":\"noDelay\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"result\"}]}],\"name\":\"setNoDelay\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"string\",\"name\":\"peerAddress\"},{\"type\":\"integer\",\"name\":\"peerPort\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"result\"}]}],\"name\":\"connect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"disconnect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"$ref\":\"sockets.tcp.SecureOptions\",\"optional\":true,\"name\":\"options\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"result\"}]}],\"name\":\"secure\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"binary\",\"name\":\"data\",\"isInstanceOf\":\"ArrayBuffer\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"$ref\":\"sockets.tcp.SendInfo\",\"name\":\"sendInfo\"}]}],\"name\":\"send\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"close\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"$ref\":\"sockets.tcp.SocketInfo\",\"name\":\"socketInfo\"}]}],\"name\":\"getInfo\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"sockets.tcp.SocketInfo\"},\"type\":\"array\",\"name\":\"socketInfos\"}]}],\"name\":\"getSockets\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"$ref\":\"sockets.tcp.ReceiveInfo\",\"name\":\"info\"}],\"name\":\"onReceive\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"sockets.tcp.ReceiveErrorInfo\",\"name\":\"info\"}],\"name\":\"onReceiveError\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"sockets.tcp\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"sockets.tcp.SocketProperties\",\"properties\":{\"persistent\":{\"optional\":true,\"name\":\"persistent\",\"type\":\"boolean\"},\"name\":{\"optional\":true,\"name\":\"name\",\"type\":\"string\"},\"bufferSize\":{\"optional\":true,\"name\":\"bufferSize\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"sockets.tcp.CreateInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"sockets.tcp.SendInfo\",\"properties\":{\"resultCode\":{\"name\":\"resultCode\",\"type\":\"integer\"},
const char kSocketsTcpServer[] = "{\"functions\":[{\"parameters\":[{\"$ref\":\"sockets.tcpServer.SocketProperties\",\"optional\":true,\"name\":\"properties\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"$ref\":\"sockets.tcpServer.CreateInfo\",\"name\":\"createInfo\"}]}],\"name\":\"create\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"$ref\":\"sockets.tcpServer.SocketProperties\",\"name\":\"properties\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"update\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"boolean\",\"name\":\"paused\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"setPaused\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"string\",\"name\":\"address\"},{\"type\":\"integer\",\"name\":\"port\"},{\"optional\":true,\"type\":\"integer\",\"name\":\"backlog\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"result\"}]}],\"name\":\"listen\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"disconnect\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"close\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"$ref\":\"sockets.tcpServer.SocketInfo\",\"name\":\"socketInfo\"}]}],\"name\":\"getInfo\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"sockets.tcpServer.SocketInfo\"},\"type\":\"array\",\"name\":\"socketInfos\"}]}],\"name\":\"getSockets\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"$ref\":\"sockets.tcpServer.AcceptInfo\",\"name\":\"info\"}],\"name\":\"onAccept\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"sockets.tcpServer.AcceptErrorInfo\",\"name\":\"info\"}],\"name\":\"onAcceptError\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"sockets.tcpServer\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"sockets.tcpServer.SocketProperties\",\"properties\":{\"persistent\":{\"optional\":true,\"name\":\"persistent\",\"type\":\"boolean\"},\"name\":{\"optional\":true,\"name\":\"name\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"sockets.tcpServer.CreateInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"sockets.tcpServer.SocketInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"},\"persistent\":{\"name\":\"persistent\",\"type\":\"boolean\"},\"name\":{\"optional\":true,\"name\":\"name\",\"type\":\"string\"},\"paused\":{\"name\":\"paused\",\"type\":\"boolean\"},\"localAddress\":{\"optional\":true,\"name\":\"localAddress\",\"type\":\"string\"},\"localPort\":{\"optional\":true,\"name\":\"localPort\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"sockets.tcpServer.AcceptInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"},\"clientSocketId\":{\"name\":\"clientSocketId\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"sockets.tcpServer.AcceptErrorInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"},\"resultCode\":{\"name\":\"resultCode\",\"type\":\"integer\"}}}]}";
const char kSocketsUdp[] = "{\"functions\":[{\"parameters\":[{\"$ref\":\"sockets.udp.SocketProperties\",\"optional\":true,\"name\":\"properties\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"$ref\":\"sockets.udp.CreateInfo\",\"name\":\"createInfo\"}]}],\"name\":\"create\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"$ref\":\"sockets.udp.SocketProperties\",\"name\":\"properties\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"update\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"boolean\",\"name\":\"paused\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"setPaused\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"string\",\"name\":\"address\"},{\"type\":\"integer\",\"name\":\"port\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"result\"}]}],\"name\":\"bind\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"binary\",\"name\":\"data\",\"isInstanceOf\":\"ArrayBuffer\"},{\"type\":\"string\",\"name\":\"address\"},{\"type\":\"integer\",\"name\":\"port\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"$ref\":\"sockets.udp.SendInfo\",\"name\":\"sendInfo\"}]}],\"name\":\"send\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"name\":\"callback\",\"parameters\":[],\"type\":\"function\",\"optional\":true}],\"name\":\"close\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"$ref\":\"sockets.udp.SocketInfo\",\"name\":\"socketInfo\"}]}],\"name\":\"getInfo\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"sockets.udp.SocketInfo\"},\"type\":\"array\",\"name\":\"socketInfos\"}]}],\"name\":\"getSockets\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"string\",\"name\":\"address\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"result\"}]}],\"name\":\"joinGroup\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"string\",\"name\":\"address\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"result\"}]}],\"name\":\"leaveGroup\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"integer\",\"name\":\"ttl\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"result\"}]}],\"name\":\"setMulticastTimeToLive\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"boolean\",\"name\":\"enabled\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"result\"}]}],\"name\":\"setMulticastLoopbackMode\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"type\":\"string\"},\"type\":\"array\",\"name\":\"groups\"}]}],\"name\":\"getJoinedGroups\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"socketId\"},{\"type\":\"boolean\",\"name\":\"enabled\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"result\"}]}],\"name\":\"setBroadcast\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"$ref\":\"sockets.udp.ReceiveInfo\",\"name\":\"info\"}],\"name\":\"onReceive\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"sockets.udp.ReceiveErrorInfo\",\"name\":\"info\"}],\"name\":\"onReceiveError\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"sockets.udp\",\"properties\":{}
const char kStorage[] = "{\"namespace\":\"storage\",\"unprivileged\":true,\"types\":[{\"id\":\"storage.StorageChange\",\"type\":\"object\",\"properties\":{\"oldValue\":{\"type\":\"any\",\"optional\":true},\"newValue\":{\"type\":\"any\",\"optional\":true}}},{\"id\":\"storage.StorageArea\",\"type\":\"object\",\"js_module\":\"StorageArea\",\"functions\":[{\"name\":\"get\",\"type\":\"function\",\"parameters\":[{\"name\":\"keys\",\"choices\":[{\"type\":\"string\"},{\"type\":\"array\",\"items\":{\"type\":\"string\"}},{\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\",\"preserveNull\":true},\"preserveNull\":true}],\"optional\":true},{\"name\":\"callback\",\"type\":\"function\",\"parameters\":[{\"name\":\"items\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\"}}]}]},{\"name\":\"getBytesInUse\",\"type\":\"function\",\"parameters\":[{\"name\":\"keys\",\"choices\":[{\"type\":\"string\"},{\"type\":\"array\",\"items\":{\"type\":\"string\"}}],\"optional\":true},{\"name\":\"callback\",\"type\":\"function\",\"parameters\":[{\"name\":\"bytesInUse\",\"type\":\"integer\"}]}]},{\"name\":\"set\",\"type\":\"function\",\"parameters\":[{\"name\":\"items\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\",\"preserveNull\":true},\"preserveNull\":true},{\"name\":\"callback\",\"type\":\"function\",\"parameters\":[],\"optional\":true}]},{\"name\":\"remove\",\"type\":\"function\",\"parameters\":[{\"name\":\"keys\",\"choices\":[{\"type\":\"string\"},{\"type\":\"array\",\"items\":{\"type\":\"string\"}}]},{\"name\":\"callback\",\"type\":\"function\",\"parameters\":[],\"optional\":true}]},{\"name\":\"clear\",\"type\":\"function\",\"parameters\":[{\"name\":\"callback\",\"type\":\"function\",\"parameters\":[],\"optional\":true}]}]}],\"events\":[{\"name\":\"onChanged\",\"type\":\"function\",\"parameters\":[{\"name\":\"changes\",\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"storage.StorageChange\"}},{\"name\":\"areaName\",\"type\":\"string\"}]}],\"properties\":{\"sync\":{\"$ref\":\"storage.StorageArea\",\"value\":[\"sync\"],\"properties\":{\"QUOTA_BYTES\":{\"value\":102400,\"type\":\"integer\"},\"QUOTA_BYTES_PER_ITEM\":{\"value\":8192,\"type\":\"integer\"},\"MAX_ITEMS\":{\"value\":512,\"type\":\"integer\"},\"MAX_WRITE_OPERATIONS_PER_HOUR\":{\"value\":1800,\"type\":\"integer\"},\"MAX_WRITE_OPERATIONS_PER_MINUTE\":{\"value\":120,\"type\":\"integer\"},\"MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE\":{\"value\":1000000,\"deprecated\":\"The storage.sync API no longer has a sustained write operation quota.\",\"type\":\"integer\"}}},\"local\":{\"$ref\":\"storage.StorageArea\",\"value\":[\"local\"],\"properties\":{\"QUOTA_BYTES\":{\"value\":5242880,\"type\":\"integer\"}}},\"managed\":{\"$ref\":\"storage.StorageArea\",\"value\":[\"managed\"]}}}";
const char kSystemCpu[] = "{\"functions\":[{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"info\",\"$ref\":\"system.cpu.CpuInfo\"}]}],\"name\":\"getInfo\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[],\"platforms\":null,\"internal\":false,\"namespace\":\"system.cpu\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"system.cpu.CpuTime\",\"properties\":{\"user\":{\"name\":\"user\",\"type\":\"number\"},\"kernel\":{\"name\":\"kernel\",\"type\":\"number\"},\"idle\":{\"name\":\"idle\",\"type\":\"number\"},\"total\":{\"name\":\"total\",\"type\":\"number\"}}},{\"type\":\"object\",\"id\":\"system.cpu.ProcessorInfo\",\"properties\":{\"usage\":{\"name\":\"usage\",\"$ref\":\"system.cpu.CpuTime\"}}},{\"type\":\"object\",\"id\":\"system.cpu.CpuInfo\",\"properties\":{\"numOfProcessors\":{\"name\":\"numOfProcessors\",\"type\":\"integer\"},\"archName\":{\"name\":\"archName\",\"type\":\"string\"},\"modelName\":{\"name\":\"modelName\",\"type\":\"string\"},\"features\":{\"name\":\"features\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"processors\":{\"name\":\"processors\",\"type\":\"array\",\"items\":{\"$ref\":\"system.cpu.ProcessorInfo\"}},\"temperatures\":{\"name\":\"temperatures\",\"type\":\"array\",\"items\":{\"type\":\"number\"}}}}]}";
const char kSystemDisplay[] = "{\"functions\":[{\"parameters\":[{\"$ref\":\"system.display.GetInfoFlags\",\"optional\":true,\"name\":\"flags\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"system.display.DisplayUnitInfo\"},\"type\":\"array\",\"name\":\"displayInfo\"}]}],\"name\":\"getInfo\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"system.display.DisplayLayout\"},\"type\":\"array\",\"name\":\"layouts\"}]}],\"name\":\"getDisplayLayout\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"id\"},{\"$ref\":\"system.display.DisplayProperties\",\"name\":\"info\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setDisplayProperties\",\"type\":\"function\"},{\"parameters\":[{\"items\":{\"$ref\":\"system.display.DisplayLayout\"},\"type\":\"array\",\"name\":\"layouts\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setDisplayLayout\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"boolean\",\"name\":\"enabled\"}],\"name\":\"enableUnifiedDesktop\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"id\"}],\"name\":\"overscanCalibrationStart\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"id\"},{\"$ref\":\"system.display.Insets\",\"name\":\"delta\"}],\"name\":\"overscanCalibrationAdjust\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"id\"}],\"name\":\"overscanCalibrationReset\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"id\"}],\"name\":\"overscanCalibrationComplete\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"id\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"success\"}]}],\"name\":\"showNativeTouchCalibration\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"id\"}],\"name\":\"startCustomTouchCalibration\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"system.display.TouchCalibrationPairQuad\",\"name\":\"pairs\"},{\"$ref\":\"system.display.Bounds\",\"name\":\"bounds\"}],\"name\":\"completeCustomTouchCalibration\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"id\"}],\"name\":\"clearTouchCalibration\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"system.display.MirrorModeInfo\",\"name\":\"info\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setMirrorMode\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[],\"name\":\"onDisplayChanged\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"system.display\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"system.display.Bounds\",\"properties\":{\"left\":{\"name\":\"left\",\"type\":\"integer\"},\"top\":{\"name\":\"top\",\"type\":\"integer\"},\"width\":{\"name\":\"width\",\"type\":\"integer\"},\"height\":{\"name\":\"height\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"system.display.Insets\",\"properties\":{\"left\":{\"name\":\"left\",\"type\":\"integer\"},\"top\":{\"name\":\"top\",\"type\":\"integer\"},\"right\":{\"name\":\"right\",\"type\":\"integer\"},\"bottom\":{\"name\":\"bottom\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"system.display.Point\",\"properties\":{\"x\":{\"name\":\"x\",\"type\":\"integer\"},\"y\":{\"name\":\"y\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"system.display.TouchCalibrationPair\",\"properties\":{\"displayPoint\":{\"name\":\"displayPoint\",\"$ref\":\"system.display.Point\"},\"touchPoint\":{\"name\":\"touchPoint\",\"$ref\":\"system.display.Point\"}}},{\"type\":\"object\",\"id\":\"system.display.TouchCalibrationPairQuad\",\"properties\":{\"pair1\":{\"name\":\"pair1\",\"$ref\":\"system.display.TouchCalibrationPair\"},\"pair2\":{\"name\":\"pair2\",\"$ref\":\"system.display.TouchCalibrationPair\"},\"pair3\":{\"
const char kSystemMemory[] = "{\"functions\":[{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"info\",\"$ref\":\"system.memory.MemoryInfo\"}]}],\"name\":\"getInfo\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[],\"platforms\":null,\"internal\":false,\"namespace\":\"system.memory\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"system.memory.MemoryInfo\",\"properties\":{\"capacity\":{\"name\":\"capacity\",\"type\":\"number\"},\"availableCapacity\":{\"name\":\"availableCapacity\",\"type\":\"number\"}}}]}";
const char kSystemNetwork[] = "{\"functions\":[{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"system.network.NetworkInterface\"},\"type\":\"array\",\"name\":\"networkInterfaces\"}]}],\"name\":\"getNetworkInterfaces\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[],\"platforms\":null,\"internal\":false,\"namespace\":\"system.network\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"system.network.NetworkInterface\",\"properties\":{\"name\":{\"name\":\"name\",\"type\":\"string\"},\"address\":{\"name\":\"address\",\"type\":\"string\"},\"prefixLength\":{\"name\":\"prefixLength\",\"type\":\"integer\"}}}]}";
const char kSystemStorage[] = "{\"functions\":[{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"system.storage.StorageUnitInfo\"},\"type\":\"array\",\"name\":\"info\"}]}],\"name\":\"getInfo\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"id\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"system.storage.EjectDeviceResultCode\"}]}],\"name\":\"ejectDevice\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"id\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"info\",\"$ref\":\"system.storage.StorageAvailableCapacityInfo\"}]}],\"name\":\"getAvailableCapacity\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"name\":\"info\",\"$ref\":\"system.storage.StorageUnitInfo\"}],\"name\":\"onAttached\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"id\"}],\"name\":\"onDetached\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"system.storage\",\"properties\":{},\"types\":[{\"enum\":[{\"name\":\"fixed\"},{\"name\":\"removable\"},{\"name\":\"unknown\"}],\"type\":\"string\",\"id\":\"system.storage.StorageUnitType\"},{\"type\":\"object\",\"id\":\"system.storage.StorageUnitInfo\",\"properties\":{\"id\":{\"name\":\"id\",\"type\":\"string\"},\"name\":{\"name\":\"name\",\"type\":\"string\"},\"type\":{\"name\":\"type\",\"$ref\":\"system.storage.StorageUnitType\"},\"capacity\":{\"name\":\"capacity\",\"type\":\"number\"}}},{\"type\":\"object\",\"id\":\"system.storage.StorageAvailableCapacityInfo\",\"properties\":{\"id\":{\"name\":\"id\",\"type\":\"string\"},\"availableCapacity\":{\"name\":\"availableCapacity\",\"type\":\"number\"}}},{\"inline_doc\":\"True\",\"enum\":[{\"name\":\"success\"},{\"name\":\"in_use\"},{\"name\":\"no_such_device\"},{\"name\":\"failure\"}],\"type\":\"string\",\"id\":\"system.storage.EjectDeviceResultCode\"}]}";
const char kTest[] = "{\"namespace\":\"test\",\"functions\":[{\"name\":\"getConfig\",\"type\":\"function\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"object\",\"name\":\"testConfig\",\"properties\":{\"customArg\":{\"type\":\"string\",\"optional\":true},\"ftpServer\":{\"type\":\"object\",\"optional\":true,\"properties\":{\"port\":{\"type\":\"integer\",\"minimum\":1024,\"maximum\":65535}}},\"testServer\":{\"type\":\"object\",\"optional\":true,\"properties\":{\"port\":{\"type\":\"integer\",\"minimum\":1024,\"maximum\":65535}}},\"testDataDirectory\":{\"type\":\"string\",\"optional\":true},\"testWebSocketPort\":{\"type\":\"integer\",\"optional\":true,\"minimum\":0,\"maximum\":65535},\"nativeCrxBindingsEnabled\":{\"type\":\"boolean\",\"optional\":true}}}]}]},{\"name\":\"notifyFail\",\"type\":\"function\",\"parameters\":[{\"type\":\"string\",\"name\":\"message\"}]},{\"name\":\"notifyPass\",\"type\":\"function\",\"parameters\":[{\"type\":\"string\",\"name\":\"message\",\"optional\":true}]},{\"name\":\"log\",\"type\":\"function\",\"parameters\":[{\"type\":\"string\",\"name\":\"message\"}]},{\"name\":\"sendMessage\",\"type\":\"function\",\"parameters\":[{\"type\":\"string\",\"name\":\"message\"},{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[{\"type\":\"string\",\"name\":\"response\"}]}]},{\"name\":\"callbackAdded\",\"type\":\"function\",\"parameters\":[]},{\"name\":\"runNextTest\",\"type\":\"function\",\"parameters\":[]},{\"name\":\"fail\",\"type\":\"function\",\"parameters\":[{\"type\":\"any\",\"name\":\"message\",\"optional\":true}]},{\"name\":\"succeed\",\"type\":\"function\",\"parameters\":[{\"type\":\"any\",\"name\":\"message\",\"optional\":true}]},{\"name\":\"getModuleSystem\",\"type\":\"function\",\"parameters\":[{\"type\":\"any\",\"name\":\"context\"}],\"returns\":{\"type\":\"any\",\"optional\":true}},{\"name\":\"assertTrue\",\"type\":\"function\",\"parameters\":[{\"name\":\"test\",\"choices\":[{\"type\":\"string\"},{\"type\":\"boolean\"}]},{\"type\":\"string\",\"name\":\"message\",\"optional\":true}]},{\"name\":\"assertFalse\",\"type\":\"function\",\"parameters\":[{\"name\":\"test\",\"choices\":[{\"type\":\"string\"},{\"type\":\"boolean\"}]},{\"type\":\"string\",\"name\":\"message\",\"optional\":true}]},{\"name\":\"assertBool\",\"type\":\"function\",\"parameters\":[{\"name\":\"test\",\"choices\":[{\"type\":\"string\"},{\"type\":\"boolean\"}]},{\"type\":\"boolean\",\"name\":\"expected\"},{\"type\":\"string\",\"name\":\"message\",\"optional\":true}]},{\"name\":\"checkDeepEq\",\"type\":\"function\",\"allowAmbiguousOptionalArguments\":true,\"parameters\":[{\"type\":\"any\",\"name\":\"expected\",\"optional\":true},{\"type\":\"any\",\"name\":\"actual\",\"optional\":true}]},{\"name\":\"assertEq\",\"type\":\"function\",\"allowAmbiguousOptionalArguments\":true,\"parameters\":[{\"type\":\"any\",\"name\":\"expected\",\"optional\":true},{\"type\":\"any\",\"name\":\"actual\",\"optional\":true},{\"type\":\"string\",\"name\":\"message\",\"optional\":true}]},{\"name\":\"assertNoLastError\",\"type\":\"function\",\"parameters\":[]},{\"name\":\"assertLastError\",\"type\":\"function\",\"parameters\":[{\"type\":\"string\",\"name\":\"expectedError\"}]},{\"name\":\"assertThrows\",\"type\":\"function\",\"parameters\":[{\"type\":\"function\",\"name\":\"fn\"},{\"type\":\"object\",\"name\":\"self\",\"additionalProperties\":{\"type\":\"any\"},\"optional\":true},{\"type\":\"array\",\"items\":{\"type\":\"any\"},\"name\":\"args\"},{\"choices\":[{\"type\":\"string\"},{\"type\":\"object\",\"isInstanceOf\":\"RegExp\"}],\"name\":\"message\",\"optional\":true}]},{\"name\":\"callback\",\"type\":\"function\",\"parameters\":[{\"type\":\"function\",\"name\":\"func\",\"optional\":true},{\"type\":\"string\",\"name\":\"expectedError\",\"optional\":true}]},{\"name\":\"listenOnce\",\"type\":\"function\",\"parameters\":[{\"type\":\"any\",\"name\":\"event\"},{\"type\":\"function\",\"name\":\"func\"}]},{\"name\":\"listenForever\",\"type\":\"function\",\"parameters\":[{\"type\":\"any\",\"nam
const char kUsb[] = "{\"functions\":[{\"parameters\":[{\"$ref\":\"usb.EnumerateDevicesOptions\",\"name\":\"options\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"usb.Device\"},\"type\":\"array\",\"name\":\"devices\"}]}],\"name\":\"getDevices\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.DevicePromptOptions\",\"name\":\"options\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"usb.Device\"},\"type\":\"array\",\"name\":\"devices\"}]}],\"name\":\"getUserSelectedDevices\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.Device\",\"name\":\"device\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"usb.ConfigDescriptor\"},\"type\":\"array\",\"name\":\"configs\"}]}],\"name\":\"getConfigurations\",\"type\":\"function\"},{\"deprecated\":\"This function was Chrome OS specific and calling it on other\\n platforms would fail. This operation is now implicitly performed as part of\\n $(ref:openDevice) and this function will return <code>true</code> on all\\n platforms.\",\"parameters\":[{\"$ref\":\"usb.Device\",\"name\":\"device\"},{\"type\":\"integer\",\"name\":\"interfaceId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"success\"}]}],\"name\":\"requestAccess\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.Device\",\"name\":\"device\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"handle\",\"$ref\":\"usb.ConnectionHandle\"}]}],\"name\":\"openDevice\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.EnumerateDevicesAndRequestAccessOptions\",\"name\":\"options\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"usb.ConnectionHandle\"},\"type\":\"array\",\"name\":\"handles\"}]}],\"name\":\"findDevices\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.ConnectionHandle\",\"name\":\"handle\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"closeDevice\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.ConnectionHandle\",\"name\":\"handle\"},{\"type\":\"integer\",\"name\":\"configurationValue\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setConfiguration\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.ConnectionHandle\",\"name\":\"handle\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"config\",\"$ref\":\"usb.ConfigDescriptor\"}]}],\"name\":\"getConfiguration\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.ConnectionHandle\",\"name\":\"handle\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"items\":{\"$ref\":\"usb.InterfaceDescriptor\"},\"type\":\"array\",\"name\":\"descriptors\"}]}],\"name\":\"listInterfaces\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.ConnectionHandle\",\"name\":\"handle\"},{\"type\":\"integer\",\"name\":\"interfaceNumber\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"claimInterface\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.ConnectionHandle\",\"name\":\"handle\"},{\"type\":\"integer\",\"name\":\"interfaceNumber\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"releaseInterface\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.ConnectionHandle\",\"name\":\"handle\"},{\"type\":\"integer\",\"name\":\"interfaceNumber\"},{\"type\":\"integer\",\"name\":\"alternateSetting\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setInterfaceAlternateSetting\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.ConnectionHandle\",\"name\":\"handle\"},{\"name\":\"transferInfo\",\"$ref\":\"usb.ControlTransferInfo\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"info\",\"$ref\":\"usb.TransferResultInfo\"}]}],\"name\":\"controlTransfer\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.ConnectionHandle\",\"name\":\"handle\"},{\"$ref\":\"usb.GenericTransferIn
const char kVirtualKeyboard[] = "{\"functions\":[{\"parameters\":[{\"$ref\":\"virtualKeyboard.FeatureRestrictions\",\"name\":\"restrictions\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"update\",\"$ref\":\"virtualKeyboard.FeatureRestrictions\"}]}],\"name\":\"restrictFeatures\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[],\"platforms\":[\"chromeos\"],\"internal\":false,\"namespace\":\"virtualKeyboard\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"virtualKeyboard.FeatureRestrictions\",\"properties\":{\"autoCompleteEnabled\":{\"optional\":true,\"name\":\"autoCompleteEnabled\",\"type\":\"boolean\"},\"autoCorrectEnabled\":{\"optional\":true,\"name\":\"autoCorrectEnabled\",\"type\":\"boolean\"},\"handwritingEnabled\":{\"optional\":true,\"name\":\"handwritingEnabled\",\"type\":\"boolean\"},\"spellCheckEnabled\":{\"optional\":true,\"name\":\"spellCheckEnabled\",\"type\":\"boolean\"},\"voiceInputEnabled\":{\"optional\":true,\"name\":\"voiceInputEnabled\",\"type\":\"boolean\"}}}]}";
const char kVirtualKeyboardPrivate[] = "{\"namespace\":\"virtualKeyboardPrivate\",\"platforms\":[\"chromeos\"],\"types\":[{\"id\":\"virtualKeyboardPrivate.VirtualKeyboardEventType\",\"type\":\"string\",\"enum\":[\"keyup\",\"keydown\"]},{\"id\":\"virtualKeyboardPrivate.VirtualKeyboardEvent\",\"type\":\"object\",\"properties\":{\"type\":{\"$ref\":\"virtualKeyboardPrivate.VirtualKeyboardEventType\"},\"charValue\":{\"type\":\"integer\"},\"keyCode\":{\"type\":\"integer\"},\"keyName\":{\"type\":\"string\"},\"modifiers\":{\"type\":\"integer\",\"optional\":true}}},{\"id\":\"virtualKeyboardPrivate.KeyboardMode\",\"type\":\"string\",\"enum\":[\"FULL_WIDTH\",\"FLOATING\",\"FULLSCREEN\"]},{\"id\":\"virtualKeyboardPrivate.KeyboardState\",\"type\":\"string\",\"enum\":[\"ENABLED\",\"DISABLED\",\"AUTO\"]},{\"id\":\"virtualKeyboardPrivate.Bounds\",\"type\":\"object\",\"properties\":{\"left\":{\"type\":\"integer\"},\"top\":{\"type\":\"integer\"},\"width\":{\"type\":\"integer\"},\"height\":{\"type\":\"integer\"}}},{\"id\":\"virtualKeyboardPrivate.KeyboardConfig\",\"type\":\"object\",\"properties\":{\"layout\":{\"type\":\"string\",\"minLength\":1},\"hotrodmode\":{\"type\":\"boolean\"},\"a11ymode\":{\"type\":\"boolean\"},\"features\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},{\"id\":\"virtualKeyboardPrivate.ContainerBehaviorOptions\",\"type\":\"object\",\"properties\":{\"mode\":{\"$ref\":\"virtualKeyboardPrivate.KeyboardMode\",\"name\":\"mode\"},\"bounds\":{\"$ref\":\"virtualKeyboardPrivate.Bounds\",\"optional\":true}}}],\"functions\":[{\"name\":\"insertText\",\"type\":\"function\",\"parameters\":[{\"name\":\"text\",\"type\":\"string\"},{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[]}]},{\"name\":\"sendKeyEvent\",\"type\":\"function\",\"parameters\":[{\"name\":\"keyEvent\",\"$ref\":\"virtualKeyboardPrivate.VirtualKeyboardEvent\"},{\"name\":\"callback\",\"type\":\"function\",\"optional\":true,\"parameters\":[]}]},{\"name\":\"hideKeyboard\",\"type\":\"function\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[]}]},{\"name\":\"setHotrodKeyboard\",\"type\":\"function\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"enable\"}]},{\"name\":\"lockKeyboard\",\"type\":\"function\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"lock\"}]},{\"name\":\"keyboardLoaded\",\"type\":\"function\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[]}]},{\"name\":\"getKeyboardConfig\",\"type\":\"function\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"$ref\":\"virtualKeyboardPrivate.KeyboardConfig\",\"name\":\"config\"}]}]},{\"name\":\"openSettings\",\"type\":\"function\",\"parameters\":[]},{\"name\":\"setMode\",\"type\":\"function\",\"parameters\":[{\"$ref\":\"virtualKeyboardPrivate.KeyboardMode\",\"name\":\"mode\"},{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[]}],\"deprecated\":\"Please use $(ref:setContainerBehavior)\"},{\"name\":\"setContainerBehavior\",\"type\":\"function\",\"parameters\":[{\"$ref\":\"virtualKeyboardPrivate.ContainerBehaviorOptions\",\"name\":\"options\"},{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[]}]},{\"name\":\"setDraggableArea\",\"type\":\"function\",\"parameters\":[{\"$ref\":\"virtualKeyboardPrivate.Bounds\",\"name\":\"bounds\"}]},{\"name\":\"setKeyboardState\",\"type\":\"function\",\"parameters\":[{\"$ref\":\"virtualKeyboardPrivate.KeyboardState\",\"name\":\"state\"}]}],\"events\":[{\"name\":\"onBoundsChanged\",\"type\":\"function\",\"parameters\":[{\"name\":\"bounds\",\"$ref\":\"virtualKeyboardPrivate.Bounds\"}]},{\"name\":\"onKeyboardClosed\",\"type\":\"function\"},{\"name\":\"onKeyboardConfigChanged\",\"type\":\"function\",\"parameters\":[{\"name\":\"config\",\"$ref\":\"virtualKeyboardPrivate.KeyboardConfig\"}]}]}";
const char kWebRequest[] = "{\"namespace\":\"webRequest\",\"properties\":{\"MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES\":{\"value\":20,\"type\":\"integer\"}},\"types\":[{\"id\":\"webRequest.ResourceType\",\"type\":\"string\",\"enum\":[\"main_frame\",\"sub_frame\",\"stylesheet\",\"script\",\"image\",\"font\",\"object\",\"xmlhttprequest\",\"ping\",\"csp_report\",\"media\",\"websocket\",\"other\"]},{\"id\":\"webRequest.OnBeforeRequestOptions\",\"type\":\"string\",\"enum\":[\"blocking\",\"requestBody\"]},{\"id\":\"webRequest.OnBeforeSendHeadersOptions\",\"type\":\"string\",\"enum\":[\"requestHeaders\",\"blocking\"]},{\"id\":\"webRequest.OnSendHeadersOptions\",\"type\":\"string\",\"enum\":[\"requestHeaders\"]},{\"id\":\"webRequest.OnHeadersReceivedOptions\",\"type\":\"string\",\"enum\":[\"blocking\",\"responseHeaders\"]},{\"id\":\"webRequest.OnAuthRequiredOptions\",\"type\":\"string\",\"enum\":[\"responseHeaders\",\"blocking\",\"asyncBlocking\"]},{\"id\":\"webRequest.OnResponseStartedOptions\",\"type\":\"string\",\"enum\":[\"responseHeaders\"]},{\"id\":\"webRequest.OnBeforeRedirectOptions\",\"type\":\"string\",\"enum\":[\"responseHeaders\"]},{\"id\":\"webRequest.OnCompletedOptions\",\"type\":\"string\",\"enum\":[\"responseHeaders\"]},{\"id\":\"webRequest.RequestFilter\",\"type\":\"object\",\"properties\":{\"urls\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"types\":{\"type\":\"array\",\"optional\":true,\"items\":{\"$ref\":\"webRequest.ResourceType\"}},\"tabId\":{\"type\":\"integer\",\"optional\":true},\"windowId\":{\"type\":\"integer\",\"optional\":true}}},{\"id\":\"webRequest.HttpHeaders\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"value\":{\"type\":\"string\",\"optional\":true},\"binaryValue\":{\"type\":\"array\",\"optional\":true,\"items\":{\"type\":\"integer\"}}}}},{\"id\":\"webRequest.BlockingResponse\",\"type\":\"object\",\"properties\":{\"cancel\":{\"type\":\"boolean\",\"optional\":true},\"redirectUrl\":{\"type\":\"string\",\"optional\":true},\"requestHeaders\":{\"$ref\":\"webRequest.HttpHeaders\",\"optional\":true},\"responseHeaders\":{\"$ref\":\"webRequest.HttpHeaders\",\"optional\":true},\"authCredentials\":{\"type\":\"object\",\"optional\":true,\"properties\":{\"username\":{\"type\":\"string\"},\"password\":{\"type\":\"string\"}}}}},{\"id\":\"webRequest.UploadData\",\"type\":\"object\",\"properties\":{\"bytes\":{\"type\":\"any\",\"optional\":true},\"file\":{\"type\":\"string\",\"optional\":true}}},{\"id\":\"webRequest.FormDataItem\",\"choices\":[{\"type\":\"binary\"},{\"type\":\"string\"}]}],\"functions\":[{\"name\":\"handlerBehaviorChanged\",\"type\":\"function\",\"forIOThread\":true,\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[]}]}],\"events\":[{\"name\":\"onBeforeRequest\",\"type\":\"function\",\"parameters\":[{\"type\":\"object\",\"name\":\"details\",\"properties\":{\"requestId\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"},\"method\":{\"type\":\"string\"},\"frameId\":{\"type\":\"integer\"},\"parentFrameId\":{\"type\":\"integer\"},\"requestBody\":{\"type\":\"object\",\"optional\":true,\"properties\":{\"error\":{\"type\":\"string\",\"optional\":true},\"formData\":{\"type\":\"object\",\"optional\":true,\"properties\":{},\"additionalProperties\":{\"type\":\"array\",\"items\":{\"$ref\":\"webRequest.FormDataItem\"}}},\"raw\":{\"type\":\"array\",\"optional\":true,\"items\":{\"$ref\":\"webRequest.UploadData\"}}}},\"tabId\":{\"type\":\"integer\"},\"type\":{\"$ref\":\"webRequest.ResourceType\"},\"initiator\":{\"type\":\"string\",\"optional\":true},\"timeStamp\":{\"type\":\"number\"}}}],\"extraParameters\":[{\"$ref\":\"webRequest.RequestFilter\",\"name\":\"filter\"},{\"type\":\"array\",\"optional\":true,\"name\":\"extraInfoSpec\",\"items\":{\"$ref\":\"webRequest.OnBeforeRequestOptions\"}}],\"returns\":{\"$ref\":\"webRequest.BlockingResponse\",\"optional\":true}},{\"name\":\"onBeforeSendHeaders\",\"type\":\"function\",\"parameters\":[{\"type\":\"object\",\"name\":\"details\",\"properties\":{\
const char kWebViewInternal[] = "{\"namespace\":\"webViewInternal\",\"types\":[{\"id\":\"webViewInternal.DataTypeSet\",\"type\":\"object\",\"properties\":{\"appcache\":{\"type\":\"boolean\",\"optional\":true},\"cookies\":{\"type\":\"boolean\",\"optional\":true},\"sessionCookies\":{\"type\":\"boolean\",\"optional\":true},\"persistentCookies\":{\"type\":\"boolean\",\"optional\":true},\"fileSystems\":{\"type\":\"boolean\",\"optional\":true},\"indexedDB\":{\"type\":\"boolean\",\"optional\":true},\"localStorage\":{\"type\":\"boolean\",\"optional\":true},\"webSQL\":{\"type\":\"boolean\",\"optional\":true},\"cache\":{\"type\":\"boolean\",\"optional\":true}}},{\"id\":\"webViewInternal.RemovalOptions\",\"type\":\"object\",\"properties\":{\"since\":{\"type\":\"number\",\"optional\":true}}},{\"id\":\"webViewInternal.ZoomMode\",\"type\":\"string\",\"enum\":[{\"name\":\"per-origin\"},{\"name\":\"per-view\"},{\"name\":\"disabled\"}]},{\"id\":\"webViewInternal.StopFindingAction\",\"type\":\"string\",\"enum\":[\"clear\",\"keep\",\"activate\"]},{\"id\":\"webViewInternal.SetPermissionAction\",\"type\":\"string\",\"enum\":[\"allow\",\"deny\",\"default\"]},{\"id\":\"webViewInternal.InjectionItems\",\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"optional\":true},\"files\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"optional\":true}}},{\"id\":\"webViewInternal.ContentScriptDetails\",\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"matches\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"exclude_matches\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"optional\":true},\"match_about_blank\":{\"type\":\"boolean\",\"optional\":true},\"css\":{\"$ref\":\"webViewInternal.InjectionItems\",\"optional\":true},\"js\":{\"$ref\":\"webViewInternal.InjectionItems\",\"optional\":true},\"run_at\":{\"$ref\":\"extensionTypes.RunAt\",\"optional\":true},\"all_frames\":{\"type\":\"boolean\",\"optional\":true},\"include_globs\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"optional\":true},\"exclude_globs\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"optional\":true}},\"required\":[\"name\",\"matches\"]}],\"functions\":[{\"name\":\"getAudioState\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"audible\",\"type\":\"boolean\"}]}]},{\"name\":\"setAudioMuted\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"boolean\",\"name\":\"mute\"}]},{\"name\":\"isAudioMuted\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"muted\",\"type\":\"boolean\"}]}]},{\"name\":\"executeScript\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"string\",\"name\":\"src\"},{\"$ref\":\"extensionTypes.InjectDetails\",\"name\":\"details\"},{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[{\"name\":\"result\",\"optional\":true,\"type\":\"array\",\"items\":{\"type\":\"any\",\"minimum\":0}}]}]},{\"name\":\"insertCSS\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"string\",\"name\":\"src\"},{\"$ref\":\"extensionTypes.InjectDetails\",\"name\":\"details\"},{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[]}]},{\"name\":\"addContentScripts\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"array\",\"name\":\"contentScriptList\",\"items\":{\"$ref\":\"webViewInternal.ContentScriptDetails\",\"name\":\"contentScriptDetails\"},\"minItems\":1}]},{\"name\":\"removeContentScripts\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"array\",\"name\":\"scriptNameList\",\"items\":{\"type\":\"string\"},\"optional\":true}]},{\"name\":\"setZoom\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instan
const char kWebRequestInternal[] = "{\"namespace\":\"webRequestInternal\",\"types\":[{\"id\":\"webRequestInternal.AddEventListenerOptions\",\"type\":\"string\",\"enum\":[\"requestHeaders\",\"responseHeaders\",\"blocking\",\"asyncBlocking\",\"requestBody\"]}],\"functions\":[{\"name\":\"addEventListener\",\"type\":\"function\",\"forIOThread\":true,\"parameters\":[{\"type\":\"function\",\"name\":\"callback\"},{\"$ref\":\"webRequest.RequestFilter\",\"name\":\"filter\"},{\"type\":\"array\",\"optional\":true,\"name\":\"extraInfoSpec\",\"items\":{\"$ref\":\"webRequestInternal.AddEventListenerOptions\"}},{\"type\":\"string\",\"name\":\"eventName\"},{\"type\":\"string\",\"name\":\"subEventName\"},{\"type\":\"integer\",\"name\":\"webViewInstanceId\"}]},{\"name\":\"eventHandled\",\"type\":\"function\",\"forIOThread\":true,\"parameters\":[{\"type\":\"string\",\"name\":\"eventName\"},{\"type\":\"string\",\"name\":\"subEventName\"},{\"type\":\"string\",\"name\":\"requestId\"},{\"$ref\":\"webRequest.BlockingResponse\",\"optional\":true,\"name\":\"response\"}]}]}";
const char kDeclarativeWebRequest[] = "{\"namespace\":\"declarativeWebRequest\",\"types\":[{\"id\":\"declarativeWebRequest.RequestMatcherInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.RequestMatcher\"]},{\"id\":\"declarativeWebRequest.CancelRequestInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.CancelRequest\"]},{\"id\":\"declarativeWebRequest.RedirectRequestInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.RedirectRequest\"]},{\"id\":\"declarativeWebRequest.RedirectToTransparentImageInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.RedirectToTransparentImage\"]},{\"id\":\"declarativeWebRequest.RedirectToEmptyDocumentInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.RedirectToEmptyDocument\"]},{\"id\":\"declarativeWebRequest.RedirectByRegExInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.RedirectByRegEx\"]},{\"id\":\"declarativeWebRequest.SetRequestHeaderInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.SetRequestHeader\"]},{\"id\":\"declarativeWebRequest.RemoveRequestHeaderInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.RemoveRequestHeader\"]},{\"id\":\"declarativeWebRequest.AddResponseHeaderInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.AddResponseHeader\"]},{\"id\":\"declarativeWebRequest.RemoveResponseHeaderInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.RemoveResponseHeader\"]},{\"id\":\"declarativeWebRequest.IgnoreRulesInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.IgnoreRules\"]},{\"id\":\"declarativeWebRequest.SendMessageToExtensionInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.SendMessageToExtension\"]},{\"id\":\"declarativeWebRequest.AddRequestCookieInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.AddRequestCookie\"]},{\"id\":\"declarativeWebRequest.AddResponseCookieInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.AddResponseCookie\"]},{\"id\":\"declarativeWebRequest.EditRequestCookieInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.EditRequestCookie\"]},{\"id\":\"declarativeWebRequest.EditResponseCookieInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.EditResponseCookie\"]},{\"id\":\"declarativeWebRequest.RemoveRequestCookieInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.RemoveRequestCookie\"]},{\"id\":\"declarativeWebRequest.RemoveResponseCookieInstanceType\",\"type\":\"string\",\"enum\":[\"declarativeWebRequest.RemoveResponseCookie\"]},{\"id\":\"declarativeWebRequest.Stage\",\"type\":\"string\",\"enum\":[\"onBeforeRequest\",\"onBeforeSendHeaders\",\"onHeadersReceived\",\"onAuthRequired\"]},{\"id\":\"declarativeWebRequest.HeaderFilter\",\"type\":\"object\",\"properties\":{\"namePrefix\":{\"type\":\"string\",\"optional\":true},\"nameSuffix\":{\"type\":\"string\",\"optional\":true},\"nameContains\":{\"choices\":[{\"type\":\"array\",\"items\":{\"type\":\"string\"}},{\"type\":\"string\"}],\"optional\":true},\"nameEquals\":{\"type\":\"string\",\"optional\":true},\"valuePrefix\":{\"type\":\"string\",\"optional\":true},\"valueSuffix\":{\"type\":\"string\",\"optional\":true},\"valueContains\":{\"choices\":[{\"type\":\"array\",\"items\":{\"type\":\"string\"}},{\"type\":\"string\"}],\"optional\":true},\"valueEquals\":{\"type\":\"string\",\"optional\":true}}},{\"id\":\"declarativeWebRequest.RequestMatcher\",\"type\":\"object\",\"properties\":{\"url\":{\"$ref\":\"events.UrlFilter\",\"optional\":true},\"firstPartyForCookiesUrl\":{\"$ref\":\"events.UrlFilter\",\"optional\":true},\"resourceType\":{\"type\":\"array\",\"optional\":true,\"items\":{\"$ref\":\"webRequest.ResourceType\"}},\"contentType\":{\"type\":\"array\",\"optional\":true,\"items\":{\"type\":\"string\"}},\"excludeContentType\":{\"type\":\"array\",\"optional\":true,\"items\":{\"type\":\"string\"}},\"requestHeaders\":{\"type\":\"array\",\"optional\":true,\"items\":{\"$ref\":\"declarativeWebRequest.HeaderFilter\"}},\"exclu
const char kWebViewRequest[] = "{\"namespace\":\"webViewRequest\"}";
} // namespace
namespace extensions {
namespace api {
// static
bool GeneratedSchemas::IsGenerated(base::StringPiece name) {
return !Get(name).empty();
}
// static
base::StringPiece GeneratedSchemas::Get(base::StringPiece name) {
static const struct {
base::StringPiece name;
base::StringPiece schema;
} kSchemas[] = {
{{"alarms", 6}, {kAlarms, sizeof(kAlarms) - 1}},
{{"app.currentWindowInternal", 25}, {kAppCurrentWindowInternal, sizeof(kAppCurrentWindowInternal) - 1}},
{{"app.runtime", 11}, {kAppRuntime, sizeof(kAppRuntime) - 1}},
{{"app.window", 10}, {kAppWindow, sizeof(kAppWindow) - 1}},
{{"appViewGuestInternal", 20}, {kAppViewGuestInternal, sizeof(kAppViewGuestInternal) - 1}},
{{"audio", 5}, {kAudio, sizeof(kAudio) - 1}},
{{"bluetooth", 9}, {kBluetooth, sizeof(kBluetooth) - 1}},
{{"bluetoothLowEnergy", 18}, {kBluetoothLowEnergy, sizeof(kBluetoothLowEnergy) - 1}},
{{"bluetoothPrivate", 16}, {kBluetoothPrivate, sizeof(kBluetoothPrivate) - 1}},
{{"bluetoothSocket", 15}, {kBluetoothSocket, sizeof(kBluetoothSocket) - 1}},
{{"cast.channel", 12}, {kCastChannel, sizeof(kCastChannel) - 1}},
{{"cecPrivate", 10}, {kCecPrivate, sizeof(kCecPrivate) - 1}},
{{"clipboard", 9}, {kClipboard, sizeof(kClipboard) - 1}},
{{"declarativeNetRequest", 21}, {kDeclarativeNetRequest, sizeof(kDeclarativeNetRequest) - 1}},
{{"declarativeWebRequest", 21}, {kDeclarativeWebRequest, sizeof(kDeclarativeWebRequest) - 1}},
{{"displaySource", 13}, {kDisplaySource, sizeof(kDisplaySource) - 1}},
{{"dns", 3}, {kDns, sizeof(kDns) - 1}},
{{"documentScan", 12}, {kDocumentScan, sizeof(kDocumentScan) - 1}},
{{"events", 6}, {kEvents, sizeof(kEvents) - 1}},
{{"extensionOptionsInternal", 24}, {kExtensionOptionsInternal, sizeof(kExtensionOptionsInternal) - 1}},
{{"extensionTypes", 14}, {kExtensionTypes, sizeof(kExtensionTypes) - 1}},
{{"extensionViewInternal", 21}, {kExtensionViewInternal, sizeof(kExtensionViewInternal) - 1}},
{{"extensionsManifestTypes", 23}, {kExtensionsManifestTypes, sizeof(kExtensionsManifestTypes) - 1}},
{{"feedbackPrivate", 15}, {kFeedbackPrivate, sizeof(kFeedbackPrivate) - 1}},
{{"fileSystem", 10}, {kFileSystem, sizeof(kFileSystem) - 1}},
{{"guestViewInternal", 17}, {kGuestViewInternal, sizeof(kGuestViewInternal) - 1}},
{{"hid", 3}, {kHid, sizeof(kHid) - 1}},
{{"idle", 4}, {kIdle, sizeof(kIdle) - 1}},
{{"management", 10}, {kManagement, sizeof(kManagement) - 1}},
{{"metricsPrivate", 14}, {kMetricsPrivate, sizeof(kMetricsPrivate) - 1}},
{{"mimeHandlerPrivate", 18}, {kMimeHandlerPrivate, sizeof(kMimeHandlerPrivate) - 1}},
{{"mimeHandlerViewGuestInternal", 28}, {kMimeHandlerViewGuestInternal, sizeof(kMimeHandlerViewGuestInternal) - 1}},
{{"mojoPrivate", 11}, {kMojoPrivate, sizeof(kMojoPrivate) - 1}},
{{"networkingPrivate", 17}, {kNetworkingPrivate, sizeof(kNetworkingPrivate) - 1}},
{{"power", 5}, {kPower, sizeof(kPower) - 1}},
{{"printerProvider", 15}, {kPrinterProvider, sizeof(kPrinterProvider) - 1}},
{{"printerProviderInternal", 23}, {kPrinterProviderInternal, sizeof(kPrinterProviderInternal) - 1}},
{{"runtime", 7}, {kRuntime, sizeof(kRuntime) - 1}},
{{"serial", 6}, {kSerial, sizeof(kSerial) - 1}},
{{"socket", 6}, {kSocket, sizeof(kSocket) - 1}},
{{"sockets.tcp", 11}, {kSocketsTcp, sizeof(kSocketsTcp) - 1}},
{{"sockets.tcpServer", 17}, {kSocketsTcpServer, sizeof(kSocketsTcpServer) - 1}},
{{"sockets.udp", 11}, {kSocketsUdp, sizeof(kSocketsUdp) - 1}},
{{"storage", 7}, {kStorage, sizeof(kStorage) - 1}},
{{"system.cpu", 10}, {kSystemCpu, sizeof(kSystemCpu) - 1}},
{{"system.display", 14}, {kSystemDisplay, sizeof(kSystemDisplay) - 1}},
{{"system.memory", 13}, {kSystemMemory, sizeof(kSystemMemory) - 1}},
{{"system.network", 14}, {kSystemNetwork, sizeof(kSystemNetwork) - 1}},
{{"system.storage", 14}, {kSystemStorage, sizeof(kSystemStorage) - 1}},
{{"test", 4}, {kTest, sizeof(kTest) - 1}},
{{"usb", 3}, {kUsb, sizeof(kUsb) - 1}},
{{"virtualKeyboard", 15}, {kVirtualKeyboard, sizeof(kVirtualKeyboard) - 1}},
{{"virtualKeyboardPrivate", 22}, {kVirtualKeyboardPrivate, sizeof(kVirtualKeyboardPrivate) - 1}},
{{"webRequest", 10}, {kWebRequest, sizeof(kWebRequest) - 1}},
{{"webRequestInternal", 18}, {kWebRequestInternal, sizeof(kWebRequestInternal) - 1}},
{{"webViewInternal", 15}, {kWebViewInternal, sizeof(kWebViewInternal) - 1}},
{{"webViewRequest", 14}, {kWebViewRequest, sizeof(kWebViewRequest) - 1}},
};
for (const auto& schema : kSchemas) {
if (schema.name == name)
return schema.schema;
}
return base::StringPiece();
}
} // namespace api
} // namespace extensions