<?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"/>
  <struct name="TestListStructOctet">
    <cluster code="0xFFF1FC05"/>
    <item name="member1" type="INT64U"/>
    <item name="member2" type="OCTET_STRING" length="32"/>
  </struct>

  <struct name="TestFabricScoped" isFabricScoped="true">
    <cluster code="0xFFF1FC05"/>
    <item fieldId="1" name="fabricSensitiveInt8u" type="INT8U" isFabricSensitive="true"/>
    <item fieldId="2" name="optionalFabricSensitiveInt8u" type="INT8U" optional="true" isFabricSensitive="true"/>
    <item fieldId="3" name="nullableFabricSensitiveInt8u" type="INT8U" isNullable="true" isFabricSensitive="true"/>
    <item fieldId="4" name="nullableOptionalFabricSensitiveInt8u" type="INT8U" optional="true" isNullable="true" isFabricSensitive="true"/>
    <item fieldId="5" name="fabricSensitiveCharString" type="CHAR_STRING" isFabricSensitive="true"/>
    <item fieldId="6" name="fabricSensitiveStruct" type="SimpleStruct" isFabricSensitive="true"/>
    <item fieldId="7" name="fabricSensitiveInt8uList" type="INT8U" array="true" isFabricSensitive="true"/>
  </struct>

  <enum name="SimpleEnum" type="ENUM8">
    <cluster code="0xFFF1FC05"/>
    <item name="Unspecified" value="0x00"/>
    <item name="ValueA" value="0x01"/>
    <item name="ValueB" value="0x02"/>
    <item name="ValueC" value="0x03"/>
  </enum>

  <bitmap name="SimpleBitmap" type="BITMAP8">
    <cluster code="0xFFF1FC05"/>
    <field name="ValueA" mask="0x1"/>
    <field name="ValueB" mask="0x2"/>
    <field name="ValueC" mask="0x4"/>
  </bitmap>

  <struct name="SimpleStruct">
    <cluster code="0xFFF1FC05"/>
    <item name="a" type="INT8U" optional="false"/>
    <item name="b" type="BOOLEAN" optional="false"/>
    <item name="c" type="SimpleEnum" optional="false"/>
    <item name="d" type="OCTET_STRING" optional="false"/>
    <item name="e" type="CHAR_STRING" optional="false"/>
    <item name="f" type="SimpleBitmap" optional="false"/>
    <item name="g" type="single" optional="false"/>
    <item name="h" type="double" optional="false"/>
  </struct>

  <struct name="NestedStruct">
    <cluster code="0xFFF1FC05"/>
    <item name="a" type="INT8U" optional="false"/>
    <item name="b" type="BOOLEAN" optional="false"/>
    <item name="c" type="SimpleStruct" optional="false"/>
  </struct>

  <struct name="NestedStructList">
    <cluster code="0xFFF1FC05"/>
    <item name="a" type="INT8U" optional="false"/>
    <item name="b" type="BOOLEAN" optional="false"/>
    <item name="c" type="SimpleStruct" optional="false"/>
    <item name="d" type="SimpleStruct" array="true" optional="false"/>
    <item name="e" type="INT32U" array="true" optional="false"/>
    <item name="f" type="OCTET_STRING" array="true" optional="false"/>
    <item name="g" type="INT8U" array="true" optional="false"/>
  </struct>

  <struct name="DoubleNestedStructList">
    <cluster code="0xFFF1FC05"/>
    <item name="a" type="NestedStructList" array="true" optional="false"/>
  </struct>


  <struct name="NullablesAndOptionalsStruct">
    <cluster code="0xFFF1FC05"/>
    <item name="NullableInt" type="INT16U" isNullable="true"/>
    <item name="OptionalInt" type="INT16U" optional="true"/>
    <item name="NullableOptionalInt" type="INT16U" isNullable="true"
          optional="true"/>
    <item name="NullableString" type="CHAR_STRING" isNullable="true"/>
    <item name="OptionalString" type="CHAR_STRING" optional="true"/>
    <item name="NullableOptionalString" type="CHAR_STRING" isNullable="true"
          optional="true"/>
    <item name="NullableStruct" type="SimpleStruct" isNullable="true"/>
    <item name="OptionalStruct" type="SimpleStruct" optional="true"/>
    <item name="NullableOptionalStruct" type="SimpleStruct" isNullable="true"
          optional="true"/>
    <item name="NullableList" type="SimpleEnum" isNullable="true" array="true"/>
    <item name="OptionalList" type="SimpleEnum" optional="true" array="true"/>
    <item name="NullableOptionalList" type="SimpleEnum" isNullable="true"
          array="true" optional="true"/>
  </struct>

    <bitmap name="Bitmap8MaskMap" type="BITMAP8">
        <cluster code="0xFFF1FC05" />
        <field mask="0x01" name="MaskVal1" />
        <field mask="0x02" name="MaskVal2" />
        <field mask="0x04" name="MaskVal3" />
        <field mask="0x40" name="MaskVal4" />
    </bitmap>

    <bitmap name="Bitmap16MaskMap" type="BITMAP16">
        <cluster code="0xFFF1FC05" />
        <field mask="0x01" name="MaskVal1" />
        <field mask="0x02" name="MaskVal2" />
        <field mask="0x04" name="MaskVal3" />
        <field mask="0x4000" name="MaskVal4" />
    </bitmap>

    <bitmap name="Bitmap32MaskMap" type="BITMAP32">
        <cluster code="0xFFF1FC05" />
        <field mask="0x01" name="MaskVal1" />
        <field mask="0x02" name="MaskVal2" />
        <field mask="0x04" name="MaskVal3" />
        <field mask="0x40000000" name="MaskVal4" />
    </bitmap>
    
    <bitmap name="Bitmap64MaskMap" type="BITMAP64">
        <cluster code="0xFFF1FC05" />
        <field mask="0x01" name="MaskVal1" />
        <field mask="0x02" name="MaskVal2" />
        <field mask="0x04" name="MaskVal3" />
        <field mask="0x4000000000000000" name="MaskVal4" />
    </bitmap>
    
  <cluster>
    <domain>CHIP</domain>
    <name>Unit Testing</name>
    <code>0xFFF1FC05</code>
    <define>UNIT_TESTING_CLUSTER</define>
    <description>The Test Cluster is meant to validate the generated code</description>
    <!-- Base data types -->
    <attribute side="server" code="0x0000" define="BOOLEAN" type="BOOLEAN" writable="true" default="false" optional="false">boolean</attribute>
    <attribute side="server" code="0x0001" define="BITMAP8" type="Bitmap8MaskMap" writable="true" default="0" optional="false">bitmap8</attribute>
    <attribute side="server" code="0x0002" define="BITMAP16" type="Bitmap16MaskMap" writable="true" default="0" optional="false">bitmap16</attribute>
    <attribute side="server" code="0x0003" define="BITMAP32" type="Bitmap32MaskMap" writable="true" default="0" optional="false">bitmap32</attribute>
    <attribute side="server" code="0x0004" define="BITMAP64" type="Bitmap64MaskMap" writable="true" default="0" optional="false">bitmap64</attribute>
    <attribute side="server" code="0x0005" define="INT8U" type="INT8U" writable="true" default="0" optional="false">int8u</attribute>
    <attribute side="server" code="0x0006" define="INT16U" type="INT16U" writable="true" default="0" optional="false">int16u</attribute>
    <attribute side="server" code="0x0007" define="INT24U" type="INT24U" writable="true" default="0" optional="false">int24u</attribute>
    <attribute side="server" code="0x0008" define="INT32U" type="INT32U" writable="true" default="0" optional="false">int32u</attribute>
    <attribute side="server" code="0x0009" define="INT40U" type="INT40U" writable="true" default="0" optional="false">int40u</attribute>
    <attribute side="server" code="0x000A" define="INT48U" type="INT48U" writable="true" default="0" optional="false">int48u</attribute>
    <attribute side="server" code="0x000B" define="INT56U" type="INT56U" writable="true" default="0" optional="false">int56u</attribute>
    <attribute side="server" code="0x000C" define="INT64U" type="INT64U" writable="true" default="0" optional="false">int64u</attribute>
    <attribute side="server" code="0x000D" define="INT8S" type="INT8S" writable="true" default="0" optional="false">int8s</attribute>
    <attribute side="server" code="0x000E" define="INT16S" type="INT16S" writable="true" default="0" optional="false">int16s</attribute>
    <attribute side="server" code="0x000F" define="INT24S" type="INT24S" writable="true" default="0" optional="false">int24s</attribute>
    <attribute side="server" code="0x0010" define="INT32S" type="INT32S" writable="true" default="0" optional="false">int32s</attribute>
    <attribute side="server" code="0x0011" define="INT40S" type="INT40S" writable="true" default="0" optional="false">int40s</attribute>
    <attribute side="server" code="0x0012" define="INT48S" type="INT48S" writable="true" default="0" optional="false">int48s</attribute>
    <attribute side="server" code="0x0013" define="INT56S" type="INT56S" writable="true" default="0" optional="false">int56s</attribute>
    <attribute side="server" code="0x0014" define="INT64S" type="INT64S" writable="true" default="0" optional="false">int64s</attribute>
    <attribute side="server" code="0x0015" define="ENUM8" type="ENUM8" writable="true" default="0" optional="false">enum8</attribute>
    <attribute side="server" code="0x0016" define="ENUM16" type="ENUM16" writable="true" default="0" optional="false">enum16</attribute>
    <attribute side="server" code="0x0017" define="FLOAT_SINGLE" type="SINGLE" writable="true" default="0" optional="false">float_single</attribute>
    <attribute side="server" code="0x0018" define="FLOAT_DOUBLE" type="DOUBLE" writable="true" default="0" optional="false">float_double</attribute>
    <attribute side="server" code="0x0019" define="OCTET_STRING" type="OCTET_STRING" length="10" writable="true" optional="false">octet_string</attribute>
    <attribute side="server" code="0x001A" define="LIST" type="ARRAY" entryType="INT8U" length="10" writable="true" optional="false">list_int8u</attribute>
    <attribute side="server" code="0x001B" define="LIST_OCTET_STRING" type="ARRAY" entryType="OCTET_STRING" length="254" writable="true" optional="false">list_octet_string</attribute>
    <attribute side="server" code="0x001C" define="LIST_STRUCT_OCTET_STRING" type="ARRAY" entryType="TestListStructOctet" length="254" writable="true" optional="false">list_struct_octet_string</attribute>
    <attribute side="server" code="0x001D" define="LONG_OCTET_STRING" type="LONG_OCTET_STRING" length="1000" writable="true" optional="false">long_octet_string</attribute>
    <attribute side="server" code="0x001E" define="CHAR_STRING" type="CHAR_STRING" length="10" writable="true" optional="false">char_string</attribute>
    <attribute side="server" code="0x001F" define="LONG_CHAR_STRING" type="LONG_CHAR_STRING" length="1000" writable="true" optional="false">long_char_string</attribute>
    <attribute side="server" code="0x0020" define="EPOCH_US" type="EPOCH_US" writable="true" optional="false">epoch_us</attribute>
    <attribute side="server" code="0x0021" define="EPOCH_S" type="EPOCH_S" writable="true" optional="false">epoch_s</attribute>
    <attribute side="server" code="0x0022" define="TEST_VENDOR_ID" type="vendor_id"
               writable="true" optional="false" default="0">vendor_id</attribute>
    <attribute side="server" code="0x0023" define="LIST_OF_STRUCTS_WITH_OPTIONALS" type="ARRAY" entryType="NullablesAndOptionalsStruct"
               writable="true" optional="false">list_nullables_and_optionals_struct</attribute>
    <attribute side="server" code="0x0024" define="SIMPLE_ENUM" type="SimpleEnum" writable="true" optional="false">enum_attr</attribute>
    <attribute side="server" code="0x0025" define="STRUCT" type="SimpleStruct" writable="true" optional="false">struct_attr</attribute>
    <attribute side="server" code="0x0026" define="RANGE_RESTRICTED_INT8U" type="int8u" min="20" max="100" writable="true" optional="false" default="70">range_restricted_int8u</attribute>
    <attribute side="server" code="0x0027" define="RANGE_RESTRICTED_INT8s" type="int8s" min="-40" max="50" writable="true" optional="false" default="-5">range_restricted_int8s</attribute>
    <attribute side="server" code="0x0028" define="RANGE_RESTRICTED_INT16U" type="int16u" min="100" max="1000" writable="true" optional="false" default="200">range_restricted_int16u</attribute>
    <attribute side="server" code="0x0029" define="RANGE_RESTRICTED_INT16s" type="int16s" min="-150" max="200" writable="true" optional="false" default="-5">range_restricted_int16s</attribute>
    <attribute side="server" code="0x002A" define="LIST_LONG_OCTET_STRING" type="ARRAY" entryType="LONG_OCTET_STRING" length="1000" writable="true" optional="false">list_long_octet_string</attribute>
    <attribute side="server" code="0x002B" define="LIST_FABRIC_SCOPED" type="ARRAY" entryType="TestFabricScoped" length="10" writable="true" optional="false">list_fabric_scoped</attribute>
    <attribute side="server" code="0x0030" define="TIMED_WRITE_BOOLEAN"
               type="BOOLEAN" writable="true" mustUseTimedWrite="true">timed_write_boolean</attribute>
    <!-- Reading/writing the following two attributes will respond with a
         general error or a cluster-specific error respectively -->
    <attribute side="server" code="0x0031" define="GENERAL_ERROR_BOOLEAN"
               type="BOOLEAN" writable="true" optional="false">general_error_boolean</attribute>
    <attribute side="server" code="0x0032" define="CLUSTER_ERROR_BOOLEAN"
               type="BOOLEAN" writable="true" optional="false">cluster_error_boolean</attribute>

    <attribute side="server" code="0x4000" define="NULLABLE_BOOLEAN" type="BOOLEAN" writable="true" default="false" isNullable="true" optional="false">nullable_boolean</attribute>
    <attribute side="server" code="0x4001" define="NULLABLE_BITMAP8" type="Bitmap8MaskMap" writable="true" default="0" isNullable="true" optional="false">nullable_bitmap8</attribute>
    <attribute side="server" code="0x4002" define="NULLABLE_BITMAP16" type="Bitmap16MaskMap" writable="true" default="0" isNullable="true" optional="false">nullable_bitmap16</attribute>
    <attribute side="server" code="0x4003" define="NULLABLE_BITMAP32" type="Bitmap32MaskMap" writable="true" default="0" isNullable="true" optional="false">nullable_bitmap32</attribute>
    <attribute side="server" code="0x4004" define="NULLABLE_BITMAP64" type="Bitmap64MaskMap" writable="true" default="0" isNullable="true" optional="false">nullable_bitmap64</attribute>
    <attribute side="server" code="0x4005" define="NULLABLE_INT8U" type="INT8U" writable="true" default="0" isNullable="true" optional="false">nullable_int8u</attribute>
    <attribute side="server" code="0x4006" define="NULLABLE_INT16U" type="INT16U" writable="true" default="0" isNullable="true" optional="false">nullable_int16u</attribute>
    <attribute side="server" code="0x4007" define="NULLABLE_INT24U" type="INT24U" writable="true" default="0" isNullable="true" optional="false">nullable_int24u</attribute>
    <attribute side="server" code="0x4008" define="NULLABLE_INT32U" type="INT32U" writable="true" default="0" isNullable="true" optional="false">nullable_int32u</attribute>
    <attribute side="server" code="0x4009" define="NULLABLE_INT40U" type="INT40U" writable="true" default="0" isNullable="true" optional="false">nullable_int40u</attribute>
    <attribute side="server" code="0x400A" define="NULLABLE_INT48U" type="INT48U" writable="true" default="0" isNullable="true" optional="false">nullable_int48u</attribute>
    <attribute side="server" code="0x400B" define="NULLABLE_INT56U" type="INT56U" writable="true" default="0" isNullable="true" optional="false">nullable_int56u</attribute>
    <attribute side="server" code="0x400C" define="NULLABLE_INT64U" type="INT64U" writable="true" default="0" isNullable="true" optional="false">nullable_int64u</attribute>
    <attribute side="server" code="0x400D" define="NULLABLE_INT8S" type="INT8S" writable="true" default="0" isNullable="true" optional="false">nullable_int8s</attribute>
    <attribute side="server" code="0x400E" define="NULLABLE_INT16S" type="INT16S" writable="true" default="0" isNullable="true" optional="false">nullable_int16s</attribute>
    <attribute side="server" code="0x400F" define="NULLABLE_INT24S" type="INT24S" writable="true" default="0" isNullable="true" optional="false">nullable_int24s</attribute>
    <attribute side="server" code="0x4010" define="NULLABLE_INT32S" type="INT32S" writable="true" default="0" isNullable="true" optional="false">nullable_int32s</attribute>
    <attribute side="server" code="0x4011" define="NULLABLE_INT40S" type="INT40S" writable="true" default="0" isNullable="true" optional="false">nullable_int40s</attribute>
    <attribute side="server" code="0x4012" define="NULLABLE_INT48S" type="INT48S" writable="true" default="0" isNullable="true" optional="false">nullable_int48s</attribute>
    <attribute side="server" code="0x4013" define="NULLABLE_INT56S" type="INT56S" writable="true" default="0" isNullable="true" optional="false">nullable_int56s</attribute>
    <attribute side="server" code="0x4014" define="NULLABLE_INT64S" type="INT64S" writable="true" default="0" isNullable="true" optional="false">nullable_int64s</attribute>
    <attribute side="server" code="0x4015" define="NULLABLE_ENUM8" type="ENUM8" writable="true" default="0" isNullable="true" optional="false">nullable_enum8</attribute>
    <attribute side="server" code="0x4016" define="NULLABLE_ENUM16" type="ENUM16" writable="true" default="0" isNullable="true" optional="false">nullable_enum16</attribute>
    <attribute side="server" code="0x4017" define="NULLABLE_FLOAT_SINGLE" type="SINGLE" writable="true" default="0" isNullable="true" optional="false">nullable_float_single</attribute>
    <attribute side="server" code="0x4018" define="NULLABLE_FLOAT_DOUBLE" type="DOUBLE" writable="true" default="0" isNullable="true" optional="false">nullable_float_double</attribute>
    <attribute side="server" code="0x4019" define="NULLABLE_OCTET_STRING" type="OCTET_STRING" length="10" writable="true" isNullable="true" optional="false">nullable_octet_string</attribute>
    <attribute side="server" code="0x401E" define="NULLABLE_CHAR_STRING" type="CHAR_STRING" length="10" writable="true" isNullable="true" optional="false">nullable_char_string</attribute>
    <attribute side="server" code="0x4024" define="NULLABLE_SIMPLE_ENUM" type="SimpleEnum" writable="true" isNullable="true" optional="false">nullable_enum_attr</attribute>
    <attribute side="server" code="0x4025" define="NULLABLE_STRUCT" type="SimpleStruct" writable="true" isNullable="true" optional="false">nullable_struct</attribute>
    <attribute side="server" code="0x4026" define="NULLABLE_RANGE_RESTRICTED_INT8U" type="int8u" min="20" max="100" writable="true" isNullable="true" optional="false" default="70">nullable_range_restricted_int8u</attribute>
    <attribute side="server" code="0x4027" define="NULLABLE_RANGE_RESTRICTED_INT8s" type="int8s" min="-40" max="50" writable="true" isNullable="true" optional="false" default="-5">nullable_range_restricted_int8s</attribute>
    <attribute side="server" code="0x4028" define="NULLABLE_RANGE_RESTRICTED_INT16U" type="int16u" min="100" max="1000" writable="true" isNullable="true" optional="false" default="200">nullable_range_restricted_int16u</attribute>
    <attribute side="server" code="0x4029" define="NULLABLE_RANGE_RESTRICTED_INT16S" type="int16s" min="-150" max="200" writable="true" isNullable="true" optional="false" default="-5">nullable_range_restricted_int16s</attribute>

    <attribute side="server" code="0x402A" define="WRITE_ONLY_INT8U" type="INT8U" writable="true" default="0" optional="true">write_only_int8u</attribute>

    <!-- This attribute should not be enabled on the server side -->
    <attribute side="server" code="0x00FF" define="UNSUPPORTED" type="BOOLEAN" writable="true" optional="true">unsupported</attribute>

    <!-- Test Commands -->
    <command source="client" code="0x00" name="Test" optional="false">
      <description>
        Simple command without any parameters and without a specific response
      </description>
    </command>

    <command source="client" code="0x01" name="TestNotHandled" optional="false">
      <description>
        Simple command without any parameters and without a specific response not handled by the server
      </description>
    </command>

    <command source="client" code="0x02" name="TestSpecific" response="TestSpecificResponse" optional="false">
      <description>
        Simple command without any parameters and with a specific response
      </description>
    </command>

    <command source="client" code="0x03" name="TestUnknownCommand" optional="true">
      <description>
        Simple command that should not be added to the server.
      </description>
    </command>

    <command source="client" code="0x04" name="TestAddArguments" response="TestAddArgumentsResponse" optional="true">
      <description>
        Command that takes two arguments and returns their sum.
      </description>
      <arg name="arg1" type="INT8U"/>
      <arg name="arg2" type="INT8U"/>
    </command>

    <command source="client" code="0x05" name="TestSimpleArgumentRequest" response="TestSimpleArgumentResponse" optional="true">
      <description>
        Command that takes an argument which is bool
      </description>
      <arg name="arg1" type="BOOLEAN"/>
    </command>

    <command source="client" code="0x06" name="TestStructArrayArgumentRequest" response="TestStructArrayArgumentResponse" optional="true">
      <description>
        Command that takes various arguments that are arrays, including an array of structs which have a list member.
      </description>
      <arg name="arg1" type="NestedStructList" array="true"/>
      <arg name="arg2" type="SimpleStruct" array="true"/>
      <arg name="arg3" type="SimpleEnum" array="true"/>
      <arg name="arg4" type="BOOLEAN" array="true"/>
      <arg name="arg5" type="SimpleEnum"/>
      <arg name="arg6" type="BOOLEAN"/>
    </command>

    <command source="client" code="0x07" name="TestStructArgumentRequest"
             response="BooleanResponse" optional="true">
      <description>
        Command that takes an argument which is struct.  The response echoes the
        'b' field of the single arg.
      </description>
      <arg name="arg1" type="SimpleStruct"/>
    </command>

    <command source="client" code="0x08" name="TestNestedStructArgumentRequest"
             response="BooleanResponse" optional="true">
      <description>
        Command that takes an argument which is nested struct.  The response
        echoes the 'b' field of ar1.c.
      </description>
      <arg name="arg1" type="NestedStruct"/>
    </command>

    <command source="client" code="0x09" name="TestListStructArgumentRequest" response="BooleanResponse" optional="true">
      <description>
        Command that takes an argument which is a list of structs.  The response
        returns false if there is some struct in the list whose 'b' field is
        false, and true otherwise (including if the list is empty).
      </description>
      <arg name="arg1" type="SimpleStruct" array="true"/>
    </command>

    <command source="client" code="0x0A" name="TestListInt8UArgumentRequest" response="BooleanResponse" optional="true">
      <description>
        Command that takes an argument which is a list of INT8U.  The response
        returns false if the list contains a 0 in it, true otherwise (including
        if the list is empty).
      </description>
      <arg name="arg1" type="INT8U" array="true"/>
    </command>

    <command source="client" code="0x0B" name="TestNestedStructListArgumentRequest" response="BooleanResponse" optional="true">
      <description>
        Command that takes an argument which is a Nested Struct List.  The
        response returns false if there is some struct in arg1 (either directly
        in arg1.c or in the arg1.d list) whose 'b' field is false, and true
        otherwise.
      </description>
      <arg name="arg1" type="NestedStructList"/>
    </command>

    <command source="client" code="0x0C" name="TestListNestedStructListArgumentRequest" response="BooleanResponse" optional="true">
      <description>
        Command that takes an argument which is a list of Nested Struct List.
        The response returns false if there is some struct in arg1 (either
        directly in as the 'c' field of an entry 'd' list of an entry) whose 'b'
        field is false, and true otherwise (including if the list is empty).
      </description>
      <arg name="arg1" type="NestedStructList" array="true"/>
    </command>

    <command source="client" code="0x0D" name="TestListInt8UReverseRequest" response="TestListInt8UReverseResponse" optional="true">
      <description>
        Command that takes an argument which is a list of INT8U and expects a
        response that reverses the list.
      </description>
      <arg name="arg1" type="INT8U" array="true"/>
    </command>

    <command source="client" code="0x0E" name="TestEnumsRequest" response="TestEnumsResponse" optional="true">
      <description>
        Command that sends a vendor id and an enum.  The server is expected to
        echo them back.
      </description>
      <arg name="arg1" type="vendor_id"/>
      <arg name="arg2" type="SimpleEnum"/>
    </command>

    <command source="client" code="0x0F" name="TestNullableOptionalRequest"
             optional="true" response="TestNullableOptionalResponse">
      <description>
        Command that takes an argument which is nullable and optional.  The
        response returns a boolean indicating whether the argument was present,
        if that's true a boolean indicating whether the argument was null, and
        if that' false the argument it received.
      </description>
      <arg name="arg1" type="INT8U" optional="true" isNullable="true"/>
    </command>

    <command source="client" code="0x10" name="TestComplexNullableOptionalRequest"
             optional="true" response="TestComplexNullableOptionalResponse">
      <description>
        Command that takes various arguments which can be nullable and/or optional.  The
        response returns information about which things were received and what
        their state was.
      </description>
      <arg name="NullableInt" type="INT16U" isNullable="true"/>
      <arg name="OptionalInt" type="INT16U" optional="true"/>
      <arg name="NullableOptionalInt" type="INT16U" isNullable="true"
           optional="true"/>
      <arg name="NullableString" type="CHAR_STRING" isNullable="true"/>
      <arg name="OptionalString" type="CHAR_STRING" optional="true"/>
      <arg name="NullableOptionalString" type="CHAR_STRING" isNullable="true"
           optional="true"/>
      <arg name="NullableStruct" type="SimpleStruct" isNullable="true"/>
      <arg name="OptionalStruct" type="SimpleStruct" optional="true"/>
      <arg name="NullableOptionalStruct" type="SimpleStruct" isNullable="true"
           optional="true"/>
      <arg name="NullableList" type="SimpleEnum" isNullable="true" array="true"/>
      <arg name="OptionalList" type="SimpleEnum" optional="true" array="true"/>
      <arg name="NullableOptionalList" type="SimpleEnum" isNullable="true"
           array="true" optional="true"/>
    </command>

    <command source="client" code="0x11" name="SimpleStructEchoRequest"
             response="SimpleStructResponse" optional="true">
      <description>
        Command that takes an argument which is a struct.  The response echoes
        the struct back.
      </description>
      <arg name="arg1" type="SimpleStruct"/>
    </command>

    <command source="client" code="0x12" name="TimedInvokeRequest"
             mustUseTimedInvoke="true" optional="true">
      <description>
        Command that just responds with a success status if the timed invoke
        conditions are met.
      </description>
    </command>

    <command source="client" code="0x13" name="TestSimpleOptionalArgumentRequest" optional="true">
      <description>
        Command that takes an optional argument which is bool. It responds with a success value if the optional is set to any value.
      </description>
      <arg name="arg1" type="BOOLEAN" optional="true"/>
    </command>

    <command source="client" code="0x14" name="TestEmitTestEventRequest"
             optional="true" response="TestEmitTestEventResponse">
      <description>
        Command that takes identical arguments to the fields of the TestEvent and logs the TestEvent to the buffer.  Command returns an event ID as the response.
      </description>
      <arg name="arg1" type="INT8U"/>
      <arg name="arg2" type="SimpleEnum"/>
      <arg name="arg3" type="BOOLEAN"/>
    </command>

    <command source="client" code="0x15" name="TestEmitTestFabricScopedEventRequest"
             optional="true" response="TestEmitTestFabricScopedEventResponse">
      <description>
        Command that takes identical arguments to the fields of the TestFabricScopedEvent and logs the TestFabricScopedEvent to the buffer.  Command returns an event ID as the response.
      </description>
      <arg name="arg1" type="INT8U"/>
    </command>

    <command source="server" code="0x00" name="TestSpecificResponse" optional="true" disableDefaultResponse="true">
      <description>
        Simple response for TestWithResponse with a simple return value
      </description>
      <arg name="returnValue" type="INT8U"/>
    </command>

    <command source="server" code="0x01" name="TestAddArgumentsResponse" optional="true" disableDefaultResponse="true">
      <description>
        Response for TestAddArguments that returns the sum.
      </description>
      <arg name="returnValue" type="INT8U"/>
    </command>

    <command source="server" code="0x02" name="TestSimpleArgumentResponse" optional="true" disableDefaultResponse="true">
      <description>
        Simple response for TestSimpleArgumentRequest with a simple return value
      </description>
      <arg name="returnValue" type="BOOLEAN"/>
    </command>

    <command source="server" code="0x03" name="TestStructArrayArgumentResponse" optional="true" disableDefaultResponse="true">
      <description>
        Response for TestStructArrayArgumentRequest with complicated return arguments
      </description>
      <arg name="arg1" type="NestedStructList" array="true"/>
      <arg name="arg2" type="SimpleStruct" array="true"/>
      <arg name="arg3" type="SimpleEnum" array="true"/>
      <arg name="arg4" type="BOOLEAN" array="true"/>
      <arg name="arg5" type="SimpleEnum"/>
      <arg name="arg6" type="BOOLEAN"/>
    </command>

    <command source="server" code="0x04" name="TestListInt8UReverseResponse" optional="true" disableDefaultResponse="true">
      <description>
        Response that delivers the reversed list of uint8.
      </description>
      <arg name="arg1" type="INT8U" array="true"/>
    </command>

    <command source="server" code="0x05" name="TestEnumsResponse" optional="true" disableDefaultResponse="true">
      <description>
        Response that delivers a vendor id and an enum..
      </description>
      <arg name="arg1" type="vendor_id"/>
      <arg name="arg2" type="SimpleEnum"/>
    </command>

    <command source="server" code="0x06" name="TestNullableOptionalResponse" optional="true" disableDefaultResponse="true">
      <description>
        Delivers information about the argument TestNullableOptionalRequest had,
        and the original value if there was one.
      </description>
      <arg name="wasPresent" type="BOOLEAN"/>
      <arg name="wasNull" type="BOOLEAN" optional="true"/>
      <arg name="value" type="INT8U" optional="true"/>
      <arg name="originalValue" type="INT8U" optional="true" isNullable="true"/>
    </command>

    <command source="server" code="0x07" name="TestComplexNullableOptionalResponse" optional="true" disableDefaultResponse="true">
      <description>
        Delivers information about the arguments TestComplexNullableOptionalRequest had.
      </description>
      <arg name="NullableIntWasNull" type="BOOLEAN"/>
      <arg name="NullableIntValue" type="INT16U" optional="true"/>
      <arg name="OptionalIntWasPresent" type="BOOLEAN"/>
      <arg name="OptionalIntValue" type="INT16U" optional="true"/>
      <arg name="NullableOptionalIntWasPresent" type="BOOLEAN"/>
      <arg name="NullableOptionalIntWasNull" type="BOOLEAN" optional="true"/>
      <arg name="NullableOptionalIntValue" type="INT16U" optional="true"/>
      <arg name="NullableStringWasNull" type="BOOLEAN"/>
      <arg name="NullableStringValue" type="CHAR_STRING" optional="true"/>
      <arg name="OptionalStringWasPresent" type="BOOLEAN"/>
      <arg name="OptionalStringValue" type="CHAR_STRING" optional="true"/>
      <arg name="NullableOptionalStringWasPresent" type="BOOLEAN"/>
      <arg name="NullableOptionalStringWasNull" type="BOOLEAN" optional="true"/>
      <arg name="NullableOptionalStringValue" type="CHAR_STRING" optional="true"/>
      <arg name="NullableStructWasNull" type="BOOLEAN"/>
      <arg name="NullableStructValue" type="SimpleStruct" optional="true"/>
      <arg name="OptionalStructWasPresent" type="BOOLEAN"/>
      <arg name="OptionalStructValue" type="SimpleStruct" optional="true"/>
      <arg name="NullableOptionalStructWasPresent" type="BOOLEAN"/>
      <arg name="NullableOptionalStructWasNull" type="BOOLEAN" optional="true"/>
      <arg name="NullableOptionalStructValue" type="SimpleStruct" optional="true"/>
      <arg name="NullableListWasNull" type="BOOLEAN"/>
      <arg name="NullableListValue" type="SimpleEnum" array="true"
           optional="true"/>
      <arg name="OptionalListWasPresent" type="BOOLEAN"/>
      <arg name="OptionalListValue" type="SimpleEnum" array="true"
           optional="true"/>
      <arg name="NullableOptionalListWasPresent" type="BOOLEAN"/>
      <arg name="NullableOptionalListWasNull" type="BOOLEAN" optional="true"/>
      <arg name="NullableOptionalListValue" type="SimpleEnum" array="true"
           optional="true"/>
    </command>

    <command source="server" code="0x08" name="BooleanResponse" optional="true" disableDefaultResponse="true">
      <description>
        Delivers a single boolean argument. What the argument means depends on
        what we're responding to.
      </description>
      <arg name="value" type="BOOLEAN"/>
    </command>

    <command source="server" code="0x09" name="SimpleStructResponse" optional="true" disableDefaultResponse="true">
      <description>
        Command that returns a single argument which is a struct.  The contents
        of the struct depend on what we are responding to.
      </description>
      <arg name="arg1" type="SimpleStruct"/>
    </command>

    <command source="server" code="0x0A" name="TestEmitTestEventResponse" optional="true" disableDefaultResponse="true">
      <description>
        Delivers the ID of an event in response to test command emitting fabric scoped events.
      </description>
      <arg name="value" type="INT64U"/>
    </command>

    <command source="server" code="0x0B" name="TestEmitTestFabricScopedEventResponse" optional="true" disableDefaultResponse="true">
      <description>
        Delivers the ID of an event in response to test command emitting fabric scope events.
      </description>
      <arg name="value" type="INT64U"/>
    </command>

    <event code="0x0001" name="TestEvent" priority="info" side="server">
      <description>Example test event</description>
      <field id="1" name="arg1" type="INT8U"/>
      <field id="2" name="arg2" type="SimpleEnum"/>
      <field id="3" name="arg3" type="BOOLEAN"/>
      <field id="4" name="arg4" type="SimpleStruct"/>
      <field id="5" name="arg5" type="SimpleStruct" array="true"/>
      <field id="6" name="arg6" type="SimpleEnum" array="true"/>
    </event>

    <event code="0x0002" name="TestFabricScopedEvent" priority="info" side="server" isFabricSensitive="true">
      <description>Example test event</description>
    </event>

  </cluster>
</configurator>
