<?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="LaunchResponse" optional="true">
      <description>Upon receipt, this SHALL launch the specified content with optional search criteria.</description>
      <arg name="search" type="ContentSearch"/>
      <arg name="autoPlay" type="BOOLEAN"/>
      <arg name="data" type="CHAR_STRING" optional="true"/>
    </command>

    <command source="client" code="0x01" name="LaunchURL" response="LaunchResponse" 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="BrandingInformation" optional="true"/>
    </command>

    <command source="server" code="0x02" name="LaunchResponse" 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="ContentSearch">
    <cluster code="0x050a"/>
    <item name="parameterList" type="Parameter" array="true" optional="false"/>
  </struct>

  <struct name="AdditionalInfo">
    <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="Dimension">
    <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="StyleInformation">
    <cluster code="0x050a"/>
    <item name="imageUrl" type="CHAR_STRING" optional="true"/>
    <item name="color" type="CHAR_STRING" optional="true"/>
    <item name="size" type="Dimension" optional="true"/>
  </struct>

  <struct name="BrandingInformation">
    <cluster code="0x050a"/>
    <item name="providerName" type="CHAR_STRING"/>
    <item name="background" type="StyleInformation" optional="true"/>
    <item name="logo" type="StyleInformation" optional="true"/>
    <item name="progressBar" type="StyleInformation" optional="true"/>
    <item name="splash" type="StyleInformation" optional="true"/>
    <item name="waterMark" type="StyleInformation" 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"/>
  </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="Parameter">
    <cluster code="0x050a"/>
    <item name="type" type="ParameterEnum"/>
    <item name="value" type="CHAR_STRING"/>
    <item name="externalIDList" type="AdditionalInfo" 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="ContentLauncherFeature" type="BITMAP32">
    <cluster code="0x050a"/>
    <field name="ContentSearch" mask="0x1"/>
    <field name="URLPlayback" mask="0x2"/>
  </bitmap>
</configurator>
