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

<!--
The generic enum values for the StatusCode and ModeTag enums are defined within the ModeBase namespace
in the mode-base-server source code. See mode-base-cluster-objects.h.
This is because zap does not currently support generating code for clusters that do not have a cluster ID.
-->

  <struct name="ModeTagStruct">
    <cluster code="0x0051"/> <!-- Laundry Washer Mode -->
    <cluster code="0x0052"/> <!-- Refrigerator and temperature controlled cabinet Mode -->
    <cluster code="0x0054"/> <!-- RVC Run Mode -->
    <cluster code="0x0055"/> <!-- RVC Clean Mode -->
    <cluster code="0x0059"/> <!-- Dishwasher Mode -->
    <cluster code="0x005E"/> <!-- Microwave Oven Mode -->
    <cluster code="0x0049"/> <!-- Oven Mode -->
    <cluster code="0x009D"/> <!-- Energy EVSE Mode -->
    <cluster code="0x009F"/> <!-- Device Energy Management Mode -->
    <!-- MfgCode has been deprecated -->
    <item name="MfgCode" type="vendor_id" optional="true"/>
    <item name="Value"   type="enum16"    optional="false"/>
  </struct>

  <struct name="ModeOptionStruct">
    <cluster code="0x0051"/> <!-- Laundry Washer Mode -->
    <cluster code="0x0052"/> <!-- Refrigerator and temperature controlled cabinet Mode -->
    <cluster code="0x0054"/> <!-- RVC Run Mode -->
    <cluster code="0x0055"/> <!-- RVC Clean Mode -->
    <cluster code="0x0059"/> <!-- Dishwasher Mode -->
    <cluster code="0x005E"/> <!-- Microwave Oven Mode -->
    <cluster code="0x0049"/> <!-- Oven Mode -->
    <cluster code="0x009D"/> <!-- Energy EVSE Mode -->
    <cluster code="0x009F"/> <!-- Device Energy Management Mode -->
    <item name="Label"    type="char_string"                length="64" optional="false"/>
    <item name="Mode"     type="int8u"                                  optional="false"/>
    <item name="ModeTags" type="ModeTagStruct" array="true" length="8"  optional="false"/>
  </struct>

<!--  <cluster>-->
<!--    <domain>General</domain>-->
<!--    <name>Mode Base</name>-->
<!--    <code>0x...</code>-->
<!--    <define>MODE_BASE_CLUSTER</define>-->
<!--    <client init="false" tick="false">true</client>-->
<!--    <server init="false" tick="false">true</server>-->
<!--    <description>Attributes and commands for selecting a mode from a list of supported options.</description>-->
<!--    <globalAttribute side="either" code="0xFFFD" value="2"/>-->
<!--    &lt;!&ndash; Base data types &ndash;&gt;-->
<!--    <attribute side="server" code="0x0000" define="SUPPORTED_MODES"  type="array" entryType="ModeOptionStruct" storage="external" writable="false" optional="false" isNullable="false" length="255">SupportedModes</attribute>-->
<!--    <attribute side="server" code="0x0001" define="CURRENT_MODE"     type="int8u"                              storage="external" writable="false" optional="false" isNullable="false" reportable="true">CurrentMode</attribute>-->
<!--    <attribute side="server" code="0x0002" define="START_UP_MODE"    type="int8u"                              storage="external" writable="true"  optional="true"  isNullable="true">StartUpMode</attribute>-->
<!--    <attribute side="server" code="0x0003" define="ON_MODE"          type="int8u"                              storage="external" writable="true"  optional="true"  isNullable="true">OnMode</attribute>-->

<!--    &lt;!&ndash; Commands &ndash;&gt;-->
<!--    <command source="client" code="0x00" name="ChangeToMode" response="ChangeToModeResponse" optional="false">-->
<!--      <description>-->
<!--        This command is used to change device modes.-->
<!--        On receipt of this command the device SHALL respond with a ChangeToModeResponse command.-->
<!--      </description>-->
<!--      <arg name="NewMode" type="int8u" optional="false"/>-->
<!--    </command>-->

<!--    <command source="server" code="0x01" name="ChangeToModeResponse" disableDefaultResponse="true" optional="false">-->
<!--      <description>-->
<!--        This command is sent by the device on receipt of the ChangeToModeWithStatus command.-->
<!--      </description>-->
<!--      <arg name="Status"     type="enum8"                   optional="false"/>-->
<!--      <arg name="StatusText" type="char_string" lenght="64" optional="true"/>-->
<!--    </command>-->
<!--  </cluster>-->


</configurator>
