<?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>Test Cluster</name>
    <code>0xFFF1FC05</code>
    <define>TEST_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>

    <!-- 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>
