<?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>Content Launcher</name>
    <code>0x050a</code>
    <define>CONTENT_LAUNCHER_CLUSTER</define>
    <client init="false" tick="false">true</client>
    <server init="false" tick="false">true</server>
    <description>This cluster provides an interface for launching content on a media player device such as a TV or Speaker.</description>

    <attribute side="server" code="0x0000" define="CONTENT_LAUNCHER_ACCEPT_HEADER"                 type="ARRAY" entryType="CHAR_STRING" length="254" writable="false" optional="true">AcceptHeader</attribute>
    <attribute side="server" code="0x0001" define="CONTENT_LAUNCHER_SUPPORTED_STREAMING_PROTOCOLS" type="BITMAP32" default="0"                       writable="true"  optional="true">SupportedStreamingProtocols</attribute>

    <command source="client" code="0x00" name="LaunchContent" response="LauncherResponse" optional="true">
      <description>Upon receipt, this SHALL launch the specified content with optional search criteria.</description>
      <arg name="Search" type="ContentSearchStruct"/>
      <arg name="AutoPlay" type="BOOLEAN"/>
      <arg name="Data" type="CHAR_STRING" optional="true"/>
    </command>

    <command source="client" code="0x01" name="LaunchURL" response="LauncherResponse" optional="true">
      <description>Upon receipt, this SHALL launch content from the specified URL.</description>
      <arg name="ContentURL" type="CHAR_STRING"/>
      <arg name="DisplayString" type="CHAR_STRING" optional="true"/>
      <arg name="BrandingInformation" type="BrandingInformationStruct" optional="true"/>
    </command>

    <command source="server" code="0x02" name="LauncherResponse" optional="true" disableDefaultResponse="true">
      <description>This command SHALL be generated in response to LaunchContent command.</description>
      <arg name="Status" type="ContentLaunchStatusEnum"/>
      <arg name="Data" type="CHAR_STRING" optional="true"/>
    </command>

  </cluster>

  <struct name="ContentSearchStruct">
    <cluster code="0x050a"/>
    <item name="ParameterList" type="ParameterStruct" array="true" optional="false"/>
  </struct>

  <struct name="AdditionalInfoStruct">
    <cluster code="0x050a"/>
    <item name="Name" type="CHAR_STRING"/>
    <item name="Value" type="CHAR_STRING"/>
  </struct>

  <enum name="MetricTypeEnum" type="ENUM8">
    <cluster code="0x050a"/>
    <item name="Pixels" value="0x00"/>
    <item name="Percentage" value="0x01"/>
  </enum>

  <struct name="DimensionStruct">
    <cluster code="0x050a"/>
    <item name="Width" type="double" optional="false"/>
    <item name="Height" type="double" optional="false"/>
    <item name="Metric" type="MetricTypeEnum"/>
  </struct>

  <struct name="StyleInformationStruct">
    <cluster code="0x050a"/>
    <item name="ImageURL" type="CHAR_STRING" optional="true"/>
    <item name="Color" type="CHAR_STRING" optional="true"/>
    <item name="Size" type="DimensionStruct" optional="true"/>
  </struct>

  <struct name="BrandingInformationStruct">
    <cluster code="0x050a"/>
    <item name="ProviderName" type="CHAR_STRING"/>
    <item name="Background" type="StyleInformationStruct" optional="true"/>
    <item name="Logo" type="StyleInformationStruct" optional="true"/>
    <item name="ProgressBar" type="StyleInformationStruct" optional="true"/>
    <item name="Splash" type="StyleInformationStruct" optional="true"/>
    <item name="WaterMark" type="StyleInformationStruct" optional="true"/>
  </struct>


  <enum name="ParameterEnum" type="ENUM8">
    <cluster code="0x050a"/>
    <item name="Actor" value="0x00"/>
    <item name="Channel" value="0x01"/>
    <item name="Character" value="0x02"/>
    <item name="Director" value="0x03"/>
    <item name="Event" value="0x04"/>
    <item name="Franchise" value="0x05"/>
    <item name="Genre" value="0x06"/>
    <item name="League" value="0x07"/>
    <item name="Popularity" value="0x08"/>
    <item name="Provider" value="0x09"/>
    <item name="Sport" value="0x0A"/>
    <item name="SportsTeam" value="0x00B"/>
    <item name="Type" value="0x0C"/>
    <item name="Video" value="0x0D"/>
  </enum>

  <enum name="ContentLaunchStatusEnum" type="ENUM8">
    <cluster code="0x050a"/>
    <item name="success" value="0x00"/>
    <item name="urlNotAvailable" value="0x01"/>
    <item name="authFailed" value="0x02"/>
  </enum>

  <struct name="ParameterStruct">
    <cluster code="0x050a"/>
    <item name="Type" type="ParameterEnum"/>
    <item name="Value" type="CHAR_STRING"/>
    <item name="ExternalIDList" type="AdditionalInfoStruct" array="true" optional="true"/>
  </struct>

  <bitmap name="SupportedStreamingProtocol" type="BITMAP32">
    <cluster code="0x050a"/>
    <field name="DASH" mask="0x1"/>
    <field name="HLS" mask="0x2"/>
  </bitmap>

  <bitmap name="Feature" type="BITMAP32">
    <cluster code="0x050a"/>
    <field name="ContentSearch" mask="0x1"/>
    <field name="URLPlayback" mask="0x2"/>
  </bitmap>
</configurator>
