#
# Copyright 2015 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# OAuth 2.0 client id.
client_id=58855907228.apps.googleusercontent.com

# OAuth 2.0 client secret.
client_secret=eHSAREAHrIqPsHBxCE9zPPBi

# OAuth 2.0 API key.
api_key=AIzaSyDSq46gG-AxUnC3zoqD9COIPrjolFsMfMA

# Human readable name of the device.
name=Brillo Starter Board (Qualcomm)

# Human readable description of the device.
# Defaults to empty string"
description=Controls on-board LEDs

# Location of the device.
# location=

# Manufacturer of the device.
oem_name=Qualcomm Technologies, Inc.

# Model of the device.
# Defaults to Brillo.
model_name=Brillo Starter Board (Qualcomm)

# Five character code assigned by the cloud registry of device models.
# Defaults to "AAAAA" (Unregistered model).
model_id=ABHNy

# Maximum role for local anonymous user.
local_anonymous_access_role=user

# If true, allows local pairing using Privet API.
# local_pairing_enabled=true

# If true, allows local discovery using mDns.
# local_discovery_enabled=true

# GCD service polling interval in milliseconds.
# polling_period_ms=7000

# GCD service backup polling interval in milliseconds.
# backup_polling_period_ms=1800000

# Automatic mode causes buffet to automatically bring up a SoftAP for
# bootstrapping when it looses network connectivity for long enough,
# and on first boot.
# wifi_auto_setup_enabled=true

# List of pairing modes supported by device.
# Values can be one of pinCode, embeddedCode, ultrasound32, audible32.
# Defaults to pinCode if embedded_code_path is empty, or embeddedCode otherwise.
pairing_modes=embeddedCode

# Absolute path to file specifying an embedded pairing code. The file at
# embedded_code_path should be a file in key value format, with a key
# embedded_code.
# Defaults to empty path.
embedded_code_path=/etc/weaved/weaved.conf

# Embedded code.
embedded_code=hello
