<?xml version="1.0"?>
<!--
Copyright (c) 2021 Project CHIP Authors

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.
-->
<configurator>
  <domain name="CHIP"/>
  <enum name="CommissioningError" type="ENUM8">
    <cluster code="0x0030"/>
    <item name="Ok" value="0x0"/>
    <item name="ValueOutsideRange" value="0x1"/>
    <item name="InvalidAuthentication" value="0x2"/>
    <item name="NoFailSafe" value="0x3"/>
    <item name="BusyWithOtherAdmin" value="0x4"/>
  </enum>
  <enum name="RegulatoryLocationType" type="ENUM8">
    <cluster code="0x0030"/>
    <item name="Indoor" value="0x0"/>
    <item name="Outdoor" value="0x1"/>
    <item name="IndoorOutdoor" value="0x2"/>
  </enum>
  <struct name="BasicCommissioningInfo">
    <cluster code="0x0030"/>
    <item fieldId="0" name="FailSafeExpiryLengthSeconds" type="INT16U"/>
    <item fieldId="1" name="MaxCumulativeFailsafeSeconds" type="INT16U"/>
  </struct>
  <cluster>
    <domain>General</domain>
    <name>General Commissioning</name>
    <code>0x0030</code>
    <define>GENERAL_COMMISSIONING_CLUSTER</define>
    <description>This cluster is used to manage global aspects of the Commissioning flow.</description>
    <attribute side="server" code="0x00" define="BREADCRUMB" type="INT64U" writable="true" default="0x0000000000000000" optional="false">
      <description>Breadcrumb</description>
      <access op="read" privilege="view"/>
      <access op="write" privilege="administer"/>
    </attribute>
    <attribute side="server" code="0x01" define="BASICCOMMISSIONINGINFO" type="BasicCommissioningInfo" writable="false" optional="false">BasicCommissioningInfo</attribute>
    <attribute side="server" code="0x02" define="REGULATORYCONFIG" type="RegulatoryLocationType" writable="false" optional="false">RegulatoryConfig</attribute>
    <attribute side="server" code="0x03" define="LOCATIONCAPABILITY" type="RegulatoryLocationType" writable="false" optional="false">LocationCapability</attribute>
    <attribute side="server" code="0x04" define="SUPPORTS_CONCURRENT_CONNECTION" type="boolean" writable="false" default="1" optional="false">SupportsConcurrentConnection</attribute>

    <command source="client" code="0x00" name="ArmFailSafe" response="ArmFailSafeResponse" optional="false" cli="chip fabric_commissioning armfailsafe">
      <description>Arm the persistent fail-safe timer with an expiry time of now + ExpiryLengthSeconds using device clock</description>
      <arg name="expiryLengthSeconds" type="INT16U"/>
      <arg name="breadcrumb" type="INT64U"/>
      <access op="invoke" privilege="administer"/>
    </command>
    <command source="server" code="0x01" name="ArmFailSafeResponse" optional="false" cli="chip fabric_commissioning armfailsaferesponse">
      <description>Success/failure response for ArmFailSafe command</description>
      <arg name="errorCode" type="CommissioningError"/>
      <arg name="debugText" type="CHAR_STRING"/>
    </command>
    <command source="client" code="0x02" name="SetRegulatoryConfig" response="SetRegulatoryConfigResponse" cli="chip fabric_commissioning setregulatoryconfig">
      <description>Set the regulatory configuration to be used during commissioning</description>
      <arg name="NewRegulatoryConfig" type="RegulatoryLocationType"/>
      <arg name="countryCode" type="CHAR_STRING"/>
      <arg name="breadcrumb" type="INT64U"/>
      <access op="invoke" privilege="administer"/>
    </command>
    <command source="server" code="0x03" name="SetRegulatoryConfigResponse" cli="chip fabric_commissioning setregulatoryconfigresponse">
      <description>Success/failure response for SetRegulatoryConfig command</description>
      <arg name="errorCode" type="CommissioningError"/>
      <arg name="debugText" type="CHAR_STRING"/>
    </command>
    <command source="client" code="0x04" name="CommissioningComplete" response="CommissioningCompleteResponse" isFabricScoped="true" optional="false" cli="chip fabric_commissioning commissioningcomplete">
      <description>Signals the Server that the Client has successfully completed all steps of Commissioning/Recofiguration needed during fail-safe period.</description>
      <access op="invoke" privilege="administer"/>
    </command>
    <command source="server" code="0x05" name="CommissioningCompleteResponse" optional="false" cli="chip fabric_commissioning commissioningcompleteresponse">
      <description>Indicates to client whether CommissioningComplete command succeeded</description>
      <arg name="errorCode" type="CommissioningError"/>
      <arg name="debugText" type="CHAR_STRING"/>
    </command>
  </cluster>
</configurator>
