blob: 7b2af234b1fc50ca248b1ceda6fc88bb3880a7dc [file] [log] [blame]
// Copyright (c) 2017 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"
#include "base/lazy_instance.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\"}],\"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\"}],\"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\"}}},{\"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\":\"maxHeight\"}],\"name\":\"setMaximumSize\",\"type\":\"function\"}}},{\"type\":\"object\",\"id\":\"app.window.FrameOptions\",\"properties\":{\"type\":{\"optional\":true,\"name\":\"type\",\"type\":\"string\"},\"color\":{\"optional\":true,\"name\":\"color\",\"type\":\"string\"},\"activeColor\":{\"optional\":true,\"name\":\"activeColor\",\"type\":\"string\"},\"inactiveColor\":{\"optional\":true,\"name\":\"inactiveColor\",\"type\":\"string\"}}},{\"enum\":[{\"name\":\"normal\"},{\"name\":\"fullscreen\"},{\"name\":\"maximized\"},{\"name\":\"minimized\"}],\"type\":\"string\",\"id\":\"app.window.State\"},{\"enum\":[{\"name\":\"shell\"},{\"name\":\"panel\"}],\"type\":\"string\",\"id\":\"app.window.WindowType\"},{\"type\":\"object\",\"id\":\"app.window.CreateWindowOptions\",\"properties\":{\"id\":{\"optional\":true,\"name\":\"id\",\"type\":\"string\"},\"innerBounds\":{\"optional\":true,\"name\":\"innerBounds\",\"$ref\":\"app.window.BoundsSpecification\"},\"outerBounds\":{\"optional\":true,\"name\":\"outerBounds\",\"$ref\":\"app.window.BoundsSpecification\"},\"defaultWidth\":{\"deprecated\":\"Use $(ref:BoundsSpecification).\",\"optional\":true,\"name\":\"defaultWidth\",\"type\":\"integer\"},\"defaultHeight\":{\"deprecated\":\"Use $(ref:BoundsSpecification).\",\"optional\":true,\"name\":\"defaultHeight\",\"type\":\"integer\"},\"defaultLeft\":{\"deprecated\":\"Use $(ref:BoundsSpecification).\",\"optional\":true,\"name\":\"defaultLeft\",\"type\":\"integer\"},\"defaultTop\":{\"deprecated\":\"Use $(ref:BoundsSpecification).\",\"optional\":true,\"name\":\"defaultTop\",\"type\":\"integer\"},\"width\":{\"deprecated\":\"Use $(ref:BoundsSpecification).\",\"optional\":true,\"name\":\"width\",\"type\":\"integer\"},\"height\":{\"deprecated\":\"Use $(ref:BoundsSpecification).\",\"optional\":true,\"name\":\"height\",\"type\":\"integer\"},\"left\":{\"deprecated\":\"Use $(ref:BoundsSpecification).\",\"optional\":true,\"name\":\"left\",\"type\":\"integer\"},\"top\":{\"deprecated\":\"Use $(ref:BoundsSpecification).\",\"optional\":true,\"name\":\"top\",\"type\":\"integer\"},\"minWidth\":{\"deprecated\":\"Use innerBounds or outerBounds.\",\"optional\":true,\"name\":\"minWidth\",\"type\":\"integer\"},\"minHeight\":{\"deprecated\":\"Use innerBounds or outerBounds.\",\"optional\":true,\"name\":\"minHeight\",\"type\":\"integer\"},\"maxWidth\":{\"deprecated\":\"Use innerBounds or outerBounds.\",\"optional\":true,\"name\":\"maxWidth\",\"type\":\"integer\"},\"maxHeight\":{\"deprecated\":\"Use innerBounds or outerBounds.\",\"optional\":true,\"name\":\"maxHeight\",\"type\":\"integer\"},\"type\":{\"optional\":true,\"name\":\"type\",\"$ref\":\"app.window.WindowType\"},\"ime\":{\"optional\":true,\"name\":\"ime\",\"type\":\"boolean\"},\"showInShelf\":{\"optional\":true,\"name\":\"showInShelf\",\"type\":\"boolean\"},\"icon\":{\"optional\":true,\"name\":\"icon\",\"type\":\"string\"},\"frame\":{\"optional\":true,\"name\":\"frame\",\"choices\":[{\"type\":\"string\"},{\"$ref\":\"app.window.FrameOptions\"}]},\"bounds\":{\"deprecated\":\"Use innerBounds or outerBounds.\",\"optional\":true,\"name\":\"bounds\",\"$ref\":\"app.window.ContentBounds\"},\"alphaEnabled\":{\"optional\":true,\"name\":\"alphaEnabled\",\"type\":\"boolean\"},\"state\":{\"optional\":true,\"name\":\"state\",\"$ref\":\"app.window.State\"},\"hidden\":{\"optional\":true,\"name\":\"hidden\",\"type\":\"boolean\"},\"resizable\":{\"optional\":true,\"name\":\"resizable\",\"type\":\"boolean\"},\"singleton\":{\"deprecated\":\"Multiple windows with the same id is no longer supported.\",\"optional\":true,\"name\":\"singleton\",\"type\":\"boolean\"},\"alwaysOnTop\":{\"optional\":true,\"name\":\"alwaysOnTop\",\"type\":\"boolean\"},\"focused\":{\"optional\":true,\"name\":\"focused\",\"type\":\"boolean\"},\"visibleOnAllWorkspaces\":{\"optional\":true,\"name\":\"visibleOnAllWorkspaces\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"app.window.AppWindow\",\"properties\":{\"focus\":{\"parameters\":[],\"name\":\"focus\",\"type\":\"function\"},\"fullscreen\":{\"parameters\":[],\"name\":\"fullscreen\",\"type\":\"function\"},\"isFullscreen\":{\"parameters\":[],\"returns\":{\"type\":\"boolean\",\"name\":\"isFullscreen\"},\"name\":\"isFullscreen\",\"type\":\"function\"},\"minimize\":{\"parameters\":[],\"name\":\"minimize\",\"type\":\"function\"},\"isMinimized\":{\"parameters\":[],\"returns\":{\"type\":\"boolean\",\"name\":\"isMinimized\"},\"name\":\"isMinimized\",\"type\":\"function\"},\"maximize\":{\"parameters\":[],\"name\":\"maximize\",\"type\":\"function\"},\"isMaximized\":{\"parameters\":[],\"returns\":{\"type\":\"boolean\",\"name\":\"isMaximized\"},\"name\":\"isMaximized\",\"type\":\"function\"},\"restore\":{\"parameters\":[],\"name\":\"restore\",\"type\":\"function\"},\"moveTo\":{\"deprecated\":\"Use outerBounds.\",\"parameters\":[{\"type\":\"integer\",\"name\":\"left\"},{\"type\":\"integer\",\"name\":\"top\"}],\"name\":\"moveTo\",\"type\":\"function\"},\"resizeTo\":{\"deprecated\":\"Use outerBounds.\",\"parameters\":[{\"type\":\"integer\",\"name\":\"width\"},{\"type\":\"integer\",\"name\":\"height\"}],\"name\":\"resizeTo\",\"type\":\"function\"},\"drawAttention\":{\"parameters\":[],\"name\":\"drawAttention\",\"type\":\"function\"},\"clearAttention\":{\"parameters\":[],\"name\":\"clearAttention\",\"type\":\"function\"},\"close\":{\"parameters\":[],\"name\":\"close\",\"type\":\"function\"},\"show\":{\"parameters\":[{\"optional\":true,\"type\":\"boolean\",\"name\":\"focused\"}],\"name\":\"show\",\"type\":\"function\"},\"hide\":{\"parameters\":[]," "\"name\":\"hide\",\"type\":\"function\"},\"getBounds\":{\"deprecated\":\"Use innerBounds or outerBounds.\",\"parameters\":[],\"returns\":{\"optional\":true,\"name\":\"getBounds\",\"$ref\":\"app.window.ContentBounds\"},\"name\":\"getBounds\",\"type\":\"function\"},\"setBounds\":{\"deprecated\":\"Use innerBounds or outerBounds.\",\"parameters\":[{\"name\":\"bounds\",\"$ref\":\"app.window.ContentBounds\"}],\"name\":\"setBounds\",\"type\":\"function\"},\"setIcon\":{\"parameters\":[{\"type\":\"string\",\"name\":\"iconUrl\"}],\"name\":\"setIcon\",\"type\":\"function\"},\"isAlwaysOnTop\":{\"parameters\":[],\"returns\":{\"type\":\"boolean\",\"name\":\"isAlwaysOnTop\"},\"name\":\"isAlwaysOnTop\",\"type\":\"function\"},\"hasFrameColor\":{\"name\":\"hasFrameColor\",\"type\":\"boolean\"},\"activeFrameColor\":{\"name\":\"activeFrameColor\",\"type\":\"integer\"},\"inactiveFrameColor\":{\"name\":\"inactiveFrameColor\",\"type\":\"integer\"},\"setAlwaysOnTop\":{\"parameters\":[{\"type\":\"boolean\",\"name\":\"alwaysOnTop\"}],\"name\":\"setAlwaysOnTop\",\"type\":\"function\"},\"alphaEnabled\":{\"parameters\":[],\"returns\":{\"type\":\"boolean\",\"name\":\"alphaEnabled\"},\"name\":\"alphaEnabled\",\"type\":\"function\"},\"setVisibleOnAllWorkspaces\":{\"parameters\":[{\"type\":\"boolean\",\"name\":\"alwaysVisible\"}],\"name\":\"setVisibleOnAllWorkspaces\",\"type\":\"function\"},\"contentWindow\":{\"name\":\"contentWindow\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\"},\"isInstanceOf\":\"Window\"},\"id\":{\"name\":\"id\",\"type\":\"string\"},\"innerBounds\":{\"name\":\"innerBounds\",\"$ref\":\"app.window.Bounds\"},\"outerBounds\":{\"name\":\"outerBounds\",\"$ref\":\"app.window.Bounds\"}}}]}";
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 $(ref:getInfo).\",\"name\":\"isMuted\",\"type\":\"boolean\"},\"gain\":{\"deprecated\":\"Used only with the deprecated $(ref:getInfo).\",\"name\":\"gain\",\"type\":\"number\"}}},{\"type\":\"object\",\"id\":\"audio.AudioDeviceInfo\",\"properties\":{\"id\":{\"name\":\"id\",\"type\":\"string\"},\"streamType\":{\"name\":\"streamType\",\"$ref\":\"audio.StreamType\"},\"deviceType\":{\"name\":\"deviceType\",\"$ref\":\"audio.DeviceType\"},\"displayName\":{\"name\":\"displayName\",\"type\":\"string\"},\"deviceName\":{\"name\":\"deviceName\",\"type\":\"string\"},\"isActive\":{\"name\":\"isActive\",\"type\":\"boolean\"},\"level\":{\"name\":\"level\",\"type\":\"integer\"},\"stableDeviceId\":{\"optional\":true,\"name\":\"stableDeviceId\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"audio.DeviceFilter\",\"properties\":{\"streamTypes\":{\"optional\":true,\"name\":\"streamTypes\",\"type\":\"array\",\"items\":{\"$ref\":\"audio.StreamType\"}},\"isActive\":{\"optional\":true,\"name\":\"isActive\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"audio.DeviceProperties\",\"properties\":{\"isMuted\":{\"deprecated\":\"Use $(ref:setMute) to set mute state.\",\"optional\":true,\"name\":\"isMuted\",\"type\":\"boolean\"},\"volume\":{\"deprecated\":\"Use |level| to set output volume.\",\"optional\":true,\"name\":\"volume\",\"type\":\"number\"},\"gain\":{\"deprecated\":\"Use |level| to set input gain.\",\"optional\":true,\"name\":\"gain\",\"type\":\"number\"},\"level\":{\"optional\":true,\"name\":\"level\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"audio.DeviceIdLists\",\"properties\":{\"input\":{\"optional\":true,\"name\":\"input\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"output\":{\"optional\":true,\"name\":\"output\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},{\"type\":\"object\",\"id\":\"audio.MuteChangedEvent\",\"properties\":{\"streamType\":{\"name\":\"streamType\",\"$ref\":\"audio.StreamType\"},\"isMuted\":{\"name\":\"isMuted\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"audio.LevelChangedEvent\",\"properties\":{\"deviceId\":{\"name\":\"deviceId\",\"type\":\"string\"},\"level\":{\"name\":\"level\",\"type\":\"integer\"}}}]}";
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\":[{\"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\"},{\"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\"}}}]}";
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\":\"characteristicId\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"stopCharacteristicNotifications\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"characteristicId\"},{\"name\":\"notification\",\"$ref\":\"bluetoothLowEnergy.Notification\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"notifyCharacteristicValueChanged\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"descriptorId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"bluetoothLowEnergy.Descriptor\"}]}],\"name\":\"readDescriptorValue\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"descriptorId\"},{\"type\":\"binary\",\"name\":\"value\",\"isInstanceOf\":\"ArrayBuffer\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"writeDescriptorValue\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"serviceId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"registerService\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"serviceId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"unregisterService\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"serviceId\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"removeService\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothLowEnergy.Advertisement\",\"name\":\"advertisement\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"advertisementId\"}]}],\"name\":\"registerAdvertisement\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"advertisementId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"unregisterAdvertisement\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"integer\",\"name\":\"minInterval\"},{\"type\":\"integer\",\"name\":\"maxInterval\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setAdvertisingInterval\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothLowEnergy.Response\",\"name\":\"response\"}],\"name\":\"sendRequestResponse\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"$ref\":\"bluetoothLowEnergy.Service\",\"name\":\"service\"}],\"name\":\"onServiceAdded\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothLowEnergy.Service\",\"name\":\"service\"}],\"name\":\"onServiceChanged\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothLowEnergy.Service\",\"name\":\"service\"}],\"name\":\"onServiceRemoved\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothLowEnergy.Characteristic\",\"name\":\"characteristic\"}],\"name\":\"onCharacteristicValueChanged\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothLowEnergy.Descriptor\",\"name\":\"descriptor\"}],\"name\":\"onDescriptorValueChanged\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothLowEnergy.Request\",\"name\":\"request\"},{\"type\":\"string\",\"name\":\"characteristicId\"}],\"name\":\"onCharacteristicReadRequest\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothLowEnergy.Request\",\"name\":\"request\"},{\"type\":\"string\",\"name\":\"characteristicId\"}],\"name\":\"onCharacteristicWriteRequest\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothLowEnergy.Request\",\"name\":\"request\"},{\"type\":\"string\",\"name\":\"descriptorId\"}],\"name\":\"onDescriptorReadRequest\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"bluetoothLowEnergy.Request\",\"name\":\"request\"},{\"type\":\"string\",\"name\":\"descriptorId\"}],\"name\":\"onDescriptorWriteRequest\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"bluetoothLowEnergy\",\"properties\":{},\"types\":[{\"enum\":[{\"name\":\"broadcast\"},{\"name\":\"read\"},{\"name\":\"writeWithoutResponse\"},{\"name\":\"write\"},{\"name\":\"notify\"},{\"name\":\"indicate\"},{\"name\":\"authenticatedSignedWrites\"},{\"name\":\"extendedProperties\"},{\"name\":\"reliableWrite\"},{\"name\":\"writableAuxiliaries\"},{\"name\":\"encryptRead\"},{\"name\":\"encryptWrite\"},{\"name\":\"encryptAuthenticatedRead\"},{\"name\":\"encryptAuthenticatedWrite\"}],\"type\":\"string\",\"id\":\"bluetoothLowEnergy.CharacteristicProperty\"},{\"enum\":[{\"name\":\"read\"},{\"name\":\"write\"},{\"name\":\"encryptedRead\"},{\"name\":\"encryptedWrite\"},{\"name\":\"encryptedAuthenticatedRead\"},{\"name\":\"encryptedAuthenticatedWrite\"}],\"type\":\"string\",\"id\":\"bluetoothLowEnergy.DescriptorPermission\"},{\"enum\":[{\"name\":\"broadcast\"},{\"name\":\"peripheral\"}],\"type\":\"string\",\"id\":\"bluetoothLowEnergy.AdvertisementType\"},{\"type\":\"object\",\"id\":\"bluetoothLowEnergy.Device\",\"properties\":{\"address\":{\"name\":\"address\",\"type\":\"string\"},\"name\":{\"optional\":true,\"name\":\"name\",\"type\":\"string\"},\"deviceClass\":{\"optional\":true,\"name\":\"deviceClass\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"bluetoothLowEnergy.Service\",\"properties\":{\"uuid\":{\"name\":\"uuid\",\"type\":\"string\"},\"isPrimary\":{\"name\":\"isPrimary\",\"type\":\"boolean\"},\"instanceId\":{\"optional\":true,\"name\":\"instanceId\",\"type\":\"string\"},\"deviceAddress\":{\"optional\":" "true,\"name\":\"deviceAddress\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"bluetoothLowEnergy.Characteristic\",\"properties\":{\"uuid\":{\"name\":\"uuid\",\"type\":\"string\"},\"service\":{\"optional\":true,\"name\":\"service\",\"$ref\":\"bluetoothLowEnergy.Service\"},\"properties\":{\"name\":\"properties\",\"type\":\"array\",\"items\":{\"$ref\":\"bluetoothLowEnergy.CharacteristicProperty\"}},\"instanceId\":{\"optional\":true,\"name\":\"instanceId\",\"type\":\"string\"},\"value\":{\"optional\":true,\"name\":\"value\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"}}},{\"type\":\"object\",\"id\":\"bluetoothLowEnergy.Descriptor\",\"properties\":{\"uuid\":{\"name\":\"uuid\",\"type\":\"string\"},\"characteristic\":{\"optional\":true,\"name\":\"characteristic\",\"$ref\":\"bluetoothLowEnergy.Characteristic\"},\"permissions\":{\"name\":\"permissions\",\"type\":\"array\",\"items\":{\"$ref\":\"bluetoothLowEnergy.DescriptorPermission\"}},\"instanceId\":{\"optional\":true,\"name\":\"instanceId\",\"type\":\"string\"},\"value\":{\"optional\":true,\"name\":\"value\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"}}},{\"type\":\"object\",\"id\":\"bluetoothLowEnergy.ConnectProperties\",\"properties\":{\"persistent\":{\"name\":\"persistent\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"bluetoothLowEnergy.NotificationProperties\",\"properties\":{\"persistent\":{\"name\":\"persistent\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"bluetoothLowEnergy.ManufacturerData\",\"properties\":{\"id\":{\"name\":\"id\",\"type\":\"integer\"},\"data\":{\"name\":\"data\",\"type\":\"array\",\"items\":{\"type\":\"integer\"}}}},{\"type\":\"object\",\"id\":\"bluetoothLowEnergy.ServiceData\",\"properties\":{\"uuid\":{\"name\":\"uuid\",\"type\":\"string\"},\"data\":{\"name\":\"data\",\"type\":\"array\",\"items\":{\"type\":\"integer\"}}}},{\"type\":\"object\",\"id\":\"bluetoothLowEnergy.Advertisement\",\"properties\":{\"type\":{\"name\":\"type\",\"$ref\":\"bluetoothLowEnergy.AdvertisementType\"},\"serviceUuids\":{\"optional\":true,\"name\":\"serviceUuids\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"manufacturerData\":{\"optional\":true,\"name\":\"manufacturerData\",\"type\":\"array\",\"items\":{\"$ref\":\"bluetoothLowEnergy.ManufacturerData\"}},\"solicitUuids\":{\"optional\":true,\"name\":\"solicitUuids\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"serviceData\":{\"optional\":true,\"name\":\"serviceData\",\"type\":\"array\",\"items\":{\"$ref\":\"bluetoothLowEnergy.ServiceData\"}}}},{\"type\":\"object\",\"id\":\"bluetoothLowEnergy.Request\",\"properties\":{\"requestId\":{\"name\":\"requestId\",\"type\":\"integer\"},\"device\":{\"name\":\"device\",\"$ref\":\"bluetoothLowEnergy.Device\"},\"value\":{\"optional\":true,\"name\":\"value\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"}}},{\"type\":\"object\",\"id\":\"bluetoothLowEnergy.Response\",\"properties\":{\"requestId\":{\"name\":\"requestId\",\"type\":\"integer\"},\"isError\":{\"name\":\"isError\",\"type\":\"boolean\"},\"value\":{\"optional\":true,\"name\":\"value\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"}}},{\"type\":\"object\",\"id\":\"bluetoothLowEnergy.Notification\",\"properties\":{\"value\":{\"name\":\"value\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"},\"shouldIndicate\":{\"optional\":true,\"name\":\"shouldIndicate\",\"type\":\"boolean\"}}}]}";
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\":{\"transport\":{\"optional\":true,\"name\":\"transport\",\"$ref\":\"bluetoothPrivate.TransportType\"},\"uuids\":{\"optional\":true,\"name\":\"uuids\",\"choices\":[{\"type\":\"string\"},{\"type\":\"array\",\"items\":{\"type\":\"string\"}}]},\"rssi\":{\"optional\":true,\"name\":\"rssi\",\"type\":\"integer\"},\"pathloss\":{\"optional\":true,\"name\":\"pathloss\",\"type\":\"integer\"}}}]}";
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\":\"integer\"},\"psm\":{\"optional\":true,\"name\":\"psm\",\"type\":\"integer\"},\"backlog\":{\"optional\":true,\"name\":\"backlog\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"bluetoothSocket.SocketInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"},\"persistent\":{\"name\":\"persistent\",\"type\":\"boolean\"},\"name\":{\"optional\":true,\"name\":\"name\",\"type\":\"string\"},\"bufferSize\":{\"optional\":true,\"name\":\"bufferSize\",\"type\":\"integer\"},\"paused\":{\"name\":\"paused\",\"type\":\"boolean\"},\"connected\":{\"name\":\"connected\",\"type\":\"boolean\"},\"address\":{\"optional\":true,\"name\":\"address\",\"type\":\"string\"},\"uuid\":{\"optional\":true,\"name\":\"uuid\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"bluetoothSocket.AcceptInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"},\"clientSocketId\":{\"name\":\"clientSocketId\",\"type\":\"integer\"}}},{\"enum\":[{\"name\":\"system_error\"},{\"name\":\"not_listening\"}],\"type\":\"string\",\"id\":\"bluetoothSocket.AcceptError\"},{\"type\":\"object\",\"id\":\"bluetoothSocket.AcceptErrorInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"},\"errorMessage\":{\"name\":\"errorMessage\",\"type\":\"string\"},\"error\":{\"name\":\"error\",\"$ref\":\"bluetoothSocket.AcceptError\"}}},{\"type\":\"object\",\"id\":\"bluetoothSocket.ReceiveInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"},\"data\":{\"name\":\"data\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"}}},{\"enum\":[{\"name\":\"disconnected\"},{\"name\":\"system_error\"},{\"name\":\"not_connected\"}],\"type\":\"string\",\"id\":\"bluetoothSocket.ReceiveError\"},{\"type\":\"object\",\"id\":\"bluetoothSocket.ReceiveErrorInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"},\"errorMessage\":{\"name\":\"errorMessage\",\"type\":\"string\"},\"error\":{\"name\":\"error\",\"$ref\":\"bluetoothSocket.ReceiveError\"}}}]}";
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 kClipboard[] = "{\"functions\":[{\"parameters\":[{\"type\":\"binary\",\"name\":\"image_data\",\"isInstanceOf\":\"ArrayBuffer\"},{\"$ref\":\"clipboard.ImageType\",\"name\":\"type\"},{\"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\"}]}";
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 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 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.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\"}}}}]}";
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.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}}}]}";
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\"},\"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\":\"launchApp\",\"parameters\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"callback\",\"type\":\"function\",\"optional\":true,\"parameters\":[]}]},{\"name\":\"createAppShortcut\",\"parameters\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"callback\",\"type\":\"function\",\"optional\":true,\"parameters\":[]}]},{\"name\":\"setLaunchType\",\"parameters\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"launchType\",\"$ref\":\"management.LaunchType\"},{\"name\":\"callback\",\"type\":\"function\",\"optional\":true,\"parameters\":[]}]},{\"name\":\"generateAppForLink\",\"parameters\":[{\"name\":\"url\",\"type\":\"string\"},{\"name\":\"title\",\"type\":\"string\"},{\"name\":\"callback\",\"type\":\"function\",\"optional\":true,\"parameters\":[{\"name\":\"result\",\"$ref\":\"management.ExtensionInfo\"}]}]}],\"events\":[{\"name\":\"onInstalled\",\"type\":\"function\",\"parameters\":[{\"name\":\"info\",\"$ref\":\"management.ExtensionInfo\"}]},{\"name\":\"onUninstalled\",\"type\":\"function\",\"parameters\":[{\"name\":\"id\",\"type\":\"string\"}]},{\"name\":\"onEnabled\",\"type\":\"function\",\"parameters\":[{\"name\":\"info\",\"$ref\":\"management.ExtensionInfo\"}]},{\"name\":\"onDisabled\",\"type\":\"function\",\"parameters\":[{\"name\":\"info\",\"$ref\":\"management.ExtensionInfo\"}]}]}";
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\":true,\"name\":\"usagePage\",\"type\":\"integer\"},\"usage\":{\"optional\":true,\"name\":\"usage\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"hid.GetDevicesOptions\",\"properties\":{\"vendorId\":{\"deprecated\":\"Equivalent to setting $(ref:DeviceFilter.vendorId).\",\"optional\":true,\"name\":\"vendorId\",\"type\":\"integer\"},\"productId\":{\"deprecated\":\"Equivalent to setting $(ref:DeviceFilter.productId).\",\"optional\":true,\"name\":\"productId\",\"type\":\"integer\"},\"filters\":{\"optional\":true,\"name\":\"filters\",\"type\":\"array\",\"items\":{\"$ref\":\"hid.DeviceFilter\"}}}},{\"type\":\"object\",\"id\":\"hid.DevicePromptOptions\",\"properties\":{\"multiple\":{\"optional\":true,\"name\":\"multiple\",\"type\":\"boolean\"},\"filters\":{\"optional\":true,\"name\":\"filters\",\"type\":\"array\",\"items\":{\"$ref\":\"hid.DeviceFilter\"}}}}]}";
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\":\"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\"}]}],\"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\":\"moduleName\"},{\"optional\":true,\"type\":\"array\",\"name\":\"dependencies\",\"items\":{\"type\":\"string\"}},{\"type\":\"function\",\"name\":\"factory\",\"parameters\":[{\"items\":{\"type\":\"any\"},\"type\":\"array\",\"name\":\"modules\"}]}],\"name\":\"define\",\"type\":\"function\"},{\"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\":[],\"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\",\"name\":\"result\"}]}],\"name\":\"verifyDestination\",\"type\":\"function\"},{\"deprecated\":\"Use networking.castPrivate API.\",\"parameters\":[{\"$ref\":\"networkingPrivate.VerificationProperties\",\"name\":\"properties\"},{\"type\":\"string\",\"name\":\"networkGuid\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"string\",\"name\":\"result\"}]}],\"name\":\"verifyAndEncryptCredentials\",\"type\":\"function\"},{\"deprecated\":\"Use networking.castPrivate API.\",\"parameters\":[{\"$ref\":\"networkingPrivate.VerificationProperties\",\"name\":\"properties\"},{\"type\":\"string\",\"name\":\"data\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"string\",\"name\":\"result\"}]}],\"name\":\"verifyAndEncryptData\",\"type\":\"function\"},{\"deprecated\":\"Use networking.castPrivate API.\",\"parameters\":[{\"type\":\"string\",\"name\":\"ip_or_mac_address\"},{\"type\":\"boolean\",\"name\":\"enabled\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"string\",\"name\":\"result\"}]}],\"name\":\"setWifiTDLSEnabledState\",\"type\":\"function\"},{\"deprecated\":\"Use networking.castPrivate API.\",\"parameters\":[{\"type\":\"string\",\"name\":\"ip_or_mac_address\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"string\",\"name\":\"result\"}]}],\"name\":\"getWifiTDLSStatus\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"networkGuid\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"networkingPrivate.CaptivePortalStatus\"}]}],\"name\":\"getCaptivePortalStatus\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"networkGuid\"},{\"type\":\"string\",\"name\":\"pin\"},{\"optional\":true,\"type\":\"string\",\"name\":\"puk\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"unlockCellularSim\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"networkGuid\"},{\"$ref\":\"networkingPrivate.CellularSimState\",\"name\":\"simState\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"setCellularSimState\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"result\",\"$ref\":\"networkingPrivate.GlobalPolicy\"}]}],\"name\":\"getGlobalPolicy\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"items\":{\"type\":\"string\"},\"type\":\"array\",\"name\":\"changes\"}],\"name\":\"onNetworksChanged\",\"type\":\"function\"},{\"parameters\":[{\"items\":{\"type\":\"string\"},\"type\":\"array\",\"name\":\"changes\"}],\"name\":\"onNetworkListChanged\",\"type\":\"function\"},{\"parameters\":[],\"name\":\"onDeviceStateListChanged\",\"type\":\"function\"},{\"parameters\":[{\"type\":\"string\",\"name\":\"networkGuid\"},{\"name\":\"status\",\"$ref\":\"networkingPrivate.CaptivePortalStatus\"}],\"name\":\"onPortalDetectionCompleted\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"networkingPrivate\",\"properties\":{},\"types\":[{\"enum\":[{\"name\":\"Activated\"},{\"name\":\"Activating\"},{\"name\":\"NotActivated\"},{\"name\":\"PartiallyActivated\"}],\"type\":\"string\",\"id\":\"networkingPrivate.ActivationStateType\"},{\"enum\":[{\"name\":\"Unknown\"},{\"name\":\"Offline\"},{\"name\":\"Online\"},{\"name\":\"Portal\"},{\"name\":\"ProxyAuthRequired\"}],\"type\":\"string\",\"id\":\"networkingPrivate.CaptivePortalStatus\"},{\"enum\":[{\"name\":\"Connected\"},{\"name\":\"Connecting\"},{\"name\":\"NotConnected\"}],\"type\":\"string\",\"id\":\"networkingPrivate.ConnectionStateType\"},{\"enum\":[{\"name\":\"Uninitialized\"},{\"name\":\"Disabled\"},{\"name\":\"Enabling\"},{\"name\":\"Enabled\"},{\"name\":\"Prohibited\"}],\"type\":\"string\",\"id\":\"networkingPrivate.DeviceStateType\"},{\"enum\":[{\"name\":\"DHCP\"},{\"name\":\"Static\"}],\"type\":\"string\",\"id\":\"networkingPrivate.IPConfigType\"},{\"enum\":[{\"name\":\"All\"},{\"name\":\"Cellular\"},{\"name\":\"Ethernet\"},{\"name\":\"Tether\"},{\"name\":\"VPN\"},{\"name\":\"Wireless\"},{\"name\":\"WiFi\"},{\"name\":\"WiMAX\"}],\"type\":\"string\",\"id\":\"networkingPrivate.NetworkType\"},{\"enum\":[{\"name\":\"Direct\"},{\"name\":\"Manual\"},{\"name\":\"PAC\"},{\"name\":\"WPAD\"}],\"type\":\"string\",\"id\":\"networkingPrivate.ProxySettingsType\"},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedBoolean\",\"properties\":{\"Active\":{\"optional\":true,\"name\":\"Active\",\"type\":\"boolean\"},\"Effective\":{\"optional\":true,\"name\":\"Effective\",\"type\":\"string\"},\"UserPolicy\":{\"optional\":true,\"name\":\"UserPolicy\",\"type\":\"boolean\"},\"DevicePolicy\":{\"optional\":true,\"name\":\"DevicePolicy\",\"type\":\"boolean\"},\"UserSetting\":{\"optional\":true,\"name\":\"UserSetting\",\"type\":\"boolean\"},\"SharedSetting\":{\"optional\":true,\"name\":\"SharedSetting\",\"type\":\"boolean\"},\"UserEditable\":{\"optional\":true,\"name\":\"UserEditable\",\"type\":\"boolean\"},\"DeviceEditable\":{\"optional\":true,\"name\":\"DeviceEditable\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedLong\",\"properties\":{\"Active\":{\"optional\":true,\"name\":\"Active\",\"type\":\"integer\"},\"Effective\":{\"optional\":true,\"name\":\"Effective\",\"type\":\"string\"},\"UserPolicy\":{\"optional\":true,\"name\":\"UserPolicy\",\"type\":\"integer\"},\"DevicePolicy\":{\"optional\":true,\"name\":\"Devi" "cePolicy\",\"type\":\"integer\"},\"UserSetting\":{\"optional\":true,\"name\":\"UserSetting\",\"type\":\"integer\"},\"SharedSetting\":{\"optional\":true,\"name\":\"SharedSetting\",\"type\":\"integer\"},\"UserEditable\":{\"optional\":true,\"name\":\"UserEditable\",\"type\":\"boolean\"},\"DeviceEditable\":{\"optional\":true,\"name\":\"DeviceEditable\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedDOMString\",\"properties\":{\"Active\":{\"optional\":true,\"name\":\"Active\",\"type\":\"string\"},\"Effective\":{\"optional\":true,\"name\":\"Effective\",\"type\":\"string\"},\"UserPolicy\":{\"optional\":true,\"name\":\"UserPolicy\",\"type\":\"string\"},\"DevicePolicy\":{\"optional\":true,\"name\":\"DevicePolicy\",\"type\":\"string\"},\"UserSetting\":{\"optional\":true,\"name\":\"UserSetting\",\"type\":\"string\"},\"SharedSetting\":{\"optional\":true,\"name\":\"SharedSetting\",\"type\":\"string\"},\"UserEditable\":{\"optional\":true,\"name\":\"UserEditable\",\"type\":\"boolean\"},\"DeviceEditable\":{\"optional\":true,\"name\":\"DeviceEditable\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedDOMStringList\",\"properties\":{\"Active\":{\"optional\":true,\"name\":\"Active\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"Effective\":{\"optional\":true,\"name\":\"Effective\",\"type\":\"string\"},\"UserPolicy\":{\"optional\":true,\"name\":\"UserPolicy\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"DevicePolicy\":{\"optional\":true,\"name\":\"DevicePolicy\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"UserSetting\":{\"optional\":true,\"name\":\"UserSetting\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"SharedSetting\":{\"optional\":true,\"name\":\"SharedSetting\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"UserEditable\":{\"optional\":true,\"name\":\"UserEditable\",\"type\":\"boolean\"},\"DeviceEditable\":{\"optional\":true,\"name\":\"DeviceEditable\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedIPConfigType\",\"properties\":{\"Active\":{\"optional\":true,\"name\":\"Active\",\"$ref\":\"networkingPrivate.IPConfigType\"},\"Effective\":{\"optional\":true,\"name\":\"Effective\",\"type\":\"string\"},\"UserPolicy\":{\"optional\":true,\"name\":\"UserPolicy\",\"$ref\":\"networkingPrivate.IPConfigType\"},\"DevicePolicy\":{\"optional\":true,\"name\":\"DevicePolicy\",\"$ref\":\"networkingPrivate.IPConfigType\"},\"UserSetting\":{\"optional\":true,\"name\":\"UserSetting\",\"$ref\":\"networkingPrivate.IPConfigType\"},\"SharedSetting\":{\"optional\":true,\"name\":\"SharedSetting\",\"$ref\":\"networkingPrivate.IPConfigType\"},\"UserEditable\":{\"optional\":true,\"name\":\"UserEditable\",\"type\":\"boolean\"},\"DeviceEditable\":{\"optional\":true,\"name\":\"DeviceEditable\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedProxySettingsType\",\"properties\":{\"Active\":{\"optional\":true,\"name\":\"Active\",\"$ref\":\"networkingPrivate.ProxySettingsType\"},\"Effective\":{\"optional\":true,\"name\":\"Effective\",\"type\":\"string\"},\"UserPolicy\":{\"optional\":true,\"name\":\"UserPolicy\",\"$ref\":\"networkingPrivate.ProxySettingsType\"},\"DevicePolicy\":{\"optional\":true,\"name\":\"DevicePolicy\",\"$ref\":\"networkingPrivate.ProxySettingsType\"},\"UserSetting\":{\"optional\":true,\"name\":\"UserSetting\",\"$ref\":\"networkingPrivate.ProxySettingsType\"},\"SharedSetting\":{\"optional\":true,\"name\":\"SharedSetting\",\"$ref\":\"networkingPrivate.ProxySettingsType\"},\"UserEditable\":{\"optional\":true,\"name\":\"UserEditable\",\"type\":\"boolean\"},\"DeviceEditable\":{\"optional\":true,\"name\":\"DeviceEditable\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.APNProperties\",\"properties\":{\"AccessPointName\":{\"name\":\"AccessPointName\",\"type\":\"string\"},\"Language\":{\"optional\":true,\"name\":\"Language\",\"type\":\"string\"},\"LocalizedName\":{\"optional\":true,\"name\":\"LocalizedName\",\"type\":\"string\"},\"Name\":{\"optional\":true,\"name\":\"Name\",\"type\":\"string\"},\"Password\":{\"optional\":true,\"name\":\"Password\",\"type\":\"string\"},\"Username\":{\"optional\":true,\"name\":\"Username\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedAPNProperties\",\"properties\":{\"AccessPointName\":{\"name\":\"AccessPointName\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Language\":{\"optional\":true,\"name\":\"Language\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"LocalizedName\":{\"optional\":true,\"name\":\"LocalizedName\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Name\":{\"optional\":true,\"name\":\"Name\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Password\":{\"optional\":true,\"name\":\"Password\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Username\":{\"optional\":true,\"name\":\"Username\",\"$ref\":\"networkingPrivate.ManagedDOMString\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedAPNList\",\"properties\":{\"Active\":{\"optional\":true,\"name\":\"Active\",\"type\":\"array\",\"items\":{\"$ref\":\"networkingPrivate.APNProperties\"}},\"Effective\":{\"optional\":true,\"name\":\"Effective\",\"type\":\"string\"},\"UserPolicy\":{\"optional\":true,\"name\":\"UserPolicy\",\"type\":\"array\",\"items\":{\"$ref\":\"networkingPrivate.APNProperties\"}},\"DevicePolicy\":{\"optional\":true,\"name\":\"DevicePolicy\",\"type\":\"array\",\"items\":{\"$ref\":\"networkingPrivate.APNProperties\"}},\"UserSetting\":{\"optional\":true,\"name\":\"UserSetting\",\"type\":\"array\",\"items\":{\"$ref\":\"networkingPrivate.APNProperties\"}},\"SharedSetting\":{\"optional\":true,\"name\":\"SharedSetting\",\"type\":\"array\",\"items\":{\"$ref\":\"networkingPrivate.APNProperties\"}},\"UserEditable\":{\"optional\":true,\"name\":\"UserEditable\",\"type\":\"boolean\"},\"DeviceEditable\":{\"optional\":true,\"name\":\"DeviceEditable\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.CellularProviderProperties\",\"properties\":{\"Name\":{\"name\":\"Name\",\"type\":\"string\"},\"Code\":{\"name\":\"Code\",\"type\":\"string\"},\"Country\":{\"optional\":true,\"name\":\"Country\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.CellularSimState\",\"properties\":{\"requirePin\":{\"name\":\"requirePin\",\"type\":\"boolean\"},\"currentPin\":{\"name\":\"currentPin\",\"type\":\"string\"},\"newPin\":{\"optional\":true,\"name\":\"newPin\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.IssuerSubjectPattern\",\"properties\":{\"CommonName\":{\"optional\":true,\"name\":\"CommonName\",\"type\":\"string\"},\"Locality\":{\"optional\":true,\"name\":\"Locality\",\"type\":\"string\"},\"Organization\":{\"optional\":true,\"name\":\"Organization\",\"type\":\"string\"},\"OrganizationalUnit\":{\"optional\":true,\"name\":\"OrganizationalUnit\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedIssuerSubjectPattern\",\"properties\":{\"CommonName\":{\"optional\":true,\"name\":\"CommonName\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Locality\":{\"optional\":true,\"name\":\"Locality\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Organization\":{\"optional\":true,\"name\":\"Organization\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"OrganizationalUnit\":{\"optional\":true,\"name\":\"OrganizationalUnit\",\"$ref\":\"networkingPrivate.ManagedDOMString\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.CertificatePattern\",\"properties\":{\"EnrollmentURI\":{\"optional\":true,\"name\":\"EnrollmentURI\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"Issuer\":{\"optional\":true,\"name\":\"Issuer\",\"$ref\":\"networkingPrivate.IssuerSubjectPattern\"},\"IssuerCARef\":{\"optional\":true,\"name\":\"IssuerCARef\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"Subject\":{\"optional\":true,\"name\":\"Subject\",\"$ref\":\"networkingPrivate.IssuerSubjectPattern\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedCertificatePattern\",\"properties\":{\"EnrollmentURI\":{\"optional\":true,\"name\":\"EnrollmentURI\",\"$ref\":\"networkingPrivate.ManagedDOMStringList\"},\"Issuer\":{\"optional\":true,\"name\":\"Issuer\",\"$ref\":\"networkingPrivate.ManagedIssuerSubjectPattern\"},\"IssuerCARef\":{\"optional\":true,\"name\":\"IssuerCARef\",\"$ref\":\"networkingPrivate.ManagedDOMStringList\"},\"Subject\":{\"optional\":true,\"name\":\"Subject\",\"$ref\":\"networkingPrivate.ManagedIssuerSubjectPattern\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.EAPProperties\",\"properties\":{\"AnonymousIdentity\":{\"optional\":true,\"name\":\"AnonymousIdentity\",\"type\":\"string\"},\"ClientCertPattern\":{\"optional\":true,\"name\":\"ClientCertPattern\",\"$ref\":\"networkingPrivate.CertificatePattern\"},\"ClientCertRef\":{\"optional\":true,\"name\":\"ClientCertRef\",\"type\":\"string\"},\"ClientCertType\":{\"optional\":true,\"name\":\"ClientCertType\",\"type\":\"string\"},\"Identity\":{\"optional\":true,\"name\":\"Identity\",\"type\":\"string\"},\"Inner\":{\"optional\":true,\"name\":\"Inner\",\"type\":\"string\"},\"Outer\":{\"optional\":true,\"name\":\"Outer\",\"type\":\"string\"},\"Password\":{\"optional\":true,\"name\":\"Password\",\"type\":\"string\"},\"SaveCredentials\":{\"optional\":true,\"name\":\"SaveCredentials\",\"type\":\"boolean\"},\"ServerCAPEMs\":{\"optional\":true," "\"name\":\"ServerCAPEMs\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"ServerCARefs\":{\"optional\":true,\"name\":\"ServerCARefs\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"UseProactiveKeyCaching\":{\"optional\":true,\"name\":\"UseProactiveKeyCaching\",\"type\":\"boolean\"},\"UseSystemCAs\":{\"optional\":true,\"name\":\"UseSystemCAs\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedEAPProperties\",\"properties\":{\"AnonymousIdentity\":{\"optional\":true,\"name\":\"AnonymousIdentity\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"ClientCertPattern\":{\"optional\":true,\"name\":\"ClientCertPattern\",\"$ref\":\"networkingPrivate.ManagedCertificatePattern\"},\"ClientCertRef\":{\"optional\":true,\"name\":\"ClientCertRef\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"ClientCertType\":{\"optional\":true,\"name\":\"ClientCertType\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Identity\":{\"optional\":true,\"name\":\"Identity\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Inner\":{\"optional\":true,\"name\":\"Inner\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Outer\":{\"optional\":true,\"name\":\"Outer\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Password\":{\"optional\":true,\"name\":\"Password\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"SaveCredentials\":{\"optional\":true,\"name\":\"SaveCredentials\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"ServerCAPEMs\":{\"optional\":true,\"name\":\"ServerCAPEMs\",\"$ref\":\"networkingPrivate.ManagedDOMStringList\"},\"ServerCARefs\":{\"optional\":true,\"name\":\"ServerCARefs\",\"$ref\":\"networkingPrivate.ManagedDOMStringList\"},\"UseProactiveKeyCaching\":{\"optional\":true,\"name\":\"UseProactiveKeyCaching\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"UseSystemCAs\":{\"optional\":true,\"name\":\"UseSystemCAs\",\"$ref\":\"networkingPrivate.ManagedBoolean\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.FoundNetworkProperties\",\"properties\":{\"Status\":{\"name\":\"Status\",\"type\":\"string\"},\"NetworkId\":{\"name\":\"NetworkId\",\"type\":\"string\"},\"Technology\":{\"name\":\"Technology\",\"type\":\"string\"},\"ShortName\":{\"optional\":true,\"name\":\"ShortName\",\"type\":\"string\"},\"LongName\":{\"optional\":true,\"name\":\"LongName\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.IPConfigProperties\",\"properties\":{\"Gateway\":{\"optional\":true,\"name\":\"Gateway\",\"type\":\"string\"},\"IPAddress\":{\"optional\":true,\"name\":\"IPAddress\",\"type\":\"string\"},\"NameServers\":{\"optional\":true,\"name\":\"NameServers\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"RoutingPrefix\":{\"optional\":true,\"name\":\"RoutingPrefix\",\"type\":\"integer\"},\"Type\":{\"optional\":true,\"name\":\"Type\",\"type\":\"string\"},\"WebProxyAutoDiscoveryUrl\":{\"optional\":true,\"name\":\"WebProxyAutoDiscoveryUrl\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedIPConfigProperties\",\"properties\":{\"Gateway\":{\"optional\":true,\"name\":\"Gateway\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"IPAddress\":{\"optional\":true,\"name\":\"IPAddress\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"NameServers\":{\"optional\":true,\"name\":\"NameServers\",\"$ref\":\"networkingPrivate.ManagedDOMStringList\"},\"RoutingPrefix\":{\"optional\":true,\"name\":\"RoutingPrefix\",\"$ref\":\"networkingPrivate.ManagedLong\"},\"Type\":{\"optional\":true,\"name\":\"Type\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"WebProxyAutoDiscoveryUrl\":{\"optional\":true,\"name\":\"WebProxyAutoDiscoveryUrl\",\"$ref\":\"networkingPrivate.ManagedDOMString\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.XAUTHProperties\",\"properties\":{\"Password\":{\"optional\":true,\"name\":\"Password\",\"type\":\"string\"},\"SaveCredentials\":{\"optional\":true,\"name\":\"SaveCredentials\",\"type\":\"boolean\"},\"Username\":{\"optional\":true,\"name\":\"Username\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedXAUTHProperties\",\"properties\":{\"Password\":{\"optional\":true,\"name\":\"Password\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"SaveCredentials\":{\"optional\":true,\"name\":\"SaveCredentials\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"Username\":{\"optional\":true,\"name\":\"Username\",\"$ref\":\"networkingPrivate.ManagedDOMString\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.IPSecProperties\",\"properties\":{\"AuthenticationType\":{\"name\":\"AuthenticationType\",\"type\":\"string\"},\"ClientCertPattern\":{\"optional\":true,\"name\":\"ClientCertPattern\",\"$ref\":\"networkingPrivate.CertificatePattern\"},\"ClientCertRef\":{\"optional\":true,\"name\":\"ClientCertRef\",\"type\":\"string\"},\"ClientCertType\":{\"optional\":true,\"name\":\"ClientCertType\",\"type\":\"string\"},\"EAP\":{\"optional\":true,\"name\":\"EAP\",\"$ref\":\"networkingPrivate.EAPProperties\"},\"Group\":{\"optional\":true,\"name\":\"Group\",\"type\":\"string\"},\"IKEVersion\":{\"optional\":true,\"name\":\"IKEVersion\",\"type\":\"integer\"},\"PSK\":{\"optional\":true,\"name\":\"PSK\",\"type\":\"string\"},\"SaveCredentials\":{\"optional\":true,\"name\":\"SaveCredentials\",\"type\":\"boolean\"},\"ServerCARefs\":{\"optional\":true,\"name\":\"ServerCARefs\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"XAUTH\":{\"optional\":true,\"name\":\"XAUTH\",\"$ref\":\"networkingPrivate.XAUTHProperties\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedIPSecProperties\",\"properties\":{\"AuthenticationType\":{\"name\":\"AuthenticationType\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"ClientCertPattern\":{\"optional\":true,\"name\":\"ClientCertPattern\",\"$ref\":\"networkingPrivate.ManagedCertificatePattern\"},\"ClientCertRef\":{\"optional\":true,\"name\":\"ClientCertRef\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"ClientCertType\":{\"optional\":true,\"name\":\"ClientCertType\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"EAP\":{\"optional\":true,\"name\":\"EAP\",\"$ref\":\"networkingPrivate.ManagedEAPProperties\"},\"Group\":{\"optional\":true,\"name\":\"Group\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"IKEVersion\":{\"optional\":true,\"name\":\"IKEVersion\",\"$ref\":\"networkingPrivate.ManagedLong\"},\"PSK\":{\"optional\":true,\"name\":\"PSK\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"SaveCredentials\":{\"optional\":true,\"name\":\"SaveCredentials\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"ServerCARefs\":{\"optional\":true,\"name\":\"ServerCARefs\",\"$ref\":\"networkingPrivate.ManagedDOMStringList\"},\"XAUTH\":{\"optional\":true,\"name\":\"XAUTH\",\"$ref\":\"networkingPrivate.ManagedXAUTHProperties\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.L2TPProperties\",\"properties\":{\"LcpEchoDisabled\":{\"optional\":true,\"name\":\"LcpEchoDisabled\",\"type\":\"boolean\"},\"Password\":{\"optional\":true,\"name\":\"Password\",\"type\":\"string\"},\"SaveCredentials\":{\"optional\":true,\"name\":\"SaveCredentials\",\"type\":\"boolean\"},\"Username\":{\"optional\":true,\"name\":\"Username\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedL2TPProperties\",\"properties\":{\"LcpEchoDisabled\":{\"optional\":true,\"name\":\"LcpEchoDisabled\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"Password\":{\"optional\":true,\"name\":\"Password\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"SaveCredentials\":{\"optional\":true,\"name\":\"SaveCredentials\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"Username\":{\"optional\":true,\"name\":\"Username\",\"$ref\":\"networkingPrivate.ManagedDOMString\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.PaymentPortal\",\"properties\":{\"Method\":{\"name\":\"Method\",\"type\":\"string\"},\"PostData\":{\"optional\":true,\"name\":\"PostData\",\"type\":\"string\"},\"Url\":{\"optional\":true,\"name\":\"Url\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ProxyLocation\",\"properties\":{\"Host\":{\"name\":\"Host\",\"type\":\"string\"},\"Port\":{\"name\":\"Port\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedProxyLocation\",\"properties\":{\"Host\":{\"name\":\"Host\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Port\":{\"name\":\"Port\",\"$ref\":\"networkingPrivate.ManagedLong\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManualProxySettings\",\"properties\":{\"HTTPProxy\":{\"optional\":true,\"name\":\"HTTPProxy\",\"$ref\":\"networkingPrivate.ProxyLocation\"},\"SecureHTTPProxy\":{\"optional\":true,\"name\":\"SecureHTTPProxy\",\"$ref\":\"networkingPrivate.ProxyLocation\"},\"FTPProxy\":{\"optional\":true,\"name\":\"FTPProxy\",\"$ref\":\"networkingPrivate.ProxyLocation\"},\"SOCKS\":{\"optional\":true,\"name\":\"SOCKS\",\"$ref\":\"networkingPrivate.ProxyLocation\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedManualProxySettings\",\"properties\":{\"HTTPProxy\":{\"optional\":true,\"name\":\"HTTPProxy\",\"$ref\":\"networkingPrivate.ManagedProxyLocation\"},\"SecureHTTPProxy\":{\"optional\":true,\"name\":\"SecureHTTPProxy\",\"$ref\":\"networkingPrivate.ManagedProxyLocation\"},\"FTPProxy\":{\"optional\":true,\"name\":\"FTPProxy\",\"$ref\":\"networkingPrivate.ManagedProxyLocation\"},\"SOCKS\":" "{\"optional\":true,\"name\":\"SOCKS\",\"$ref\":\"networkingPrivate.ManagedProxyLocation\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ProxySettings\",\"properties\":{\"Type\":{\"name\":\"Type\",\"$ref\":\"networkingPrivate.ProxySettingsType\"},\"Manual\":{\"optional\":true,\"name\":\"Manual\",\"$ref\":\"networkingPrivate.ManualProxySettings\"},\"ExcludeDomains\":{\"optional\":true,\"name\":\"ExcludeDomains\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"PAC\":{\"optional\":true,\"name\":\"PAC\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedProxySettings\",\"properties\":{\"Type\":{\"name\":\"Type\",\"$ref\":\"networkingPrivate.ManagedProxySettingsType\"},\"Manual\":{\"optional\":true,\"name\":\"Manual\",\"$ref\":\"networkingPrivate.ManagedManualProxySettings\"},\"ExcludeDomains\":{\"optional\":true,\"name\":\"ExcludeDomains\",\"$ref\":\"networkingPrivate.ManagedDOMStringList\"},\"PAC\":{\"optional\":true,\"name\":\"PAC\",\"$ref\":\"networkingPrivate.ManagedDOMString\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.VerifyX509\",\"properties\":{\"Name\":{\"optional\":true,\"name\":\"Name\",\"type\":\"string\"},\"Type\":{\"optional\":true,\"name\":\"Type\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedVerifyX509\",\"properties\":{\"Name\":{\"optional\":true,\"name\":\"Name\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Type\":{\"optional\":true,\"name\":\"Type\",\"$ref\":\"networkingPrivate.ManagedDOMString\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.OpenVPNProperties\",\"properties\":{\"Auth\":{\"optional\":true,\"name\":\"Auth\",\"type\":\"string\"},\"AuthRetry\":{\"optional\":true,\"name\":\"AuthRetry\",\"type\":\"string\"},\"AuthNoCache\":{\"optional\":true,\"name\":\"AuthNoCache\",\"type\":\"boolean\"},\"Cipher\":{\"optional\":true,\"name\":\"Cipher\",\"type\":\"string\"},\"ClientCertRef\":{\"optional\":true,\"name\":\"ClientCertRef\",\"type\":\"string\"},\"ClientCertPattern\":{\"optional\":true,\"name\":\"ClientCertPattern\",\"$ref\":\"networkingPrivate.CertificatePattern\"},\"ClientCertType\":{\"optional\":true,\"name\":\"ClientCertType\",\"type\":\"string\"},\"CompLZO\":{\"optional\":true,\"name\":\"CompLZO\",\"type\":\"string\"},\"CompNoAdapt\":{\"optional\":true,\"name\":\"CompNoAdapt\",\"type\":\"boolean\"},\"IgnoreDefaultRoute\":{\"optional\":true,\"name\":\"IgnoreDefaultRoute\",\"type\":\"boolean\"},\"KeyDirection\":{\"optional\":true,\"name\":\"KeyDirection\",\"type\":\"string\"},\"NsCertType\":{\"optional\":true,\"name\":\"NsCertType\",\"type\":\"string\"},\"OTP\":{\"optional\":true,\"name\":\"OTP\",\"type\":\"string\"},\"Password\":{\"optional\":true,\"name\":\"Password\",\"type\":\"string\"},\"Port\":{\"optional\":true,\"name\":\"Port\",\"type\":\"integer\"},\"Proto\":{\"optional\":true,\"name\":\"Proto\",\"type\":\"string\"},\"PushPeerInfo\":{\"optional\":true,\"name\":\"PushPeerInfo\",\"type\":\"string\"},\"RemoteCertEKU\":{\"optional\":true,\"name\":\"RemoteCertEKU\",\"type\":\"string\"},\"RemoteCertKU\":{\"optional\":true,\"name\":\"RemoteCertKU\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"RemoteCertTLS\":{\"optional\":true,\"name\":\"RemoteCertTLS\",\"type\":\"string\"},\"RenegSec\":{\"optional\":true,\"name\":\"RenegSec\",\"type\":\"integer\"},\"SaveCredentials\":{\"optional\":true,\"name\":\"SaveCredentials\",\"type\":\"boolean\"},\"ServerCARefs\":{\"optional\":true,\"name\":\"ServerCARefs\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"ServerCertRef\":{\"optional\":true,\"name\":\"ServerCertRef\",\"type\":\"string\"},\"ServerPollTimeout\":{\"optional\":true,\"name\":\"ServerPollTimeout\",\"type\":\"integer\"},\"Shaper\":{\"optional\":true,\"name\":\"Shaper\",\"type\":\"integer\"},\"StaticChallenge\":{\"optional\":true,\"name\":\"StaticChallenge\",\"type\":\"string\"},\"TLSAuthContents\":{\"optional\":true,\"name\":\"TLSAuthContents\",\"type\":\"string\"},\"TLSRemote\":{\"optional\":true,\"name\":\"TLSRemote\",\"type\":\"string\"},\"UserAuthenticationType\":{\"optional\":true,\"name\":\"UserAuthenticationType\",\"type\":\"string\"},\"Username\":{\"optional\":true,\"name\":\"Username\",\"type\":\"string\"},\"Verb\":{\"optional\":true,\"name\":\"Verb\",\"type\":\"string\"},\"VerifyHash\":{\"optional\":true,\"name\":\"VerifyHash\",\"type\":\"string\"},\"VerifyX509\":{\"optional\":true,\"name\":\"VerifyX509\",\"$ref\":\"networkingPrivate.VerifyX509\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedOpenVPNProperties\",\"properties\":{\"Auth\":{\"optional\":true,\"name\":\"Auth\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"AuthRetry\":{\"optional\":true,\"name\":\"AuthRetry\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"AuthNoCache\":{\"optional\":true,\"name\":\"AuthNoCache\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"Cipher\":{\"optional\":true,\"name\":\"Cipher\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"ClientCertRef\":{\"optional\":true,\"name\":\"ClientCertRef\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"ClientCertPattern\":{\"optional\":true,\"name\":\"ClientCertPattern\",\"$ref\":\"networkingPrivate.ManagedCertificatePattern\"},\"ClientCertType\":{\"optional\":true,\"name\":\"ClientCertType\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"CompLZO\":{\"optional\":true,\"name\":\"CompLZO\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"CompNoAdapt\":{\"optional\":true,\"name\":\"CompNoAdapt\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"IgnoreDefaultRoute\":{\"optional\":true,\"name\":\"IgnoreDefaultRoute\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"KeyDirection\":{\"optional\":true,\"name\":\"KeyDirection\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"NsCertType\":{\"optional\":true,\"name\":\"NsCertType\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"OTP\":{\"optional\":true,\"name\":\"OTP\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Password\":{\"optional\":true,\"name\":\"Password\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Port\":{\"optional\":true,\"name\":\"Port\",\"$ref\":\"networkingPrivate.ManagedLong\"},\"Proto\":{\"optional\":true,\"name\":\"Proto\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"PushPeerInfo\":{\"optional\":true,\"name\":\"PushPeerInfo\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"RemoteCertEKU\":{\"optional\":true,\"name\":\"RemoteCertEKU\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"RemoteCertKU\":{\"optional\":true,\"name\":\"RemoteCertKU\",\"$ref\":\"networkingPrivate.ManagedDOMStringList\"},\"RemoteCertTLS\":{\"optional\":true,\"name\":\"RemoteCertTLS\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"RenegSec\":{\"optional\":true,\"name\":\"RenegSec\",\"$ref\":\"networkingPrivate.ManagedLong\"},\"SaveCredentials\":{\"optional\":true,\"name\":\"SaveCredentials\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"ServerCARefs\":{\"optional\":true,\"name\":\"ServerCARefs\",\"$ref\":\"networkingPrivate.ManagedDOMStringList\"},\"ServerCertRef\":{\"optional\":true,\"name\":\"ServerCertRef\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"ServerPollTimeout\":{\"optional\":true,\"name\":\"ServerPollTimeout\",\"$ref\":\"networkingPrivate.ManagedLong\"},\"Shaper\":{\"optional\":true,\"name\":\"Shaper\",\"$ref\":\"networkingPrivate.ManagedLong\"},\"StaticChallenge\":{\"optional\":true,\"name\":\"StaticChallenge\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"TLSAuthContents\":{\"optional\":true,\"name\":\"TLSAuthContents\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"TLSRemote\":{\"optional\":true,\"name\":\"TLSRemote\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"UserAuthenticationType\":{\"optional\":true,\"name\":\"UserAuthenticationType\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Username\":{\"optional\":true,\"name\":\"Username\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Verb\":{\"optional\":true,\"name\":\"Verb\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"VerifyHash\":{\"optional\":true,\"name\":\"VerifyHash\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"VerifyX509\":{\"optional\":true,\"name\":\"VerifyX509\",\"$ref\":\"networkingPrivate.ManagedVerifyX509\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.SIMLockStatus\",\"properties\":{\"LockType\":{\"name\":\"LockType\",\"type\":\"string\"},\"LockEnabled\":{\"name\":\"LockEnabled\",\"type\":\"boolean\"},\"RetriesLeft\":{\"optional\":true,\"name\":\"RetriesLeft\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ThirdPartyVPNProperties\",\"properties\":{\"ExtensionID\":{\"name\":\"ExtensionID\",\"type\":\"string\"},\"ProviderName\":{\"optional\":true,\"name\":\"ProviderName\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedThirdPartyVPNProperties\",\"properties\":{\"ExtensionID\":{\"name\":\"ExtensionID\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"ProviderName\":{\"optional\":true,\"name\":\"ProviderName\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.CellularProperties\",\"properties\":{\"AutoConnect\":{\"optional\":true,\"name\":\"AutoConnect\",\"type\":\"boolean\"},\"APN\":{\"optional\":true,\"name\":\"APN\",\"$ref\":\"networkingPrivate.APNProperties\"},\"APNList\":{\"optional\":true,\"name\":\"APNList\",\"type\":\"array\",\"items\":{\"$ref\":\"networ" "kingPrivate.APNProperties\"}},\"ActivationType\":{\"optional\":true,\"name\":\"ActivationType\",\"type\":\"string\"},\"ActivationState\":{\"optional\":true,\"name\":\"ActivationState\",\"$ref\":\"networkingPrivate.ActivationStateType\"},\"AllowRoaming\":{\"optional\":true,\"name\":\"AllowRoaming\",\"type\":\"boolean\"},\"Carrier\":{\"optional\":true,\"name\":\"Carrier\",\"type\":\"string\"},\"ESN\":{\"optional\":true,\"name\":\"ESN\",\"type\":\"string\"},\"Family\":{\"optional\":true,\"name\":\"Family\",\"type\":\"string\"},\"FirmwareRevision\":{\"optional\":true,\"name\":\"FirmwareRevision\",\"type\":\"string\"},\"FoundNetworks\":{\"optional\":true,\"name\":\"FoundNetworks\",\"type\":\"array\",\"items\":{\"$ref\":\"networkingPrivate.FoundNetworkProperties\"}},\"HardwareRevision\":{\"optional\":true,\"name\":\"HardwareRevision\",\"type\":\"string\"},\"HomeProvider\":{\"optional\":true,\"name\":\"HomeProvider\",\"$ref\":\"networkingPrivate.CellularProviderProperties\"},\"ICCID\":{\"optional\":true,\"name\":\"ICCID\",\"type\":\"string\"},\"IMEI\":{\"optional\":true,\"name\":\"IMEI\",\"type\":\"string\"},\"LastGoodAPN\":{\"optional\":true,\"name\":\"LastGoodAPN\",\"$ref\":\"networkingPrivate.APNProperties\"},\"Manufacturer\":{\"optional\":true,\"name\":\"Manufacturer\",\"type\":\"string\"},\"MDN\":{\"optional\":true,\"name\":\"MDN\",\"type\":\"string\"},\"MEID\":{\"optional\":true,\"name\":\"MEID\",\"type\":\"string\"},\"MIN\":{\"optional\":true,\"name\":\"MIN\",\"type\":\"string\"},\"ModelID\":{\"optional\":true,\"name\":\"ModelID\",\"type\":\"string\"},\"NetworkTechnology\":{\"optional\":true,\"name\":\"NetworkTechnology\",\"type\":\"string\"},\"PaymentPortal\":{\"optional\":true,\"name\":\"PaymentPortal\",\"$ref\":\"networkingPrivate.PaymentPortal\"},\"PRLVersion\":{\"optional\":true,\"name\":\"PRLVersion\",\"type\":\"integer\"},\"RoamingState\":{\"optional\":true,\"name\":\"RoamingState\",\"type\":\"string\"},\"ServingOperator\":{\"optional\":true,\"name\":\"ServingOperator\",\"$ref\":\"networkingPrivate.CellularProviderProperties\"},\"SIMLockStatus\":{\"optional\":true,\"name\":\"SIMLockStatus\",\"$ref\":\"networkingPrivate.SIMLockStatus\"},\"SIMPresent\":{\"optional\":true,\"name\":\"SIMPresent\",\"type\":\"boolean\"},\"SignalStrength\":{\"optional\":true,\"name\":\"SignalStrength\",\"type\":\"integer\"},\"SupportNetworkScan\":{\"optional\":true,\"name\":\"SupportNetworkScan\",\"type\":\"boolean\"},\"SupportedCarriers\":{\"optional\":true,\"name\":\"SupportedCarriers\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedCellularProperties\",\"properties\":{\"AutoConnect\":{\"optional\":true,\"name\":\"AutoConnect\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"APN\":{\"optional\":true,\"name\":\"APN\",\"$ref\":\"networkingPrivate.ManagedAPNProperties\"},\"APNList\":{\"optional\":true,\"name\":\"APNList\",\"$ref\":\"networkingPrivate.ManagedAPNList\"},\"ActivationType\":{\"optional\":true,\"name\":\"ActivationType\",\"type\":\"string\"},\"ActivationState\":{\"optional\":true,\"name\":\"ActivationState\",\"$ref\":\"networkingPrivate.ActivationStateType\"},\"AllowRoaming\":{\"optional\":true,\"name\":\"AllowRoaming\",\"type\":\"boolean\"},\"Carrier\":{\"optional\":true,\"name\":\"Carrier\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"ESN\":{\"optional\":true,\"name\":\"ESN\",\"type\":\"string\"},\"Family\":{\"optional\":true,\"name\":\"Family\",\"type\":\"string\"},\"FirmwareRevision\":{\"optional\":true,\"name\":\"FirmwareRevision\",\"type\":\"string\"},\"FoundNetworks\":{\"optional\":true,\"name\":\"FoundNetworks\",\"type\":\"array\",\"items\":{\"$ref\":\"networkingPrivate.FoundNetworkProperties\"}},\"HardwareRevision\":{\"optional\":true,\"name\":\"HardwareRevision\",\"type\":\"string\"},\"HomeProvider\":{\"optional\":true,\"name\":\"HomeProvider\",\"type\":\"array\",\"items\":{\"$ref\":\"networkingPrivate.CellularProviderProperties\"}},\"ICCID\":{\"optional\":true,\"name\":\"ICCID\",\"type\":\"string\"},\"IMEI\":{\"optional\":true,\"name\":\"IMEI\",\"type\":\"string\"},\"LastGoodAPN\":{\"optional\":true,\"name\":\"LastGoodAPN\",\"$ref\":\"networkingPrivate.APNProperties\"},\"Manufacturer\":{\"optional\":true,\"name\":\"Manufacturer\",\"type\":\"string\"},\"MDN\":{\"optional\":true,\"name\":\"MDN\",\"type\":\"string\"},\"MEID\":{\"optional\":true,\"name\":\"MEID\",\"type\":\"string\"},\"MIN\":{\"optional\":true,\"name\":\"MIN\",\"type\":\"string\"},\"ModelID\":{\"optional\":true,\"name\":\"ModelID\",\"type\":\"string\"},\"NetworkTechnology\":{\"optional\":true,\"name\":\"NetworkTechnology\",\"type\":\"string\"},\"PaymentPortal\":{\"optional\":true,\"name\":\"PaymentPortal\",\"$ref\":\"networkingPrivate.PaymentPortal\"},\"PRLVersion\":{\"optional\":true,\"name\":\"PRLVersion\",\"type\":\"integer\"},\"RoamingState\":{\"optional\":true,\"name\":\"RoamingState\",\"type\":\"string\"},\"ServingOperator\":{\"optional\":true,\"name\":\"ServingOperator\",\"$ref\":\"networkingPrivate.CellularProviderProperties\"},\"SIMLockStatus\":{\"optional\":true,\"name\":\"SIMLockStatus\",\"$ref\":\"networkingPrivate.SIMLockStatus\"},\"SIMPresent\":{\"optional\":true,\"name\":\"SIMPresent\",\"type\":\"boolean\"},\"SignalStrength\":{\"optional\":true,\"name\":\"SignalStrength\",\"type\":\"integer\"},\"SupportNetworkScan\":{\"optional\":true,\"name\":\"SupportNetworkScan\",\"type\":\"boolean\"},\"SupportedCarriers\":{\"optional\":true,\"name\":\"SupportedCarriers\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},{\"type\":\"object\",\"id\":\"networkingPrivate.CellularStateProperties\",\"properties\":{\"ActivationState\":{\"optional\":true,\"name\":\"ActivationState\",\"$ref\":\"networkingPrivate.ActivationStateType\"},\"NetworkTechnology\":{\"optional\":true,\"name\":\"NetworkTechnology\",\"type\":\"string\"},\"RoamingState\":{\"optional\":true,\"name\":\"RoamingState\",\"type\":\"string\"},\"SIMPresent\":{\"optional\":true,\"name\":\"SIMPresent\",\"type\":\"boolean\"},\"SignalStrength\":{\"optional\":true,\"name\":\"SignalStrength\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.EthernetProperties\",\"properties\":{\"AutoConnect\":{\"optional\":true,\"name\":\"AutoConnect\",\"type\":\"boolean\"},\"Authentication\":{\"optional\":true,\"name\":\"Authentication\",\"type\":\"string\"},\"EAP\":{\"optional\":true,\"name\":\"EAP\",\"$ref\":\"networkingPrivate.EAPProperties\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedEthernetProperties\",\"properties\":{\"AutoConnect\":{\"optional\":true,\"name\":\"AutoConnect\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"Authentication\":{\"optional\":true,\"name\":\"Authentication\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"EAP\":{\"optional\":true,\"name\":\"EAP\",\"$ref\":\"networkingPrivate.ManagedEAPProperties\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.EthernetStateProperties\",\"properties\":{\"Authentication\":{\"name\":\"Authentication\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.TetherProperties\",\"properties\":{\"BatteryPercentage\":{\"optional\":true,\"name\":\"BatteryPercentage\",\"type\":\"integer\"},\"Carrier\":{\"optional\":true,\"name\":\"Carrier\",\"type\":\"string\"},\"HasConnectedToHost\":{\"name\":\"HasConnectedToHost\",\"type\":\"boolean\"},\"SignalStrength\":{\"optional\":true,\"name\":\"SignalStrength\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.VPNProperties\",\"properties\":{\"AutoConnect\":{\"optional\":true,\"name\":\"AutoConnect\",\"type\":\"boolean\"},\"Host\":{\"optional\":true,\"name\":\"Host\",\"type\":\"string\"},\"IPsec\":{\"optional\":true,\"name\":\"IPsec\",\"$ref\":\"networkingPrivate.IPSecProperties\"},\"L2TP\":{\"optional\":true,\"name\":\"L2TP\",\"$ref\":\"networkingPrivate.L2TPProperties\"},\"OpenVPN\":{\"optional\":true,\"name\":\"OpenVPN\",\"$ref\":\"networkingPrivate.OpenVPNProperties\"},\"ThirdPartyVPN\":{\"optional\":true,\"name\":\"ThirdPartyVPN\",\"$ref\":\"networkingPrivate.ThirdPartyVPNProperties\"},\"Type\":{\"optional\":true,\"name\":\"Type\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedVPNProperties\",\"properties\":{\"AutoConnect\":{\"optional\":true,\"name\":\"AutoConnect\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"Host\":{\"optional\":true,\"name\":\"Host\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"IPsec\":{\"optional\":true,\"name\":\"IPsec\",\"$ref\":\"networkingPrivate.ManagedIPSecProperties\"},\"L2TP\":{\"optional\":true,\"name\":\"L2TP\",\"$ref\":\"networkingPrivate.ManagedL2TPProperties\"},\"OpenVPN\":{\"optional\":true,\"name\":\"OpenVPN\",\"$ref\":\"networkingPrivate.ManagedOpenVPNProperties\"},\"ThirdPartyVPN\":{\"optional\":true,\"name\":\"ThirdPartyVPN\",\"$ref\":\"networkingPrivate.ManagedThirdPartyVPNProperties\"},\"Type\":{\"name\":\"Type\",\"$ref\":\"networkingPrivate.ManagedDOMString\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.VPNStateProperties\",\"properties\":{\"Type\":{\"name\":\"Type\",\"type\":\"string\"},\"IPsec\":{\"optional\":true,\"name\":\"IPsec\",\"$ref\":\"networkingPrivate.IPSecProperties\"},\"ThirdPartyVPN\":{\"optional\":true,\"name\":\"ThirdPartyVPN\",\"$ref\":\"networkingPrivate.ThirdPartyVPNProperties\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.WiFiProperties\",\"properties\":{\"AllowGate" "wayARPPolling\":{\"optional\":true,\"name\":\"AllowGatewayARPPolling\",\"type\":\"boolean\"},\"AutoConnect\":{\"optional\":true,\"name\":\"AutoConnect\",\"type\":\"boolean\"},\"BSSID\":{\"optional\":true,\"name\":\"BSSID\",\"type\":\"string\"},\"EAP\":{\"optional\":true,\"name\":\"EAP\",\"$ref\":\"networkingPrivate.EAPProperties\"},\"Frequency\":{\"optional\":true,\"name\":\"Frequency\",\"type\":\"integer\"},\"FrequencyList\":{\"optional\":true,\"name\":\"FrequencyList\",\"type\":\"array\",\"items\":{\"type\":\"integer\"}},\"HexSSID\":{\"optional\":true,\"name\":\"HexSSID\",\"type\":\"string\"},\"HiddenSSID\":{\"optional\":true,\"name\":\"HiddenSSID\",\"type\":\"boolean\"},\"Passphrase\":{\"optional\":true,\"name\":\"Passphrase\",\"type\":\"string\"},\"RoamThreshold\":{\"optional\":true,\"name\":\"RoamThreshold\",\"type\":\"integer\"},\"SSID\":{\"optional\":true,\"name\":\"SSID\",\"type\":\"string\"},\"Security\":{\"optional\":true,\"name\":\"Security\",\"type\":\"string\"},\"SignalStrength\":{\"optional\":true,\"name\":\"SignalStrength\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedWiFiProperties\",\"properties\":{\"AllowGatewayARPPolling\":{\"optional\":true,\"name\":\"AllowGatewayARPPolling\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"AutoConnect\":{\"optional\":true,\"name\":\"AutoConnect\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"BSSID\":{\"optional\":true,\"name\":\"BSSID\",\"type\":\"string\"},\"EAP\":{\"optional\":true,\"name\":\"EAP\",\"$ref\":\"networkingPrivate.ManagedEAPProperties\"},\"Frequency\":{\"optional\":true,\"name\":\"Frequency\",\"type\":\"integer\"},\"FrequencyList\":{\"optional\":true,\"name\":\"FrequencyList\",\"type\":\"array\",\"items\":{\"type\":\"integer\"}},\"HexSSID\":{\"optional\":true,\"name\":\"HexSSID\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"HiddenSSID\":{\"optional\":true,\"name\":\"HiddenSSID\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"Passphrase\":{\"optional\":true,\"name\":\"Passphrase\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"RoamThreshold\":{\"optional\":true,\"name\":\"RoamThreshold\",\"$ref\":\"networkingPrivate.ManagedLong\"},\"SSID\":{\"optional\":true,\"name\":\"SSID\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"Security\":{\"name\":\"Security\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"SignalStrength\":{\"optional\":true,\"name\":\"SignalStrength\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.WiFiStateProperties\",\"properties\":{\"BSSID\":{\"optional\":true,\"name\":\"BSSID\",\"type\":\"string\"},\"Frequency\":{\"optional\":true,\"name\":\"Frequency\",\"type\":\"integer\"},\"Security\":{\"name\":\"Security\",\"type\":\"string\"},\"SignalStrength\":{\"optional\":true,\"name\":\"SignalStrength\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.WiMAXProperties\",\"properties\":{\"AutoConnect\":{\"optional\":true,\"name\":\"AutoConnect\",\"type\":\"boolean\"},\"EAP\":{\"optional\":true,\"name\":\"EAP\",\"$ref\":\"networkingPrivate.EAPProperties\"},\"SignalStrength\":{\"optional\":true,\"name\":\"SignalStrength\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedWiMAXProperties\",\"properties\":{\"AutoConnect\":{\"optional\":true,\"name\":\"AutoConnect\",\"$ref\":\"networkingPrivate.ManagedBoolean\"},\"EAP\":{\"optional\":true,\"name\":\"EAP\",\"$ref\":\"networkingPrivate.ManagedEAPProperties\"},\"SignalStrength\":{\"optional\":true,\"name\":\"SignalStrength\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.WiMAXStateProperties\",\"properties\":{\"SignalStrength\":{\"optional\":true,\"name\":\"SignalStrength\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.NetworkConfigProperties\",\"properties\":{\"Cellular\":{\"optional\":true,\"name\":\"Cellular\",\"$ref\":\"networkingPrivate.CellularProperties\"},\"Ethernet\":{\"optional\":true,\"name\":\"Ethernet\",\"$ref\":\"networkingPrivate.EthernetProperties\"},\"GUID\":{\"optional\":true,\"name\":\"GUID\",\"type\":\"string\"},\"IPAddressConfigType\":{\"optional\":true,\"name\":\"IPAddressConfigType\",\"$ref\":\"networkingPrivate.IPConfigType\"},\"Name\":{\"optional\":true,\"name\":\"Name\",\"type\":\"string\"},\"NameServersConfigType\":{\"optional\":true,\"name\":\"NameServersConfigType\",\"$ref\":\"networkingPrivate.IPConfigType\"},\"Priority\":{\"optional\":true,\"name\":\"Priority\",\"type\":\"integer\"},\"ProxySettings\":{\"optional\":true,\"name\":\"ProxySettings\",\"$ref\":\"networkingPrivate.ProxySettings\"},\"StaticIPConfig\":{\"optional\":true,\"name\":\"StaticIPConfig\",\"$ref\":\"networkingPrivate.IPConfigProperties\"},\"Type\":{\"optional\":true,\"name\":\"Type\",\"$ref\":\"networkingPrivate.NetworkType\"},\"VPN\":{\"optional\":true,\"name\":\"VPN\",\"$ref\":\"networkingPrivate.VPNProperties\"},\"WiFi\":{\"optional\":true,\"name\":\"WiFi\",\"$ref\":\"networkingPrivate.WiFiProperties\"},\"WiMAX\":{\"optional\":true,\"name\":\"WiMAX\",\"$ref\":\"networkingPrivate.WiMAXProperties\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.NetworkProperties\",\"properties\":{\"Cellular\":{\"optional\":true,\"name\":\"Cellular\",\"$ref\":\"networkingPrivate.CellularProperties\"},\"Connectable\":{\"optional\":true,\"name\":\"Connectable\",\"type\":\"boolean\"},\"ConnectionState\":{\"optional\":true,\"name\":\"ConnectionState\",\"$ref\":\"networkingPrivate.ConnectionStateType\"},\"ErrorState\":{\"optional\":true,\"name\":\"ErrorState\",\"type\":\"string\"},\"Ethernet\":{\"optional\":true,\"name\":\"Ethernet\",\"$ref\":\"networkingPrivate.EthernetProperties\"},\"GUID\":{\"name\":\"GUID\",\"type\":\"string\"},\"IPAddressConfigType\":{\"optional\":true,\"name\":\"IPAddressConfigType\",\"$ref\":\"networkingPrivate.IPConfigType\"},\"IPConfigs\":{\"optional\":true,\"name\":\"IPConfigs\",\"type\":\"array\",\"items\":{\"$ref\":\"networkingPrivate.IPConfigProperties\"}},\"MacAddress\":{\"optional\":true,\"name\":\"MacAddress\",\"type\":\"string\"},\"Name\":{\"optional\":true,\"name\":\"Name\",\"type\":\"string\"},\"NameServersConfigType\":{\"optional\":true,\"name\":\"NameServersConfigType\",\"$ref\":\"networkingPrivate.IPConfigType\"},\"Priority\":{\"optional\":true,\"name\":\"Priority\",\"type\":\"integer\"},\"ProxySettings\":{\"optional\":true,\"name\":\"ProxySettings\",\"$ref\":\"networkingPrivate.ProxySettings\"},\"RestrictedConnectivity\":{\"optional\":true,\"name\":\"RestrictedConnectivity\",\"type\":\"boolean\"},\"StaticIPConfig\":{\"optional\":true,\"name\":\"StaticIPConfig\",\"$ref\":\"networkingPrivate.IPConfigProperties\"},\"SavedIPConfig\":{\"optional\":true,\"name\":\"SavedIPConfig\",\"$ref\":\"networkingPrivate.IPConfigProperties\"},\"Source\":{\"optional\":true,\"name\":\"Source\",\"type\":\"string\"},\"Tether\":{\"optional\":true,\"name\":\"Tether\",\"$ref\":\"networkingPrivate.TetherProperties\"},\"Type\":{\"name\":\"Type\",\"$ref\":\"networkingPrivate.NetworkType\"},\"VPN\":{\"optional\":true,\"name\":\"VPN\",\"$ref\":\"networkingPrivate.VPNProperties\"},\"WiFi\":{\"optional\":true,\"name\":\"WiFi\",\"$ref\":\"networkingPrivate.WiFiProperties\"},\"WiMAX\":{\"optional\":true,\"name\":\"WiMAX\",\"$ref\":\"networkingPrivate.WiMAXProperties\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.ManagedProperties\",\"properties\":{\"Cellular\":{\"optional\":true,\"name\":\"Cellular\",\"$ref\":\"networkingPrivate.ManagedCellularProperties\"},\"Connectable\":{\"optional\":true,\"name\":\"Connectable\",\"type\":\"boolean\"},\"ConnectionState\":{\"optional\":true,\"name\":\"ConnectionState\",\"$ref\":\"networkingPrivate.ConnectionStateType\"},\"ErrorState\":{\"optional\":true,\"name\":\"ErrorState\",\"type\":\"string\"},\"Ethernet\":{\"optional\":true,\"name\":\"Ethernet\",\"$ref\":\"networkingPrivate.ManagedEthernetProperties\"},\"GUID\":{\"name\":\"GUID\",\"type\":\"string\"},\"IPAddressConfigType\":{\"optional\":true,\"name\":\"IPAddressConfigType\",\"$ref\":\"networkingPrivate.ManagedIPConfigType\"},\"IPConfigs\":{\"optional\":true,\"name\":\"IPConfigs\",\"type\":\"array\",\"items\":{\"$ref\":\"networkingPrivate.IPConfigProperties\"}},\"MacAddress\":{\"optional\":true,\"name\":\"MacAddress\",\"type\":\"string\"},\"Name\":{\"optional\":true,\"name\":\"Name\",\"$ref\":\"networkingPrivate.ManagedDOMString\"},\"NameServersConfigType\":{\"optional\":true,\"name\":\"NameServersConfigType\",\"$ref\":\"networkingPrivate.ManagedIPConfigType\"},\"Priority\":{\"optional\":true,\"name\":\"Priority\",\"$ref\":\"networkingPrivate.ManagedLong\"},\"ProxySettings\":{\"optional\":true,\"name\":\"ProxySettings\",\"$ref\":\"networkingPrivate.ManagedProxySettings\"},\"RestrictedConnectivity\":{\"optional\":true,\"name\":\"RestrictedConnectivity\",\"type\":\"boolean\"},\"StaticIPConfig\":{\"optional\":true,\"name\":\"StaticIPConfig\",\"$ref\":\"networkingPrivate.ManagedIPConfigProperties\"},\"SavedIPConfig\":{\"optional\":true,\"name\":\"SavedIPConfig\",\"$ref\":\"networkingPrivate.IPConfigProperties\"},\"Source\":{\"optional\":true,\"name\":\"Source\",\"type\":\"string\"},\"Tether\":{\"optional\":true,\"name\":\"Tether\",\"$ref\":\"networkingPrivate.TetherProperties\"},\"Type\":{\"name\":\"Type\",\"$ref\":\"networkingPrivate.NetworkType\"},\"VPN\":{\"optional\":true,\"name\":\"VPN\",\"$ref\":\"networkingPrivate.ManagedVPNP" "roperties\"},\"WiFi\":{\"optional\":true,\"name\":\"WiFi\",\"$ref\":\"networkingPrivate.ManagedWiFiProperties\"},\"WiMAX\":{\"optional\":true,\"name\":\"WiMAX\",\"$ref\":\"networkingPrivate.ManagedWiMAXProperties\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.NetworkStateProperties\",\"properties\":{\"Cellular\":{\"optional\":true,\"name\":\"Cellular\",\"$ref\":\"networkingPrivate.CellularStateProperties\"},\"Connectable\":{\"optional\":true,\"name\":\"Connectable\",\"type\":\"boolean\"},\"ConnectionState\":{\"optional\":true,\"name\":\"ConnectionState\",\"$ref\":\"networkingPrivate.ConnectionStateType\"},\"Ethernet\":{\"optional\":true,\"name\":\"Ethernet\",\"$ref\":\"networkingPrivate.EthernetStateProperties\"},\"ErrorState\":{\"optional\":true,\"name\":\"ErrorState\",\"type\":\"string\"},\"GUID\":{\"name\":\"GUID\",\"type\":\"string\"},\"Name\":{\"optional\":true,\"name\":\"Name\",\"type\":\"string\"},\"Priority\":{\"optional\":true,\"name\":\"Priority\",\"type\":\"integer\"},\"Source\":{\"optional\":true,\"name\":\"Source\",\"type\":\"string\"},\"Tether\":{\"optional\":true,\"name\":\"Tether\",\"$ref\":\"networkingPrivate.TetherProperties\"},\"Type\":{\"name\":\"Type\",\"$ref\":\"networkingPrivate.NetworkType\"},\"VPN\":{\"optional\":true,\"name\":\"VPN\",\"$ref\":\"networkingPrivate.VPNStateProperties\"},\"WiFi\":{\"optional\":true,\"name\":\"WiFi\",\"$ref\":\"networkingPrivate.WiFiStateProperties\"},\"WiMAX\":{\"optional\":true,\"name\":\"WiMAX\",\"$ref\":\"networkingPrivate.WiMAXStateProperties\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.DeviceStateProperties\",\"properties\":{\"Scanning\":{\"optional\":true,\"name\":\"Scanning\",\"type\":\"boolean\"},\"SimLockType\":{\"optional\":true,\"name\":\"SimLockType\",\"type\":\"string\"},\"SimPresent\":{\"optional\":true,\"name\":\"SimPresent\",\"type\":\"boolean\"},\"State\":{\"name\":\"State\",\"$ref\":\"networkingPrivate.DeviceStateType\"},\"Type\":{\"name\":\"Type\",\"$ref\":\"networkingPrivate.NetworkType\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.VerificationProperties\",\"properties\":{\"certificate\":{\"name\":\"certificate\",\"type\":\"string\"},\"intermediateCertificates\":{\"optional\":true,\"name\":\"intermediateCertificates\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"publicKey\":{\"name\":\"publicKey\",\"type\":\"string\"},\"nonce\":{\"name\":\"nonce\",\"type\":\"string\"},\"signedData\":{\"name\":\"signedData\",\"type\":\"string\"},\"deviceSerial\":{\"name\":\"deviceSerial\",\"type\":\"string\"},\"deviceSsid\":{\"name\":\"deviceSsid\",\"type\":\"string\"},\"deviceBssid\":{\"name\":\"deviceBssid\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.NetworkFilter\",\"properties\":{\"networkType\":{\"name\":\"networkType\",\"$ref\":\"networkingPrivate.NetworkType\"},\"visible\":{\"optional\":true,\"name\":\"visible\",\"type\":\"boolean\"},\"configured\":{\"optional\":true,\"name\":\"configured\",\"type\":\"boolean\"},\"limit\":{\"optional\":true,\"name\":\"limit\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"networkingPrivate.GlobalPolicy\",\"properties\":{\"AllowOnlyPolicyNetworksToAutoconnect\":{\"optional\":true,\"name\":\"AllowOnlyPolicyNetworksToAutoconnect\",\"type\":\"boolean\"},\"AllowOnlyPolicyNetworksToConnect\":{\"optional\":true,\"name\":\"AllowOnlyPolicyNetworksToConnect\",\"type\":\"boolean\"}}}]}";
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\"]},{\"id\":\"runtime.PlatformNaclArch\",\"type\":\"string\",\"enum\":[\"arm\",\"x86-32\",\"x86-64\"]},{\"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\":\"boolean\",\"optional\":true}},\"optional\":true}],\"returns\":{\"$ref\":\"runtime.Port\"}},{\"name\":\"connectNative\",\"type\":\"function\",\"parameters\":[{\"type\":\"string\",\"name\":\"application\"}],\"returns\":{\"$ref\":\"runtime.Port\"}},{\"name\":\"sendMessage\",\"type\":\"function\",\"allowAmbiguousOptionalArguments\":true,\"parameters\":[{\"type\":\"string\",\"name\":\"extensionId\",\"optional\":true},{\"type\":\"any\",\"name\":\"message\"},{\"type\":\"object\",\"name\":\"options\",\"properties\":{\"includeTlsChannelId\":{\"type\":\"boolean\",\"optional\":true}},\"optional\":true},{\"type\":\"function\",\"name\":\"responseCallback\",\"optional\":true,\"parameters\":[{\"name\":\"response\",\"type\":\"any\"}]}]},{\"name\":\"sendNativeMessage\",\"type\":\"function\",\"parameters\":[{\"name\":\"application\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\"}},{\"type\":\"function\",\"name\":\"responseCallback\",\"optional\":true,\"parameters\":[{\"name\":\"response\",\"type\":\"any\",\"additionalProperties\":{\"type\":\"any\"}}]}]},{\"name\":\"getPlatformInfo\",\"type\":\"function\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"platformInfo\",\"$ref\":\"runtime.PlatformInfo\"}]}]},{\"name\":\"getPackageDirectoryEntry\",\"type\":\"function\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"directoryEntry\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"any\"},\"isInstanceOf\":\"DirectoryEntry\"}]}]}],\"events\":[{\"name\":\"onStartup\",\"type\":\"function\"},{\"name\":\"onInstalled\",\"type\":\"function\",\"parameters\":[{\"type\":\"object\",\"name\":\"details\",\"properties\":{\"reason\":{\"$ref\":\"runtime.OnInstalledReason\"},\"previousVersion\":{\"type\":\"string\",\"optional\":true},\"id\":{\"type\":\"string\",\"optional\":true}}}]},{\"name\":\"onSuspend\",\"type\":\"function\"},{\"name\":\"onSuspendCanceled\",\"type\":\"function\"},{\"name\":\"onUpdateAvailable\",\"type\":\"function\",\"parameters\":[{\"type\":\"object\",\"name\":\"details\",\"properties\":{\"version\":{\"type\":\"string\"}},\"additionalProperties\":{\"type\":\"any\"}}]},{\"name\":\"onBrowserUpdateAvailable\",\"type\":\"function\",\"deprecated\":\"Please use $(ref:runtime.onRestartRequired).\",\"parameters\":[]},{\"name\":\"onConnect\",\"type\":\"function\",\"options\":{\"unmanaged\":true},\"parameters\":[{\"$ref\":\"runtime.Port\",\"name\":\"port\"}]},{\"name\":\"onConnectExternal\",\"type\":\"function\",\"parameters\":[{\"$ref\":\"runtime.Port\",\"name\":\"port\"}]},{\"name\":\"onMessage\",\"type\":\"function\",\"options\":{\"unmanaged\":true},\"parameters\":[{\"name\":\"message\",\"type\":\"any\",\"optional\":true},{\"name\":\"sender\",\"$ref\":\"runtime.MessageSender\"},{\"name\":\"sendResponse\",\"type\":\"function\"}],\"returns\":{\"type\":\"boolean\",\"optional\":true}},{\"name\":\"onMessageExternal\",\"type\":\"function\",\"parameters\":[{\"name\":\"message\",\"type\":\"any\",\"optional\":true},{\"name\":\"sender\",\"$ref\":\"runtime.MessageSender\"},{\"name\":\"sendResponse\",\"type\":\"function\"}],\"returns\":{\"type\":\"boolean\",\"optional\":true}},{\"name\":\"onRestartRequired\",\"type\":\"function\",\"parameters\":[{\"$ref\":\"runtime.OnRestartRequiredReason\",\"name\":\"reason\"}]}]}";
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\":[{\"name\":\"no\"},{\"name\":\"odd\"},{\"name\":\"even\"}],\"type\":\"string\",\"id\":\"serial.ParityBit\"},{\"enum\":[{\"name\":\"one\"},{\"name\":\"two\"}],\"type\":\"string\",\"id\":\"serial.StopBits\"},{\"type\":\"object\",\"id\":\"serial.ConnectionOptions\",\"properties\":{\"persistent\":{\"optional\":true,\"name\":\"persistent\",\"type\":\"boolean\"},\"name\":{\"optional\":true,\"name\":\"name\",\"type\":\"string\"},\"bufferSize\":{\"optional\":true,\"name\":\"bufferSize\",\"type\":\"integer\"},\"bitrate\":{\"optional\":true,\"name\":\"bitrate\",\"type\":\"integer\"},\"dataBits\":{\"optional\":true,\"name\":\"dataBits\",\"$ref\":\"serial.DataBits\"},\"parityBit\":{\"optional\":true,\"name\":\"parityBit\",\"$ref\":\"serial.ParityBit\"},\"stopBits\":{\"optional\":true,\"name\":\"stopBits\",\"$ref\":\"serial.StopBits\"},\"ctsFlowControl\":{\"optional\":true,\"name\":\"ctsFlowControl\",\"type\":\"boolean\"},\"receiveTimeout\":{\"optional\":true,\"name\":\"receiveTimeout\",\"type\":\"integer\"},\"sendTimeout\":{\"optional\":true,\"name\":\"sendTimeout\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"serial.ConnectionInfo\",\"properties\":{\"connectionId\":{\"name\":\"connectionId\",\"type\":\"integer\"},\"paused\":{\"name\":\"paused\",\"type\":\"boolean\"},\"persistent\":{\"name\":\"persistent\",\"type\":\"boolean\"},\"name\":{\"name\":\"name\",\"type\":\"string\"},\"bufferSize\":{\"name\":\"bufferSize\",\"type\":\"integer\"},\"receiveTimeout\":{\"name\":\"receiveTimeout\",\"type\":\"integer\"},\"sendTimeout\":{\"name\":\"sendTimeout\",\"type\":\"integer\"},\"bitrate\":{\"optional\":true,\"name\":\"bitrate\",\"type\":\"integer\"},\"dataBits\":{\"optional\":true,\"name\":\"dataBits\",\"$ref\":\"serial.DataBits\"},\"parityBit\":{\"optional\":true,\"name\":\"parityBit\",\"$ref\":\"serial.ParityBit\"},\"stopBits\":{\"optional\":true,\"name\":\"stopBits\",\"$ref\":\"serial.StopBits\"},\"ctsFlowControl\":{\"optional\":true,\"name\":\"ctsFlowControl\",\"type\":\"boolean\"}}},{\"enum\":[{\"name\":\"disconnected\"},{\"name\":\"pending\"},{\"name\":\"timeout\"},{\"name\":\"system_error\"}],\"type\":\"string\",\"id\":\"serial.SendError\"},{\"type\":\"object\",\"id\":\"serial.SendInfo\",\"properties\":{\"bytesSent\":{\"name\":\"bytesSent\",\"type\":\"integer\"},\"error\":{\"optional\":true,\"name\":\"error\",\"$ref\":\"serial.SendError\"}}},{\"type\":\"object\",\"id\":\"serial.HostControlSignals\",\"properties\":{\"dtr\":{\"optional\":true,\"name\":\"dtr\",\"type\":\"boolean\"},\"rts\":{\"optional\":true,\"name\":\"rts\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"serial.DeviceControlSignals\",\"properties\":{\"dcd\":{\"name\":\"dcd\",\"type\":\"boolean\"},\"cts\":{\"name\":\"cts\",\"type\":\"boolean\"},\"ri\":{\"name\":\"ri\",\"type\":\"boolean\"},\"dsr\":{\"name\":\"dsr\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"serial.ReceiveInfo\",\"properties\":{\"connectionId\":{\"name\":\"connectionId\",\"type\":\"integer\"},\"data\":{\"name\":\"data\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"}}},{\"enum\":[{\"name\":\"disconnected\"},{\"name\":\"timeout\"},{\"name\":\"device_lost\"},{\"name\":\"break\"},{\"name\":\"frame_error\"},{\"name\":\"overrun\"},{\"name\":\"buffer_overflow\"},{\"name\":\"parity_error\"},{\"name\":\"system_error\"}],\"type\":\"string\",\"id\":\"serial.ReceiveError\"},{\"type\":\"object\",\"id\":\"serial.ReceiveErrorInfo\",\"properties\":{\"connectionId\":{\"name\":\"connectionId\",\"type\":\"integer\"},\"error\":{\"name\":\"error\",\"$ref\":\"serial.ReceiveError\"}}}]}";
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\":\"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\"},{\"$ref\":\"socket.SecureOptions\",\"optional\":true,\"name\":\"options\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"integer\",\"name\":\"result\"}]}],\"name\":\"secure\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[],\"platforms\":null,\"internal\":false,\"namespace\":\"socket\",\"properties\":{},\"types\":[{\"enum\":[{\"name\":\"tcp\"},{\"name\":\"udp\"}],\"type\":\"string\",\"id\":\"socket.SocketType\"},{\"type\":\"object\",\"id\":\"socket.CreateOptions\",\"properties\":{}},{\"type\":\"object\",\"id\":\"socket.CreateInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"socket.AcceptInfo\",\"properties\":{\"resultCode\":{\"name\":\"resultCode\",\"type\":\"integer\"},\"socketId\":{\"optional\":true,\"name\":\"socketId\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"socket.ReadInfo\",\"properties\":{\"resultCode\":{\"name\":\"resultCode\",\"type\":\"integer\"},\"data\":{\"name\":\"data\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"}}},{\"type\":\"object\",\"id\":\"socket.WriteInfo\",\"properties\":{\"bytesWritten\":{\"name\":\"bytesWritten\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"socket.RecvFromInfo\",\"properties\":{\"resultCode\":{\"name\":\"resultCode\",\"type\":\"integer\"},\"data\":{\"name\":\"data\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"},\"address\":{\"name\":\"address\",\"type\":\"string\"},\"port\":{\"name\":\"port\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"socket.SocketInfo\",\"properties\":{\"socketType\":{\"name\":\"socketType\",\"$ref\":\"socket.SocketType\"},\"connected\":{\"name\":\"connected\",\"type\":\"boolean\"},\"peerAddress\":{\"optional\":true,\"name\":\"peerAddress\",\"type\":\"string\"},\"peerPort\":{\"optional\":true,\"name\":\"peerPort\",\"type\":\"integer\"},\"localAddress\":{\"optional\":true,\"name\":\"localAddress\",\"type\":\"string\"},\"localPort\":{\"optional\":true,\"name\":\"localPort\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"socket.NetworkInterface\",\"properties\":{\"name\":{\"name\":\"name\",\"type\":\"string\"},\"address\":{\"name\":\"address\",\"type\":\"string\"},\"prefixLength\":{\"name\":\"prefixLength\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"socket.TLSVersionConstraints\",\"properties\":{\"min\":{\"optional\":true,\"name\":\"min\",\"type\":\"string\"},\"max\":{\"optional\":true,\"name\":\"max\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"socket.SecureOptions\",\"properties\":{\"tlsVersion\":{\"optional\":true,\"name\":\"tlsVersion\",\"$ref\":\"socket.TLSVersionConstraints\"}}}]}";
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\"},\"bytesSent\":{\"optional\":true,\"name\":\"bytesSent\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"sockets.tcp.TLSVersionConstraints\",\"properties\":{\"min\":{\"optional\":true,\"name\":\"min\",\"type\":\"string\"},\"max\":{\"optional\":true,\"name\":\"max\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"sockets.tcp.SecureOptions\",\"properties\":{\"tlsVersion\":{\"optional\":true,\"name\":\"tlsVersion\",\"$ref\":\"sockets.tcp.TLSVersionConstraints\"}}},{\"type\":\"object\",\"id\":\"sockets.tcp.SocketInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"},\"persistent\":{\"name\":\"persistent\",\"type\":\"boolean\"},\"name\":{\"optional\":true,\"name\":\"name\",\"type\":\"string\"},\"bufferSize\":{\"optional\":true,\"name\":\"bufferSize\",\"type\":\"integer\"},\"paused\":{\"name\":\"paused\",\"type\":\"boolean\"},\"connected\":{\"name\":\"connected\",\"type\":\"boolean\"},\"localAddress\":{\"optional\":true,\"name\":\"localAddress\",\"type\":\"string\"},\"localPort\":{\"optional\":true,\"name\":\"localPort\",\"type\":\"integer\"},\"peerAddress\":{\"optional\":true,\"name\":\"peerAddress\",\"type\":\"string\"},\"peerPort\":{\"optional\":true,\"name\":\"peerPort\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"sockets.tcp.ReceiveInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"},\"data\":{\"name\":\"data\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"}}},{\"type\":\"object\",\"id\":\"sockets.tcp.ReceiveErrorInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"},\"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\":{},\"types\":[{\"type\":\"object\",\"id\":\"sockets.udp.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.udp.CreateInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"sockets.udp.SendInfo\",\"properties\":{\"resultCode\":{\"name\":\"resultCode\",\"type\":\"integer\"},\"bytesSent\":{\"optional\":true,\"name\":\"bytesSent\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"sockets.udp.SocketInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"},\"persistent\":{\"name\":\"persistent\",\"type\":\"boolean\"},\"name\":{\"optional\":true,\"name\":\"name\",\"type\":\"string\"},\"bufferSize\":{\"optional\":true,\"name\":\"bufferSize\",\"type\":\"integer\"},\"paused\":{\"name\":\"paused\",\"type\":\"boolean\"},\"localAddress\":{\"optional\":true,\"name\":\"localAddress\",\"type\":\"string\"},\"localPort\":{\"optional\":true,\"name\":\"localPort\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"sockets.udp.ReceiveInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"},\"data\":{\"name\":\"data\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"},\"remoteAddress\":{\"name\":\"remoteAddress\",\"type\":\"string\"},\"remotePort\":{\"name\":\"remotePort\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"sockets.udp.ReceiveErrorInfo\",\"properties\":{\"socketId\":{\"name\":\"socketId\",\"type\":\"integer\"},\"resultCode\":{\"name\":\"resultCode\",\"type\":\"integer\"}}}]}";
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\"}}],\"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\"}},{\"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\"}],\"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\":{\"name\":\"pair3\",\"$ref\":\"system.display.TouchCalibrationPair\"},\"pair4\":{\"name\":\"pair4\",\"$ref\":\"system.display.TouchCalibrationPair\"}}},{\"type\":\"object\",\"id\":\"system.display.DisplayMode\",\"properties\":{\"width\":{\"name\":\"width\",\"type\":\"integer\"},\"height\":{\"name\":\"height\",\"type\":\"integer\"},\"widthInNativePixels\":{\"name\":\"widthInNativePixels\",\"type\":\"integer\"},\"heightInNativePixels\":{\"name\":\"heightInNativePixels\",\"type\":\"integer\"},\"uiScale\":{\"name\":\"uiScale\",\"type\":\"number\"},\"deviceScaleFactor\":{\"name\":\"deviceScaleFactor\",\"type\":\"number\"},\"isNative\":{\"name\":\"isNative\",\"type\":\"boolean\"},\"isSelected\":{\"name\":\"isSelected\",\"type\":\"boolean\"}}},{\"enum\":[{\"name\":\"top\"},{\"name\":\"right\"},{\"name\":\"bottom\"},{\"name\":\"left\"}],\"type\":\"string\",\"id\":\"system.display.LayoutPosition\"},{\"type\":\"object\",\"id\":\"system.display.DisplayLayout\",\"properties\":{\"id\":{\"name\":\"id\",\"type\":\"string\"},\"parentId\":{\"name\":\"parentId\",\"type\":\"string\"},\"position\":{\"name\":\"position\",\"$ref\":\"system.display.LayoutPosition\"},\"offset\":{\"name\":\"offset\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"system.display.DisplayUnitInfo\",\"properties\":{\"id\":{\"name\":\"id\",\"type\":\"string\"},\"name\":{\"name\":\"name\",\"type\":\"string\"},\"mirroringSourceId\":{\"name\":\"mirroringSourceId\",\"type\":\"string\"},\"isPrimary\":{\"name\":\"isPrimary\",\"type\":\"boolean\"},\"isInternal\":{\"name\":\"isInternal\",\"type\":\"boolean\"},\"isEnabled\":{\"name\":\"isEnabled\",\"type\":\"boolean\"},\"isUnified\":{\"name\":\"isUnified\",\"type\":\"boolean\"},\"dpiX\":{\"name\":\"dpiX\",\"type\":\"number\"},\"dpiY\":{\"name\":\"dpiY\",\"type\":\"number\"},\"rotation\":{\"name\":\"rotation\",\"type\":\"integer\"},\"bounds\":{\"name\":\"bounds\",\"$ref\":\"system.display.Bounds\"},\"overscan\":{\"name\":\"overscan\",\"$ref\":\"system.display.Insets\"},\"workArea\":{\"name\":\"workArea\",\"$ref\":\"system.display.Bounds\"},\"modes\":{\"name\":\"modes\",\"type\":\"array\",\"items\":{\"$ref\":\"system.display.DisplayMode\"}},\"hasTouchSupport\":{\"name\":\"hasTouchSupport\",\"type\":\"boolean\"}}},{\"type\":\"object\",\"id\":\"system.display.DisplayProperties\",\"properties\":{\"isUnified\":{\"optional\":true,\"name\":\"isUnified\",\"type\":\"boolean\"},\"mirroringSourceId\":{\"optional\":true,\"name\":\"mirroringSourceId\",\"type\":\"string\"},\"isPrimary\":{\"optional\":true,\"name\":\"isPrimary\",\"type\":\"boolean\"},\"overscan\":{\"optional\":true,\"name\":\"overscan\",\"$ref\":\"system.display.Insets\"},\"rotation\":{\"optional\":true,\"name\":\"rotation\",\"type\":\"integer\"},\"boundsOriginX\":{\"optional\":true,\"name\":\"boundsOriginX\",\"type\":\"integer\"},\"boundsOriginY\":{\"optional\":true,\"name\":\"boundsOriginY\",\"type\":\"integer\"},\"displayMode\":{\"optional\":true,\"name\":\"displayMode\",\"$ref\":\"system.display.DisplayMode\"}}},{\"type\":\"object\",\"id\":\"system.display.GetInfoFlags\",\"properties\":{\"singleUnified\":{\"optional\":true,\"name\":\"singleUnified\",\"type\":\"boolean\"}}}]}";
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\"},\"testWebSocketPort\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":65535},\"isolateExtensions\":{\"type\":\"boolean\"}}}]}]},{\"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\",\"name\":\"event\"},{\"type\":\"function\",\"name\":\"func\"}]},{\"name\":\"callbackPass\",\"type\":\"function\",\"parameters\":[{\"type\":\"function\",\"name\":\"func\",\"optional\":true}]},{\"name\":\"callbackFail\",\"type\":\"function\",\"parameters\":[{\"type\":\"string\",\"name\":\"expectedError\"},{\"type\":\"function\",\"name\":\"func\",\"optional\":true}]},{\"name\":\"runTests\",\"type\":\"function\",\"parameters\":[{\"type\":\"array\",\"name\":\"tests\",\"items\":{\"type\":\"function\"}}]},{\"name\":\"getApiFeatures\",\"type\":\"function\",\"parameters\":[]},{\"name\":\"getApiDefinitions\",\"type\":\"function\",\"parameters\":[{\"type\":\"array\",\"name\":\"apiNames\",\"optional\":true,\"items\":{\"type\":\"string\"}}]},{\"name\":\"isProcessingUserGesture\",\"type\":\"function\",\"parameters\":[]},{\"name\":\"runWithUserGesture\",\"type\":\"function\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}]},{\"name\":\"runWithoutUserGesture\",\"type\":\"function\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}]},{\"name\":\"waitForRoundTrip\",\"type\":\"function\",\"parameters\":[{\"type\":\"string\",\"name\":\"message\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"string\",\"name\":\"message\"}]}]},{\"name\":\"setExceptionHandler\",\"type\":\"function\",\"parameters\":[{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"string\",\"name\":\"message\"},{\"type\":\"any\",\"name\":\"exception\"}]}]},{\"name\":\"getWakeEventPage\",\"type\":\"function\",\"parameters\":[],\"returns\":{\"type\":\"function\"}}],\"events\":[{\"name\":\"onMessage\",\"type\":\"function\",\"parameters\":[{\"type\":\"object\",\"name\":\"info\",\"properties\":{\"data\":{\"type\":\"string\"},\"lastMessage\":{\"type\":\"boolean\"}}}]}]}";
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.GenericTransferInfo\",\"name\":\"transferInfo\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"info\",\"$ref\":\"usb.TransferResultInfo\"}]}],\"name\":\"bulkTransfer\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.ConnectionHandle\",\"name\":\"handle\"},{\"$ref\":\"usb.GenericTransferInfo\",\"name\":\"transferInfo\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"info\",\"$ref\":\"usb.TransferResultInfo\"}]}],\"name\":\"interruptTransfer\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.ConnectionHandle\",\"name\":\"handle\"},{\"name\":\"transferInfo\",\"$ref\":\"usb.IsochronousTransferInfo\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"name\":\"info\",\"$ref\":\"usb.TransferResultInfo\"}]}],\"name\":\"isochronousTransfer\",\"type\":\"function\"},{\"parameters\":[{\"$ref\":\"usb.ConnectionHandle\",\"name\":\"handle\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"boolean\",\"name\":\"success\"}]}],\"name\":\"resetDevice\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[{\"parameters\":[{\"name\":\"device\",\"$ref\":\"usb.Device\"}],\"name\":\"onDeviceAdded\",\"type\":\"function\"},{\"parameters\":[{\"name\":\"device\",\"$ref\":\"usb.Device\"}],\"name\":\"onDeviceRemoved\",\"type\":\"function\"}],\"platforms\":null,\"internal\":false,\"namespace\":\"usb\",\"properties\":{},\"types\":[{\"enum\":[{\"name\":\"in\"},{\"name\":\"out\"}],\"type\":\"string\",\"id\":\"usb.Direction\"},{\"enum\":[{\"name\":\"device\"},{\"name\":\"interface\"},{\"name\":\"endpoint\"},{\"name\":\"other\"}],\"type\":\"string\",\"id\":\"usb.Recipient\"},{\"enum\":[{\"name\":\"standard\"},{\"name\":\"class\"},{\"name\":\"vendor\"},{\"name\":\"reserved\"}],\"type\":\"string\",\"id\":\"usb.RequestType\"},{\"enum\":[{\"name\":\"control\"},{\"name\":\"interrupt\"},{\"name\":\"isochronous\"},{\"name\":\"bulk\"}],\"type\":\"string\",\"id\":\"usb.TransferType\"},{\"enum\":[{\"name\":\"asynchronous\"},{\"name\":\"adaptive\"},{\"name\":\"synchronous\"}],\"type\":\"string\",\"id\":\"usb.SynchronizationType\"},{\"enum\":[{\"name\":\"data\"},{\"name\":\"feedback\"},{\"name\":\"explicitFeedback\"},{\"name\":\"periodic\"},{\"name\":\"notification\"}],\"type\":\"string\",\"id\":\"usb.UsageType\"},{\"type\":\"object\",\"id\":\"usb.Device\",\"properties\":{\"device\":{\"name\":\"device\",\"type\":\"integer\"},\"vendorId\":{\"name\":\"vendorId\",\"type\":\"integer\"},\"productId\":{\"name\":\"productId\",\"type\":\"integer\"},\"version\":{\"name\":\"version\",\"type\":\"integer\"},\"productName\":{\"name\":\"productName\",\"type\":\"string\"},\"manufacturerName\":{\"name\":\"manufacturerName\",\"type\":\"string\"},\"serialNumber\":{\"name\":\"serialNumber\",\"type\":\"string\"}}},{\"type\":\"object\",\"id\":\"usb.ConnectionHandle\",\"properties\":{\"handle\":{\"name\":\"handle\",\"type\":\"integer\"},\"vendorId\":{\"name\":\"vendorId\",\"type\":\"integer\"},\"productId\":{\"name\":\"productId\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"usb.EndpointDescriptor\",\"properties\":{\"address\":{\"name\":\"address\",\"type\":\"integer\"},\"type\":{\"name\":\"type\",\"$ref\":\"usb.TransferType\"},\"direction\":{\"name\":\"direction\",\"$ref\":\"usb.Direction\"},\"maximumPacketSize\":{\"name\":\"maximumPacketSize\",\"type\":\"integer\"},\"synchronization\":{\"optional\":true,\"name\":\"synchronization\",\"$ref\":\"usb.SynchronizationType\"},\"usage\":{\"optional\":true,\"name\":\"usage\",\"$ref\":\"usb.UsageType\"},\"pollingInterval\":{\"optional\":true,\"name\":\"pollingInterval\",\"type\":\"integer\"},\"extra_data\":{\"name\":\"extra_data\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"}}},{\"type\":\"object\",\"id\":\"usb.InterfaceDescriptor\",\"properties\":{\"interfaceNumber\":{\"name\":\"interfaceNumber\",\"type\":\"integer\"},\"alternateSetting\":{\"name\":\"alternateSetting\",\"type\":\"integer\"},\"interfaceClass\":{\"name\":\"interfaceClass\",\"type\":\"integer\"},\"interfaceSubclass\":{\"name\":\"interfaceSubclass\",\"type\":\"integer\"},\"interfaceProtocol\":{\"name\":\"interfaceProtocol\",\"type\":\"integer\"},\"description\":{\"optional\":true,\"name\":\"description\",\"type\":\"string\"},\"endpoints\":{\"name\":\"endpoints\",\"type\":\"array\",\"items\":{\"$ref\":\"usb.EndpointDescriptor\"}},\"extra_data\":{\"name\":\"extra_data\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"}}},{\"type\":\"object\",\"id\":\"usb.ConfigDescriptor\",\"properties\":{\"active\":{\"name\":\"active\",\"type\":\"boolean\"},\"configurationValue\":{\"name\":\"configurationValue\",\"type\":\"integer\"},\"description\":{\"optional\":true,\"name\":\"description\",\"type\":\"string\"},\"selfPowered\":{\"name\":\"selfPowered\",\"type\":\"boolean\"},\"remoteWakeup\":{\"name\":\"remoteWakeup\",\"type\":\"boolean\"},\"maxPower\":{\"name\":\"maxPower\",\"type\":\"integer\"},\"interfaces\":{\"name\":\"interfaces\",\"type\":\"array\",\"items\":{\"$ref\":\"usb.InterfaceDescriptor\"}},\"extra_data\":{\"name\":\"extra_data\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"}}},{\"type\":\"object\",\"id\":\"usb.ControlTransferInfo\",\"properties\":{\"direction\":{\"name\":\"direction\",\"$ref\":\"usb.Direction\"},\"recipient\":{\"name\":\"recipient\",\"$ref\":\"usb.Recipient\"},\"requestType\":{\"name\":\"requestType\",\"$ref\":\"usb.RequestType\"},\"request\":{\"name\":\"request\",\"type\":\"integer\"},\"value\":{\"name\":\"value\",\"type\":\"integ" "er\"},\"index\":{\"name\":\"index\",\"type\":\"integer\"},\"length\":{\"optional\":true,\"name\":\"length\",\"type\":\"integer\"},\"data\":{\"optional\":true,\"name\":\"data\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"},\"timeout\":{\"optional\":true,\"name\":\"timeout\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"usb.GenericTransferInfo\",\"properties\":{\"direction\":{\"name\":\"direction\",\"$ref\":\"usb.Direction\"},\"endpoint\":{\"name\":\"endpoint\",\"type\":\"integer\"},\"length\":{\"optional\":true,\"name\":\"length\",\"type\":\"integer\"},\"data\":{\"optional\":true,\"name\":\"data\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"},\"timeout\":{\"optional\":true,\"name\":\"timeout\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"usb.IsochronousTransferInfo\",\"properties\":{\"transferInfo\":{\"name\":\"transferInfo\",\"$ref\":\"usb.GenericTransferInfo\"},\"packets\":{\"name\":\"packets\",\"type\":\"integer\"},\"packetLength\":{\"name\":\"packetLength\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"usb.TransferResultInfo\",\"properties\":{\"resultCode\":{\"optional\":true,\"name\":\"resultCode\",\"type\":\"integer\"},\"data\":{\"optional\":true,\"name\":\"data\",\"type\":\"binary\",\"isInstanceOf\":\"ArrayBuffer\"}}},{\"type\":\"object\",\"id\":\"usb.DeviceFilter\",\"properties\":{\"vendorId\":{\"optional\":true,\"name\":\"vendorId\",\"type\":\"integer\"},\"productId\":{\"optional\":true,\"name\":\"productId\",\"type\":\"integer\"},\"interfaceClass\":{\"optional\":true,\"name\":\"interfaceClass\",\"type\":\"integer\"},\"interfaceSubclass\":{\"optional\":true,\"name\":\"interfaceSubclass\",\"type\":\"integer\"},\"interfaceProtocol\":{\"optional\":true,\"name\":\"interfaceProtocol\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"usb.EnumerateDevicesOptions\",\"properties\":{\"vendorId\":{\"deprecated\":\"Equivalent to setting $(ref:DeviceFilter.vendorId).\",\"optional\":true,\"name\":\"vendorId\",\"type\":\"integer\"},\"productId\":{\"deprecated\":\"Equivalent to setting $(ref:DeviceFilter.productId).\",\"optional\":true,\"name\":\"productId\",\"type\":\"integer\"},\"filters\":{\"optional\":true,\"name\":\"filters\",\"type\":\"array\",\"items\":{\"$ref\":\"usb.DeviceFilter\"}}}},{\"type\":\"object\",\"id\":\"usb.EnumerateDevicesAndRequestAccessOptions\",\"properties\":{\"vendorId\":{\"name\":\"vendorId\",\"type\":\"integer\"},\"productId\":{\"name\":\"productId\",\"type\":\"integer\"},\"interfaceId\":{\"optional\":true,\"name\":\"interfaceId\",\"type\":\"integer\"}}},{\"type\":\"object\",\"id\":\"usb.DevicePromptOptions\",\"properties\":{\"multiple\":{\"optional\":true,\"name\":\"multiple\",\"type\":\"boolean\"},\"filters\":{\"optional\":true,\"name\":\"filters\",\"type\":\"array\",\"items\":{\"$ref\":\"usb.DeviceFilter\"}}}}]}";
const char kVirtualKeyboard[] = "{\"functions\":[{\"parameters\":[{\"$ref\":\"virtualKeyboard.FeatureRestrictions\",\"name\":\"restrictions\"},{\"optional\":true,\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}],\"name\":\"restrictFeatures\",\"type\":\"function\"}],\"documentation_options\":{},\"deprecated\":null,\"events\":[],\"platforms\":[\"chromeos\"],\"internal\":false,\"namespace\":\"virtualKeyboard\",\"properties\":{},\"types\":[{\"type\":\"object\",\"id\":\"virtualKeyboard.FeatureRestrictions\",\"properties\":{\"autoCompleteEnabled\":{\"name\":\"autoCompleteEnabled\",\"type\":\"boolean\"},\"autoCorrectEnabled\":{\"name\":\"autoCorrectEnabled\",\"type\":\"boolean\"},\"spellCheckEnabled\":{\"name\":\"spellCheckEnabled\",\"type\":\"boolean\"},\"voiceInputEnabled\":{\"name\":\"voiceInputEnabled\",\"type\":\"boolean\"},\"handwritingEnabled\":{\"name\":\"handwritingEnabled\",\"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\"]},{\"id\":\"virtualKeyboardPrivate.KeyboardState\",\"type\":\"string\",\"enum\":[\"ENABLED\",\"DISABLED\",\"AUTO\"]},{\"id\":\"virtualKeyboardPrivate.OnTextInputBoxFocusedType\",\"type\":\"string\",\"enum\":[\"text\",\"number\",\"password\",\"date\",\"url\",\"tel\",\"email\"]},{\"id\":\"virtualKeyboardPrivate.Bounds\",\"type\":\"object\",\"properties\":{\"left\":{\"type\":\"integer\"},\"top\":{\"type\":\"integer\"},\"width\":{\"type\":\"integer\"},\"height\":{\"type\":\"integer\"}}}],\"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\",\"optional\":true,\"parameters\":[{\"type\":\"object\",\"name\":\"config\",\"properties\":{\"layout\":{\"type\":\"string\",\"minLength\":1},\"hotrodmode\":{\"type\":\"boolean\"},\"a11ymode\":{\"type\":\"boolean\"},\"features\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}]}]},{\"name\":\"openSettings\",\"type\":\"function\",\"parameters\":[]},{\"name\":\"setMode\",\"type\":\"function\",\"parameters\":[{\"$ref\":\"virtualKeyboardPrivate.KeyboardMode\",\"name\":\"mode\"}]},{\"name\":\"setKeyboardState\",\"type\":\"function\",\"parameters\":[{\"$ref\":\"virtualKeyboardPrivate.KeyboardState\",\"name\":\"state\"}]}],\"events\":[{\"name\":\"onTextInputBoxFocused\",\"type\":\"function\",\"parameters\":[{\"type\":\"object\",\"name\":\"context\",\"properties\":{\"type\":{\"$ref\":\"virtualKeyboardPrivate.OnTextInputBoxFocusedType\"}}}]},{\"name\":\"onBoundsChanged\",\"type\":\"function\",\"parameters\":[{\"name\":\"bounds\",\"$ref\":\"virtualKeyboardPrivate.Bounds\"}]},{\"name\":\"onKeyboardClosed\",\"type\":\"function\"}]}";
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}}}],\"functions\":[{\"name\":\"handlerBehaviorChanged\",\"type\":\"function\",\"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\":{\"type\":\"string\"}}},\"raw\":{\"type\":\"array\",\"optional\":true,\"items\":{\"$ref\":\"webRequest.UploadData\"}}}},\"tabId\":{\"type\":\"integer\"},\"type\":{\"$ref\":\"webRequest.ResourceType\"},\"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\":{\"requestId\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"},\"method\":{\"type\":\"string\"},\"frameId\":{\"type\":\"integer\"},\"parentFrameId\":{\"type\":\"integer\"},\"tabId\":{\"type\":\"integer\"},\"type\":{\"$ref\":\"webRequest.ResourceType\"},\"timeStamp\":{\"type\":\"number\"},\"requestHeaders\":{\"$ref\":\"webRequest.HttpHeaders\",\"optional\":true}}}],\"extraParameters\":[{\"$ref\":\"webRequest.RequestFilter\",\"name\":\"filter\"},{\"type\":\"array\",\"optional\":true,\"name\":\"extraInfoSpec\",\"items\":{\"$ref\":\"webRequest.OnBeforeSendHeadersOptions\"}}],\"returns\":{\"$ref\":\"webRequest.BlockingResponse\",\"optional\":true}},{\"name\":\"onSendHeaders\",\"type\":\"function\",\"parameters\":[{\"type\":\"object\",\"name\":\"details\",\"properties\":{\"requestId\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"},\"method\":{\"type\":\"string\"},\"frameId\":{\"type\":\"integer\"},\"parentFrameId\":{\"type\":\"integer\"},\"tabId\":{\"type\":\"integer\"},\"type\":{\"$ref\":\"webRequest.ResourceType\"},\"timeStamp\":{\"type\":\"number\"},\"requestHeaders\":{\"$ref\":\"webRequest.HttpHeaders\",\"optional\":true}}}],\"extraParameters\":[{\"$ref\":\"webRequest.RequestFilter\",\"name\":\"filter\"},{\"type\":\"array\",\"optional\":true,\"name\":\"extraInfoSpec\",\"items\":{\"$ref\":\"webRequest.OnSendHeadersOptions\"}}]},{\"name\":\"onHeadersReceived\",\"type\":\"function\",\"parameters\":[{\"type\":\"object\",\"name\":\"details\",\"properties\":{\"requestId\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"},\"method\":{\"type\":\"string\"},\"frameId\":{\"type\":\"integer\"},\"parentFrameId\":{\"type\":\"integer\"},\"tabId\":{\"type\":\"integer\"},\"type\":{\"$ref\":\"webRequest.ResourceType\"},\"timeStamp\":{\"type\":\"number\"},\"statusLine\":{\"type\":\"string\"},\"responseHeaders\":{\"$ref\":\"webRequest.HttpHeaders\",\"optional\":true},\"statusCode\":{\"type\":\"integer\"}}}],\"extraParameters\":[{\"$ref\":\"webRequest.RequestFilter\",\"name\":\"filter\"},{\"type\":\"array\",\"optional\":true,\"name\":\"extraInfoSpec\",\"items\":{\"$ref\":\"webRequest.OnHeadersReceivedOptions\"}}],\"returns\":{\"$ref\":\"webRequest.BlockingResponse\",\"optional\":true}},{\"name\":\"onAuthRequired\",\"type\":\"function\",\"parameters\":[{\"type\":\"object\",\"name\":\"details\",\"properties\":{\"requestId\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"},\"method\":{\"type\":\"string\"},\"frameId\":{\"type\":\"integer\"},\"parentFrameId\":{\"type\":\"integer\"},\"tabId\":{\"type\":\"integer\"},\"type\":{\"$ref\":\"webRequest.ResourceType\"},\"timeStamp\":{\"type\":\"number\"},\"scheme\":{\"type\":\"string\"},\"realm\":{\"type\":\"string\",\"optional\":true},\"challenger\":{\"type\":\"object\",\"properties\":{\"host\":{\"type\":\"string\"},\"port\":{\"type\":\"integer\"}}},\"isProxy\":{\"type\":\"boolean\"},\"responseHeaders\":{\"$ref\":\"webRequest.HttpHeaders\",\"optional\":true},\"statusLine\":{\"type\":\"string\"},\"statusCode\":{\"type\":\"integer\"}}},{\"type\":\"function\",\"optional\":true,\"name\":\"asyncCallback\",\"parameters\":[{\"name\":\"response\",\"$ref\":\"webRequest.BlockingResponse\"}]}],\"extraParameters\":[{\"$ref\":\"webRequest.RequestFilter\",\"name\":\"filter\"},{\"type\":\"array\",\"optional\":true,\"name\":\"extraInfoSpec\",\"items\":{\"$ref\":\"webRequest.OnAuthRequiredOptions\"}}],\"returns\":{\"$ref\":\"webRequest.BlockingResponse\",\"optional\":true}},{\"name\":\"onResponseStarted\",\"type\":\"function\",\"parameters\":[{\"type\":\"object\",\"name\":\"details\",\"properties\":{\"requestId\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"},\"method\":{\"type\":\"string\"},\"frameId\":{\"type\":\"integer\"},\"parentFrameId\":{\"type\":\"integer\"},\"tabId\":{\"type\":\"integer\"},\"type\":{\"$ref\":\"webRequest.ResourceType\"},\"timeStamp\":{\"type\":\"number\"},\"ip\":{\"type\":\"string\",\"optional\":true},\"fromCache\":{\"type\":\"boolean\"},\"statusCode\":{\"type\":\"integer\"},\"responseHeaders\":{\"$ref\":\"webRequest.HttpHeaders\",\"optional\":true},\"statusLine\":{\"type\":\"string\"}}}],\"extraParameters\":[{\"$ref\":\"webRequest.RequestFilter\",\"name\":\"filter\"},{\"type\":\"array\",\"optional\":true,\"name\":\"extraInfoSpec\",\"items\":{\"$ref\":\"webRequest.OnResponseStartedOptions\"}}]},{\"name\":\"onBeforeRedirect\",\"type\":\"function\",\"parameters\":[{\"type\":\"object\",\"name\":\"details\",\"properties\":{\"requestId\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"},\"method\":{\"type\":\"string\"},\"frameId\":{\"type\":\"integer\"},\"parentFrameId\":{\"type\":\"integer\"},\"tabId\":{\"type\":\"integer\"},\"type\":{\"$ref\":\"webRequest.ResourceType\"},\"timeStamp\":{\"type\":\"number\"},\"ip\":{\"type\":\"string\",\"optional\":true},\"fromCache\":{\"type\":\"boolean\"},\"statusCode\":{\"type\":\"integer\"},\"redirectUrl\":{\"type\":\"string\"},\"responseHeaders\":{\"$ref\":\"webRequest.HttpHeaders\",\"optional\":true},\"statusLine\":{\"type\":\"string\"}}}],\"extraParameters\":[{\"$ref\":\"webRequest.RequestFilter\",\"name\":\"filter\"},{\"type\":\"array\",\"optional\":true,\"name\":\"extraInfoSpec\",\"items\":{\"$ref\":\"webRequest.OnBeforeRedirectOptions\"}}]},{\"name\":\"onCompleted\",\"type\":\"function\",\"parameters\":[{\"type\":\"object\",\"name\":\"details\",\"properties\":{\"requestId\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"},\"method\":{\"type\":\"string\"},\"frameId\":{\"type\":\"integer\"},\"parentFrameId\":{\"type\":\"integer\"},\"tabId\":{\"type\":\"integer\"},\"type\":{\"$ref\":\"webRequest.ResourceType\"},\"timeStamp\":{\"type\":\"number\"},\"ip\":{\"type\":\"string\",\"optional\":true},\"fromCache\"" ":{\"type\":\"boolean\"},\"statusCode\":{\"type\":\"integer\"},\"responseHeaders\":{\"$ref\":\"webRequest.HttpHeaders\",\"optional\":true},\"statusLine\":{\"type\":\"string\"}}}],\"extraParameters\":[{\"$ref\":\"webRequest.RequestFilter\",\"name\":\"filter\"},{\"type\":\"array\",\"optional\":true,\"name\":\"extraInfoSpec\",\"items\":{\"$ref\":\"webRequest.OnCompletedOptions\"}}]},{\"name\":\"onErrorOccurred\",\"type\":\"function\",\"parameters\":[{\"type\":\"object\",\"name\":\"details\",\"properties\":{\"requestId\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"},\"method\":{\"type\":\"string\"},\"frameId\":{\"type\":\"integer\"},\"parentFrameId\":{\"type\":\"integer\"},\"tabId\":{\"type\":\"integer\"},\"type\":{\"$ref\":\"webRequest.ResourceType\"},\"timeStamp\":{\"type\":\"number\"},\"ip\":{\"type\":\"string\",\"optional\":true},\"fromCache\":{\"type\":\"boolean\"},\"error\":{\"type\":\"string\"}}}],\"extraParameters\":[{\"$ref\":\"webRequest.RequestFilter\",\"name\":\"filter\"}]}]}";
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\":\"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\":\"instanceId\"},{\"type\":\"number\",\"name\":\"zoomFactor\"},{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[]}]},{\"name\":\"getZoom\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"number\",\"name\":\"zoomFactor\"}]}]},{\"name\":\"setZoomMode\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"$ref\":\"webViewInternal.ZoomMode\",\"name\":\"ZoomMode\"},{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[]}]},{\"name\":\"getZoomMode\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"$ref\":\"webViewInternal.ZoomMode\",\"name\":\"ZoomMode\"}]}]},{\"name\":\"find\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"string\",\"name\":\"searchText\"},{\"type\":\"object\",\"name\":\"options\",\"optional\":true,\"properties\":{\"backward\":{\"type\":\"boolean\",\"optional\":true},\"matchCase\":{\"type\":\"boolean\",\"optional\":true}}},{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[{\"type\":\"object\",\"name\":\"results\",\"optional\":true,\"properties\":{\"numberOfMatches\":{\"type\":\"integer\"},\"activeMatchOrdinal\":{\"type\":\"integer\"},\"selectionRect\":{\"type\":\"object\",\"properties\":{\"left\":{\"type\":\"integer\"},\"top\":{\"type\":\"integer\"},\"width\":{\"type\":\"integer\"},\"height\":{\"type\":\"integer\"}}},\"canceled\":{\"type\":\"boolean\"}}}]}]},{\"name\":\"stopFinding\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"$ref\":\"webViewInternal.StopFindingAction\",\"name\":\"action\",\"optional\":true}]},{\"name\":\"loadDataWithBaseUrl\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"string\",\"name\":\"dataUrl\"},{\"type\":\"string\",\"name\":\"baseUrl\"},{\"type\":\"string\",\"name\":\"virtualUrl\",\"optional\":true},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[]}]},{\"name\":\"go\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"integer\",\"name\":\"relativeIndex\"},{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[{\"name\":\"success\",\"type\":\"boolean\"}]}]},{\"name\":\"overrideUserAgent\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"string\",\"name\":\"userAgentOverride\"}]},{\"name\":\"reload\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"}]},{\"name\":\"setAllowTransparency\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"boolean\",\"name\":\"allow\"}]},{\"name\":\"setAllowScaling\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"boolean\",\"name\":\"allow\"}]},{\"name\":\"setName\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"string\",\"name\":\"frameName\"}]},{\"name\":\"setPermission\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"integer\",\"name\":\"requestId\"},{\"$ref\":\"webViewInternal.SetPermissionAction\",\"name\":\"action\"},{\"type\":\"string\",\"name\":\"userInput\",\"optional\":true},{\"type\":\"function\",\"name\":\"callback\",\"optional\":true,\"parameters\":[{\"name\":\"allowed\",\"type\":\"boolean\"}]}]},{\"name\":\"navigate\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"type\":\"string\",\"name\":\"src\"}]},{\"name\":\"stop\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"}]},{\"name\":\"terminate\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"}]},{\"name\":\"captureVisibleRegion\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"$ref\":\"extensionTypes.ImageDetails\",\"name\":\"options\",\"optional\":true},{\"type\":\"function\",\"name\":\"callback\",\"parameters\":[{\"type\":\"string\",\"name\":\"dataUrl\"}]}]},{\"name\":\"clearData\",\"type\":\"function\",\"parameters\":[{\"type\":\"integer\",\"name\":\"instanceId\"},{\"$ref\":\"webViewInternal.RemovalOptions\",\"name\":\"options\"},{\"name\":\"dataToRemove\",\"$ref\":\"webViewInternal.DataTypeSet\"},{\"name\":\"callback\",\"type\":\"function\",\"optional\":true,\"parameters\":[]}]}]}";
const char kWebRequestInternal[] = "{\"namespace\":\"webRequestInternal\",\"types\":[{\"id\":\"webRequestInternal.AddEventListenerOptions\",\"type\":\"string\",\"enum\":[\"requestHeaders\",\"responseHeaders\",\"blocking\",\"asyncBlocking\",\"requestBody\"]}],\"functions\":[{\"name\":\"addEventListener\",\"type\":\"function\",\"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\",\"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\"}},\"excludeRequestHeaders\":{\"type\":\"array\",\"optional\":true,\"items\":{\"$ref\":\"declarativeWebRequest.HeaderFilter\"}},\"responseHeaders\":{\"type\":\"array\",\"optional\":true,\"items\":{\"$ref\":\"declarativeWebRequest.HeaderFilter\"}},\"excludeResponseHeaders\":{\"type\":\"array\",\"optional\":true,\"items\":{\"$ref\":\"declarativeWebRequest.HeaderFilter\"}},\"thirdPartyForCookies\":{\"type\":\"boolean\",\"optional\":true},\"stages\":{\"type\":\"array\",\"items\":{\"$ref\":\"declarativeWebRequest.Stage\"},\"optional\":true},\"instanceType\":{\"$ref\":\"declarativeWebRequest.RequestMatcherInstanceType\"}}},{\"id\":\"declarativeWebRequest.CancelRequest\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.CancelRequestInstanceType\"}}},{\"id\":\"declarativeWebRequest.RedirectRequest\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.RedirectRequestInstanceType\"},\"redirectUrl\":{\"type\":\"string\"}}},{\"id\":\"declarativeWebRequest.RedirectToTransparentImage\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.RedirectToTransparentImageInstanceType\"}}},{\"id\":\"declarativeWebRequest.RedirectToEmptyDocument\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.RedirectToEmptyDocumentInstanceType\"}}},{\"id\":\"declarativeWebRequest.RedirectByRegEx\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.RedirectByRegExInstanceType\"},\"from\":{\"type\":\"string\"},\"to\":{\"type\":\"string\"}}},{\"id\":\"declarativeWebRequest.SetRequestHeader\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.SetRequestHeaderInstanceType\"},\"name\":{\"type\":\"string\"},\"value\":{\"type\":\"string\"}}},{\"id\":\"declarativeWebRequest.RemoveRequestHeader\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.RemoveRequestHeaderInstanceType\"},\"name\":{\"type\":\"string\"}}},{\"id\":\"declarativeWebRequest.AddResponseHeader\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.AddResponseHeaderInstanceType\"},\"name\":{\"type\":\"string\"},\"value\":{\"type\":\"string\"}}},{\"id\":\"declarativeWebRequest.RemoveResponseHeader\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.RemoveResponseHeaderInstanceType\"},\"name\":{\"type\":\"string\"},\"value\":{\"type\":\"string\",\"optional\":true}}},{\"id\":\"declarativeWebRequest.IgnoreRules\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.IgnoreRulesInstanceType\"},\"lowerPriorityThan\":{\"type\":\"integer\",\"optional\":true},\"hasTag\":{\"type\":\"string\",\"optional\":true}}},{\"id\":\"declarativeWebRequest.SendMessageToExtension\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.SendMessageToExtensionInstanceType\"},\"message\":{\"type\":\"string\"}}},{\"id\":\"declarativeWebRequest.RequestCookie\",\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"optional\":true},\"value\":{\"type\":\"string\",\"optional\":true}}},{\"id\":\"declarativeWebRequest.ResponseCookie\",\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"optional\":true},\"value\":{\"type\":\"string\",\"optional\":true},\"expires\":{\"type\":\"string\",\"optional\":true},\"maxAge\":{\"type\":\"number\",\"optional\":true},\"domain\":{\"type\":\"string\",\"optional\":true},\"path\":{\"type\":\"string\",\"optional\":true},\"secure\":{\"type\":\"string\",\"optional\":true},\"httpOnly\":{\"type\":\"string\",\"optional\":true}}},{\"id\":\"declarativeWebRequest.FilterResponseCookie\",\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"optional\":true},\"value\":{\"type\":\"string\",\"optional\":true},\"expires\":{\"type\":\"string\",\"optional\":true},\"maxAge\":{\"type\":\"number\",\"optional\":true},\"domain\":{\"type\":\"string\",\"optional\":true},\"path\":{\"type\":\"string\",\"optional\":true},\"secure\":{\"type\":\"string\",\"optional\":true},\"httpOnly\":{\"type\":\"string\",\"optional\":true},\"ageUpperBound\":{\"type\":\"integer\",\"minimum\":0,\"optional\":true},\"ageLowerBound\":{\"type\":\"integer\",\"minimum\":0,\"optional\":true},\"sessionCookie\":{\"type\":\"boolean\",\"optional\":true}}},{\"id\":\"declarativeWebRequest.AddRequestCookie\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.AddRequestCookieInstanceType\"},\"cookie\":{\"$ref\":\"declarativeWebRequest.RequestCookie\"}}},{\"id\":\"declarativeWebRequest.AddResponseCookie\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.AddResponseCookieInstanceType\"},\"cookie\":{\"$ref\":\"declarativeWebRequest.ResponseCookie\"}}},{\"id\":\"declarativeWebRequest.EditRequestCookie\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.EditRequestCookieInstanceType\"},\"filter\":{\"$ref\":\"declarativeWebRequest.RequestCookie\"},\"modification\":{\"$ref\":\"declarativ" "eWebRequest.RequestCookie\"}}},{\"id\":\"declarativeWebRequest.EditResponseCookie\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.EditResponseCookieInstanceType\"},\"filter\":{\"$ref\":\"declarativeWebRequest.FilterResponseCookie\"},\"modification\":{\"$ref\":\"declarativeWebRequest.ResponseCookie\"}}},{\"id\":\"declarativeWebRequest.RemoveRequestCookie\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.RemoveRequestCookieInstanceType\"},\"filter\":{\"$ref\":\"declarativeWebRequest.RequestCookie\"}}},{\"id\":\"declarativeWebRequest.RemoveResponseCookie\",\"type\":\"object\",\"properties\":{\"instanceType\":{\"$ref\":\"declarativeWebRequest.RemoveResponseCookieInstanceType\"},\"filter\":{\"$ref\":\"declarativeWebRequest.FilterResponseCookie\"}}}],\"functions\":[],\"events\":[{\"name\":\"onRequest\",\"options\":{\"supportsListeners\":false,\"supportsRules\":true,\"conditions\":[\"declarativeWebRequest.RequestMatcher\"],\"actions\":[\"declarativeWebRequest.AddRequestCookie\",\"declarativeWebRequest.AddResponseCookie\",\"declarativeWebRequest.AddResponseHeader\",\"declarativeWebRequest.CancelRequest\",\"declarativeWebRequest.EditRequestCookie\",\"declarativeWebRequest.EditResponseCookie\",\"declarativeWebRequest.RedirectRequest\",\"declarativeWebRequest.RedirectToTransparentImage\",\"declarativeWebRequest.RedirectToEmptyDocument\",\"declarativeWebRequest.RedirectByRegEx\",\"declarativeWebRequest.RemoveRequestCookie\",\"declarativeWebRequest.RemoveResponseCookie\",\"declarativeWebRequest.RemoveRequestHeader\",\"declarativeWebRequest.RemoveResponseHeader\",\"declarativeWebRequest.SetRequestHeader\",\"declarativeWebRequest.SendMessageToExtension\",\"declarativeWebRequest.IgnoreRules\"]}},{\"name\":\"onMessage\",\"type\":\"function\",\"parameters\":[{\"type\":\"object\",\"name\":\"details\",\"properties\":{\"message\":{\"type\":\"string\"},\"stage\":{\"$ref\":\"declarativeWebRequest.Stage\"},\"requestId\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"},\"method\":{\"type\":\"string\"},\"frameId\":{\"type\":\"integer\"},\"parentFrameId\":{\"type\":\"integer\"},\"tabId\":{\"type\":\"integer\"},\"type\":{\"$ref\":\"webRequest.ResourceType\"},\"timeStamp\":{\"type\":\"number\"}}}]}]}";
const char kWebViewRequest[] = "{\"namespace\":\"webViewRequest\"}";
struct Static {
Static() {
schemas["alarms"] = kAlarms;
schemas["app.currentWindowInternal"] = kAppCurrentWindowInternal;
schemas["app.runtime"] = kAppRuntime;
schemas["appViewGuestInternal"] = kAppViewGuestInternal;
schemas["app.window"] = kAppWindow;
schemas["audio"] = kAudio;
schemas["bluetooth"] = kBluetooth;
schemas["bluetoothLowEnergy"] = kBluetoothLowEnergy;
schemas["bluetoothPrivate"] = kBluetoothPrivate;
schemas["bluetoothSocket"] = kBluetoothSocket;
schemas["cast.channel"] = kCastChannel;
schemas["clipboard"] = kClipboard;
schemas["documentScan"] = kDocumentScan;
schemas["displaySource"] = kDisplaySource;
schemas["dns"] = kDns;
schemas["events"] = kEvents;
schemas["extensionsManifestTypes"] = kExtensionsManifestTypes;
schemas["extensionOptionsInternal"] = kExtensionOptionsInternal;
schemas["extensionViewInternal"] = kExtensionViewInternal;
schemas["extensionTypes"] = kExtensionTypes;
schemas["guestViewInternal"] = kGuestViewInternal;
schemas["management"] = kManagement;
schemas["hid"] = kHid;
schemas["idle"] = kIdle;
schemas["metricsPrivate"] = kMetricsPrivate;
schemas["mimeHandlerPrivate"] = kMimeHandlerPrivate;
schemas["mimeHandlerViewGuestInternal"] = kMimeHandlerViewGuestInternal;
schemas["mojoPrivate"] = kMojoPrivate;
schemas["networkingPrivate"] = kNetworkingPrivate;
schemas["power"] = kPower;
schemas["printerProvider"] = kPrinterProvider;
schemas["printerProviderInternal"] = kPrinterProviderInternal;
schemas["runtime"] = kRuntime;
schemas["serial"] = kSerial;
schemas["socket"] = kSocket;
schemas["sockets.tcp"] = kSocketsTcp;
schemas["sockets.tcpServer"] = kSocketsTcpServer;
schemas["sockets.udp"] = kSocketsUdp;
schemas["storage"] = kStorage;
schemas["system.cpu"] = kSystemCpu;
schemas["system.display"] = kSystemDisplay;
schemas["system.memory"] = kSystemMemory;
schemas["system.network"] = kSystemNetwork;
schemas["system.storage"] = kSystemStorage;
schemas["test"] = kTest;
schemas["usb"] = kUsb;
schemas["virtualKeyboard"] = kVirtualKeyboard;
schemas["virtualKeyboardPrivate"] = kVirtualKeyboardPrivate;
schemas["webRequest"] = kWebRequest;
schemas["webViewInternal"] = kWebViewInternal;
schemas["webRequestInternal"] = kWebRequestInternal;
schemas["declarativeWebRequest"] = kDeclarativeWebRequest;
schemas["webViewRequest"] = kWebViewRequest;
}
std::map<std::string, const char*> schemas;
};
base::LazyInstance<Static>::DestructorAtExit g_lazy_instance;
} // namespace
namespace extensions {
namespace api {
// static
base::StringPiece GeneratedSchemas::Get(const std::string& name) {
return IsGenerated(name) ? g_lazy_instance.Get().schemas[name] : "";
}
// static
bool GeneratedSchemas::IsGenerated(std::string name) {
return g_lazy_instance.Get().schemas.count(name) > 0;
}
} // namespace api
} // namespace extensions