#
# 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=

# OAuth 2.0 client secret.
# client_secret=

# OAuth 2.0 API key.
# api_key=

# Human readable name of the device.
name=Edison Starter Board

# Human readable description of the device.
# Defaults to empty string"
description=Intel Edison Board

# Location of the device.
# location=

# Manufacturer of the device.
oem_name=Intel

# Model of the device.
# Defaults to Brillo.
model_name=Edison

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

# Maximum role for local anonymous user.
# local_anonymous_access_role=viewer

# 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
