<?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 = "MonitoringRegistration" isFabricScoped="true">
        <cluster code="0x1046"/>
        <item fieldId="1" name="ClientNodeId" type="node_id"/>
        <item fieldId="2" name="ICid" type="INT64U"/>
    </struct>

    <cluster>
        <domain>General</domain>
        <name>Client Monitoring</name>
        <code>0x1046</code>
        <define>CLIENT_MONITORING_CLUSTER</define>
        <description>Client Monitoring allows for ensuring that listed clients meet the required monitoring conditions on the server.</description>
        <attribute side="server" code="0x00" define="IDLE_MODE_INTERVAL" type="INT32U" min="0x12C" max="0X5265C00" default="0x12C" writable="false" optional="false" isNullable="false">IdleModeInterval</attribute>
        <attribute side="server" code="0x01" define="ACTIVE_MODE_INTERVAL" type="INT32U" min="0x12C" max="0X5265C00" default="0x12C" writable="false" optional="false" isNullable="false">ActiveModeInterval</attribute>
        <attribute side="server" code="0x02" define="ACTIVE_MODE_THRESHOLD" type="INT16U" min="0x12C" max="0xEA60" default="0xFA0" writable="false" optional="false" isNullable="false">ActiveModeThreshold</attribute>

        <!-- TODO: Revisit the number of entries per fabric-->
        <attribute side="server" code="0x03" define="EXPECTED_CLIENTS" type="ARRAY" entryType="MonitoringRegistration" length="4" writable="false" optional="false" isNullable="false">ExpectedClients</attribute>

        <command source="client" code="0x00" name="RegisterClientMonitoring" optional="false">
            <description> Register a client to the end device </description>
            <arg name="ClientNodeId" type="node_id"/>
            <arg name="ICid" type="INT64U"/>
            <access op="invoke" privilege="manage"/>
        </command>

        <command source="client" code="0x01" name="StayAwakeRequest" optional="true">
            <description>Request the end device to stay in Active Mode for an additional ActiveModeThreshold</description>
            <access op="invoke" privilege="manage"/>
        </command>
    </cluster>
</configurator>
