// Copyright (c) 2012 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.

[
  {
    "namespace": "chromeosInfoPrivate",
    "description": "none",
    "compiler_options": {
      "implemented_in": "chrome/browser/chromeos/extensions/info_private_api.h"
    },
    "types": [
      {
        "id": "PropertyName",
        "type": "string",
        "enum": ["timezone",
                 "a11yLargeCursorEnabled",
                 "a11yStickyKeysEnabled",
                 "a11ySpokenFeedbackEnabled",
                 "a11yHighContrastEnabled",
                 "a11yScreenMagnifierEnabled",
                 "a11yAutoClickEnabled",
                 "a11yVirtualKeyboardEnabled",
                 "a11yCaretHighlightEnabled",
                 "a11yCursorHighlightEnabled",
                 "a11yFocusHighlightEnabled",
                 "a11ySelectToSpeakEnabled",
                 "a11ySwitchAccessEnabled",
                 "sendFunctionKeys",
                 "cameraMediaConsolidated"],
        "description": "Chrome OS system property name"
      },
      {
        "id": "SessionType",
        "type": "string",
        "enum": ["normal", "kiosk", "public session"],
        "description": "Current session type."
      },
      {
        "id": "PlayStoreStatus",
        "type": "string",
        "enum": ["not available", "available", "enabled"],
        "description": "Status of the play store. Note: 'available' means that the device supports the playstore but it is not enabled."
      },
      {
        "id": "ManagedDeviceStatus",
        "type": "string",
        "enum": ["managed", "not managed"],
        "description": "Status of enterprise enrollment."
      },
      {
        "id": "DeviceType",
        "type": "string",
        "enum": ["chromebase", "chromebit", "chromebook", "chromebox", "chromedevice"],
        "description": "Device type."
      },
      {
        "id": "StylusStatus",
        "type": "string",
        "enum": ["unsupported", "supported", "seen"],
        "description": "Status of stylus."
      },
      {
        "id": "AssistantStatus",
        "type": "string",
        "enum": ["unsupported", "supported"],
        "description": "Status of Google Assistant."
      }
    ],
    "functions": [
      {
        "name": "get",
        "description": "Fetches customization values for the given property names. See property names in the declaration of the returned dictionary.",
        "type": "function",
        "parameters": [
          {
            "name": "propertyNames",
            "type": "array",
            "description": "Chrome OS Property names",
            "items": {"type": "string"}
          },
          {
            "name": "callback",
            "type": "function",
            "parameters": [
              {
                "name": "propertiesDictionary",
                "type": "object",
                "description": "Dictionary which contains all requested properties",
                "properties": {
                  "board" : {"type": "string", "optional": true, "description": "Board name"},
                  "customizationId": {"type": "string", "optional": true, "description": "Customization ID"},
                  "homeProvider" : {"type": "string", "optional": true, "description": "Home provider which is used by the cellular device"},
                  "hwid": {"type": "string", "optional": true, "description": "Hardware ID"},
                  "initialLocale" : {"type": "string", "optional": true, "description": "Initial locale for the device"},
                  "isOwner" : {"type": "boolean", "optional": true, "description": "True if current logged in user is device owner"},
                  "sessionType": {"$ref": "SessionType", "optional": true},
                  "playStoreStatus": {"$ref": "PlayStoreStatus", "optional": true},
                  "managedDeviceStatus": {"$ref": "ManagedDeviceStatus", "optional": true},
                  "deviceType": {"$ref": "DeviceType", "optional": true},
                  "stylusStatus": {"$ref": "StylusStatus", "optional": true},
                  "assistantStatus": {"$ref": "AssistantStatus", "optional": true},
                  "clientId" : {"type": "string", "optional": true, "description": "Device client id"},
                  "timezone" : {"type": "string", "optional": true, "description": "Timezone"},
                  "a11yLargeCursorEnabled" : {"type": "boolean", "optional": true, "description": "If true, ChromeOS is showing enlarged cursor."},
                  "a11yStickyKeysEnabled" : {"type": "boolean", "optional": true, "description": "If true, sticky keys are turned on."},
                  "a11ySpokenFeedbackEnabled" : {"type": "boolean", "optional": true, "description": "If enabled, ChromeOS text-to-speech feature is turned on."},
                  "a11yHighContrastEnabled" : {"type": "boolean", "optional": true, "description": "If true, all displays have high contrast mode turned on."},
                  "a11yScreenMagnifierEnabled" : {"type": "boolean", "optional": true, "description": "If true, all displays have screen magnifier turned on."},
                  "a11yAutoClickEnabled" : {"type": "boolean", "optional": true, "description": "If true, auto mouse click accessibility feature is turned on."},
                  "a11yVirtualKeyboardEnabled" : {"type": "boolean", "optional": true, "description": "If true, virtual keyboard will be enabled."},
                  "sendFunctionKeys" : {"type": "boolean", "optional": true, "description": "If true, the ChromeOS top row keys send function keys."},
                  "cameraMediaConsolidated" : {"type": "boolean", "optional": true, "description": "True if camera photos and videos have been consolidated to one place."},
                  "supportedTimezones" : {
                    "type": "array",
                    "items": {
                      "type": "array",
                      "items": {"type": "string"}
                    },
                    "optional": true,
                    "description": "List of supported timezones definitions."
                  }
                }
              }
            ]
          }
        ]
      },
      {
        "name": "set",
        "description": "Sets values for the given system property.",
        "type": "function",
        "parameters": [
          {
            "name": "propertyName",
            "$ref": "PropertyName",
            "description": "Chrome OS system property name"
          },
          {
            "name": "propertyValue",
            "type": "any",
            "description": "Chrome OS system property value"
          }
        ]
      }
    ]
  }
]
