<?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="HourFormatEnum" type="enum8">
    <cluster code="0x002c"/>
    <item name="12hr" value="0x00"/>
    <item name="24hr" value="0x01"/>
    <item name="UseActiveLocale" value="0xFF"/>                   
  </enum>

  <enum name="CalendarTypeEnum" type="enum8">
    <cluster code="0x002c"/>
    <item name="Buddhist" value="0x00"/>
    <item name="Chinese" value="0x01"/>
    <item name="Coptic" value="0x02"/>
    <item name="Ethiopian" value="0x03"/>
    <item name="Gregorian" value="0x04"/>
    <item name="Hebrew" value="0x05"/> 
    <item name="Indian" value="0x06"/>
    <item name="Islamic" value="0x07"/>  
    <item name="Japanese" value="0x08"/>
    <item name="Korean" value="0x09"/>  
    <item name="Persian" value="0x0A"/>
    <item name="Taiwanese" value="0x0B"/>                   
    <item name="UseActiveLocale" value="0xFF"/>                   
  </enum>
  <cluster>
    <domain>General</domain>
    <name>Time Format Localization</name>
    <code>0x002c</code>
    <define>TIME_FORMAT_LOCALIZATION_CLUSTER</define>
    <client init="false" tick="false">true</client>
    <server init="false" tick="false">true</server>
    <description>Nodes should be expected to be deployed to any and all regions of the world. These global regions
      may have differing preferences for how dates and times are conveyed. As such, Nodes that visually
      or audibly convey time information need a mechanism by which they can be configured to use a
      user’s preferred format.</description>

      <features>
        <feature bit="0" code="CALFMT" name="CalendarFormat" summary="The Node can be configured to use different calendar formats when conveying values to a user.">
          <optionalConform/>
        </feature>
      </features>

    <!-- Base data types -->
    <attribute side="server" code="0x00" define="HOUR_FORMAT" type="HourFormatEnum" writable="true" optional="false">
        <description>HourFormat</description>
        <access op="write" role="manage" />
    </attribute>
    <attribute side="server" code="0x01" define="ACTIVE_CALENDAR_TYPE" type="CalendarTypeEnum" writable="true" optional="true">
        <description>ActiveCalendarType</description>
        <access op="write" role="manage" />
    </attribute>
    <attribute side="server" code="0x02" define="SUPPORTED_CALENDAR_TYPES" type="array" entryType="CalendarTypeEnum" writable="false" optional="true">SupportedCalendarTypes</attribute>  
  </cluster>
</configurator>
