<?xml version="1.0"?>
<!--
Copyright (c) 2023 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"/>

  <cluster>
    <domain>General</domain>
    <name>Sample MEI</name>
    <!-- The MSB 16 bits of <code> are the VendorID. Replace this with your
         VendorID. 0xFFF1 is a Test VendorID.

         The LSB 16 bits of <code> are a self-assigned ClusterID -->
    <code>0xFFF1FC20</code>
    <define>SAMPLE_MEI_CLUSTER</define>
    <description>The Sample MEI cluster showcases a cluster manufacturer extensions</description>

    <!-- Attributes -->
    <!-- A simple boolean attribute that flips or flops -->
    <attribute side="server" code="0x0000" define="FLIP_FLOP" type="boolean" writable="true" default="false" optional="false">FlipFlop</attribute>

    <!-- Command Responses -->
    <command source="server" code="0x01" name="AddArgumentsResponse" optional="false" disableDefaultResponse="true">
      <description>
        Response for AddArguments that returns the sum.
      </description>
      <arg name="returnValue" type="int8u"/>
    </command>

    <!-- Commands -->
    <command source="client" code="0x02" name="AddArguments" response="AddArgumentsResponse" optional="false">
      <description>
        Command that takes two uint8 arguments and returns their sum.
      </description>
      <arg name="arg1" type="int8u"/>
      <arg name="arg2" type="int8u"/>
    </command>

    <command source="client" code="0x00" name="Ping" optional="false">
      <description>
        Simple command without any parameters and without a response.
      </description>
    </command>

    <!-- Events -->
    <event side="server" code="0x0000" name="PingCountEvent" priority="info" isFabricSensitive="true" optional="false">
      <description>Example events generated by Ping command</description>
      <field id="1" name="count" type="int32u"/>
    </event>
  </cluster>
</configurator>
