<?xml version="1.0"?>
<!--
Copyright (c) 2024 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="ThreadNetworkStruct">
        <cluster code="0x0453"/>
        <item name="ExtendedPanID" type="int64u"/>
        <item name="NetworkName" type="char_string" length="16"/>
        <item name="Channel" type="int16u"/>
    </struct>

    <cluster>
        <domain>Network Infrastructure</domain>
        <name>Thread Network Directory</name>
        <code>0x0453</code>
        <define>THREAD_NETWORK_DIRECTORY_CLUSTER</define>
        <description>Manages the names and credentials of Thread networks visible to the user.</description>

        <client tick="false" init="false">true</client>
        <server tick="false" init="false">true</server>

        <!-- cluster revision -->
        <globalAttribute side="either" code="0xFFFD" value="1"/>

        <attribute side="server" code="0x0000" define="PREFERRED_EXTENDED_PAN_ID" type="int64u" writable="true" isNullable="true" optional="false">
            <description>PreferredExtendedPanID</description>
            <access op="read" privilege="manage"/>
            <access op="write" privilege="manage"/>
        </attribute>
        <attribute side="server" code="0x0001" define="THREAD_NETWORKS" type="array" entryType="ThreadNetworkStruct" writable="false" optional="false">
            <description>ThreadNetworks</description>
            <access op="read" privilege="operate"/>
        </attribute>
        <attribute side="server" code="0x0002" define="THREAD_NETWORK_TABLE_SIZE" type="int8u" writable="false" optional="false">ThreadNetworkTableSize</attribute>

        <command source="client" code="0x00" name="AddNetwork" mustUseTimedInvoke="true" optional="false">
            <description>Adds an entry to the ThreadNetworks list.</description>
            <access op="invoke" privilege="manage"/>
            <arg name="OperationalDataset" type="octet_string" length="254"/>
        </command>
        <command source="client" code="0x01" name="RemoveNetwork" mustUseTimedInvoke="true" optional="false">
            <description>Removes an entry from the ThreadNetworks list.</description>
            <access op="invoke" privilege="manage"/>
            <arg name="ExtendedPanID" type="int64u"/>
        </command>
        <command source="client" code="0x02" name="GetOperationalDataset" mustUseTimedInvoke="true" optional="false" response="OperationalDatasetResponse">
            <description>Retrieves a Thread Operational Dataset from the ThreadNetworks list.</description>
            <access op="invoke" privilege="operate"/>
            <arg name="ExtendedPanID" type="int64u"/>
        </command>
        <command source="server" code="0x03" name="OperationalDatasetResponse" optional="false">
            <description>This is the response to a GetOperationalDataset request.</description>
            <arg name="OperationalDataset" type="octet_string" length="254"/>
        </command>

        <event side="server" code="0x00" name="NetworkChanged" priority="info" optional="false">
            <description>This event SHALL be generated when an entry in ThreadNetworks is added, removed, or had its Operational Dataset changed.</description>
            <field id="0" name="ExtendedPanID" type="int64u"/>
            <access op="read" privilege="operate"/>
        </event>
    </cluster>
</configurator>
