blob: f802b7ab4452c0e29da5f01c4ff624828a3dc7e1 [file] [log] [blame]
<?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>