<?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"/>
  <cluster>
    <domain>Media</domain>
    <name>Target Navigator</name>
    <code>0x0505</code>
    <define>TARGET_NAVIGATOR_CLUSTER</define>
    <client init="false" tick="false">true</client>
    <server init="false" tick="false">true</server>
    <description>This cluster provides an interface for UX navigation within a set of targets on a device or endpoint.</description>
    <attribute side="server" code="0x0000" define="TARGET_NAVIGATOR_LIST"           type="ARRAY" entryType="TargetInfo"          length="254" writable="false" optional="false">TargetList</attribute>
    <attribute side="server" code="0x0001" define="TARGET_NAVIGATOR_CURRENT_TARGET" type="INT8U" default="0"            min="0x00" max="0xFF" writable="false" optional="true">CurrentTarget</attribute>

    <command source="client" code="0x00" name="NavigateTarget" response="NavigateTargetResponse" optional="false">
      <description>Upon receipt, this SHALL navigation the UX to the target identified.</description>
      <arg name="target" type="INT8U"/>
      <arg name="data"   type="CHAR_STRING" optional="true"/>
    </command>

    <command source="server" code="0x01" name="NavigateTargetResponse" optional="false">
      <description>This command SHALL be generated in response to NavigateTarget commands.</description>
      <arg name="status" type="TargetNavigatorStatusEnum"/>
      <arg name="data"   type="CHAR_STRING" optional="true"/>
    </command>
  </cluster>

  <enum name="TargetNavigatorStatusEnum" type="ENUM8">
    <cluster code="0x0505"/>
    <item name="Success"        value="0x00"/>
    <item name="TargetNotFound" value="0x01"/>
    <item name="NotAllowed"     value="0x02"/>
  </enum>

  <struct name="TargetInfo">
    <cluster code="0x0505"/>
    <item name="identifier" type="INT8U"/>
    <item name="name"       type="CHAR_STRING" length="32"/>
  </struct>
</configurator>
