<?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="General"/>

  <enum name="StatusCode" type="ENUM8">
    <cluster code="0x003c"/>
     <item name="Busy" value="0x01"/>
     <item name="PAKEParameterError" value="0x02"/>
     <item name="WindowNotOpen" value="0x03"/>
  </enum>

  <enum name="CommissioningWindowStatus" type="ENUM8">
    <cluster code="0x003c"/>
     <item name="WindowNotOpen" value="0x00"/>
     <item name="EnhancedWindowOpen" value="0x01"/>
     <item name="BasicWindowOpen" value="0x02"/>
  </enum>

  <cluster>
    <name>AdministratorCommissioning</name>
    <domain>General</domain>
    <code>0x003c</code>
    <define>ADMINISTRATOR_COMMISSIONING_CLUSTER</define>
    <description>Commands to trigger a Node to allow a new Administrator to commission it.</description>

    <attribute side="server" code="0x0000" define="WINDOW_STATUS" type="INT8U" writable="false" optional="false">WindowStatus</attribute>
    <attribute side="server" code="0x0001" define="ADMIN_FABRIC_INDEX" type="fabric_idx" writable="false" isNullable="true" optional="false">AdminFabricIndex</attribute>
    <attribute side="server" code="0x0002" define="ADMIN_VENDOR_ID" type="INT16U" writable="false" isNullable="true" optional="false">AdminVendorId</attribute>

    <command source="client" code="0x00" name="OpenCommissioningWindow" mustUseTimedInvoke="true" optional="false">
      <description>This command is used by a current Administrator to instruct a Node to go into commissioning mode using enhanced commissioning method.</description>
      <arg name="CommissioningTimeout" type="INT16U"/>
      <arg name="PAKEVerifier" type="OCTET_STRING"/>
      <arg name="Discriminator" type="INT16U"/>
      <arg name="Iterations" type="INT32U"/>
      <arg name="Salt" type="OCTET_STRING"/>
      <access op="invoke" privilege="administer"/>
    </command>

    <command source="client" code="0x01" name="OpenBasicCommissioningWindow" mustUseTimedInvoke="true" optional="true">
      <description>This command is used by a current Administrator to instruct a Node to go into commissioning mode using basic commissioning method, if the node supports it.</description>
      <arg name="CommissioningTimeout" type="INT16U"/>
      <access op="invoke" privilege="administer"/>
    </command>

    <command source="client" code="0x02" name="RevokeCommissioning" mustUseTimedInvoke="true" optional="false">
      <description>This command is used by a current Administrator to instruct a Node to revoke any active Open Commissioning Window or Open Basic Commissioning Window command.</description>
      <access op="invoke" privilege="administer"/>
    </command>

  </cluster>
</configurator>
