<?xml version="1.0"?>
<!--
Copyright (c) 2023 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 apiMaturity="provisional">
    <domain>Media</domain>
    <name>Content Control</name>
    <code>0x050F</code>
    <define>CONTENT_CONTROL_CLUSTER</define>
    <client init="false" tick="false">true</client>
    <server init="false" tick="false">true</server>
    <description>This cluster is used for managing the content control (including "parental control") settings on a media device such as a TV, or Set-top Box.</description>

    <features>
      <feature bit="0" code="ST" name="ScreenTime" summary="Supports managing screen time limits.">
        <optionalConform/>
      </feature>
      <feature bit="1" code="PM" name="PINManagement" summary="Supports managing a PIN code which is used for restricting access to configuration of this feature.">
        <optionalConform/>
      </feature>
      <feature bit="2" code="BU" name="BlockUnrated" summary="Supports managing content controls for unrated content.">
        <optionalConform/>
      </feature>
      <feature bit="3" code="OCR" name="OnDemandContentRating" summary="Supports managing content controls based upon rating threshold for on demand content.">
        <optionalConform/>
      </feature>
      <feature bit="4" code="SCR" name="ScheduledContentRating" summary="Supports managing content controls based upon rating threshold for scheduled content.">
        <optionalConform/>
      </feature>
    </features>

    <attribute side="server" code="0x0000" define="ENABLED" type="boolean" writable="false" optional="false">Enabled</attribute>
    <attribute side="server" code="0x0001" define="ON_DEMAND_RATINGS" type="ARRAY" entryType="RatingNameStruct" writable="false" optional="true">OnDemandRatings</attribute>
    <attribute side="server" code="0x0002" define="ON_DEMAND_THRESHOLD" type="char_string" length="8" writable="false" optional="true">OnDemandRatingThreshold</attribute>
    <attribute side="server" code="0x0003" define="SCHEDULED_CONTENT_RATINGS" type="ARRAY" entryType="RatingNameStruct" writable="false" optional="true">ScheduledContentRatings</attribute>
    <attribute side="server" code="0x0004" define="SCHEDULED_CONTENT_RATING_THRESHOLD" type="char_string" length="8" writable="false" optional="true">ScheduledContentRatingThreshold</attribute>
    <attribute side="server" code="0x0005" define="SCREEN_DAILY_TIME" type="elapsed_s" length="86400" writable="false" optional="true">ScreenDailyTime</attribute>
    <attribute side="server" code="0x0006" define="REMAINING_SCREEN_TIME" type="elapsed_s" length="86400" writable="false" optional="true">RemainingScreenTime</attribute>
    <attribute side="server" code="0x0007" define="ENABLED" type="boolean" writable="false" optional="false">BlockUnrated</attribute>

    <command source="client" code="0x00" name="UpdatePIN" optional="true">
      <description>The purpose of this command is to update the PIN used for protecting configuration of the content control settings. Upon success, the old PIN SHALL no longer work. The PIN is used to ensure that only the Node (or User) with the PIN code can make changes to the Content Control settings, for example, turn off Content Controls or modify the ScreenDailyTime. The PIN is composed of a numeric string of up to 6 human readable characters (displayable) . Upon receipt of this command, the media device SHALL check if the OldPIN field of this command is the same as the current PIN. If the PINs are the same, then the PIN code SHALL be set to NewPIN. Otherwise a response with InvalidPINCode error status SHALL be returned. The media device MAY provide a default PIN to the User via an out of band mechanism. For security reasons, it is recommended that a client encourage the user to update the PIN from its default value when performing configuration of the Content Control settings exposed by this cluster. The ResetPIN command can also be used to obtain the default PIN.</description>
      <arg name="OldPIN" type="char_string" max="6" optional="true"/>
      <arg name="NewPIN" type="char_string" max="6" optional="false"/>
    </command>

    <command source="client" code="0x01" name="ResetPIN" response="ResetPINResponse" optional="true">
      <description>The purpose of this command is to reset the PIN. If this command is executed successfully, a ResetPINResponse command with a new PIN SHALL be returned.</description>
    </command>

    <command source="server" code="0x02" name="ResetPINResponse" optional="true">
      <description>This command SHALL be generated in response to a ResetPIN command. The data for this command SHALL be as follows:</description>
      <arg name="PINCode" type="char_string" max="6" optional="false"/>
    </command>

    <command source="client" code="0x03" name="Enable" optional="true">
      <description>The purpose of this command is to turn on the Content Control feature on a media device. On receipt of the Enable command, the media device SHALL set the Enabled attribute to TRUE.</description>
    </command>

    <command source="client" code="0x04" name="Disable" optional="true">
      <description>The purpose of this command is to turn off the Content Control feature on a media device. On receipt of the Disable command, the media device SHALL set the Enabled attribute to FALSE.</description>
    </command>

    <command source="client" code="0x05" name="AddBonusTime" optional="true">
      <description>The purpose of this command is to add the extra screen time for the user. If a client with Operate privilege invokes this command, the media device SHALL check whether the PINCode passed in the command matches the current PINCode value. If these match, then the RemainingScreenTime attribute SHALL be increased by the specified BonusTime value. If the PINs do not match, then a response with InvalidPINCode error status SHALL be returned, and no changes SHALL be made to RemainingScreenTime. If a client with Manage privilege or greater invokes this command, the media device SHALL ignore the PINCode field and directly increase the RemainingScreenTime attribute by the specified BonusTime value. A server that does not support the PM feature SHALL respond with InvalidPINCode to clients that only have Operate privilege unless: It has been provided with the PIN value to expect via an out of band mechanism, and The client has provided a PINCode that matches the expected PIN value.</description>
      <arg name="PINCode" type="char_string" max="6" optional="true"/>
      <arg name="BonusTime" type="elapsed_s" optional="true"/>
    </command>

    <command source="client" code="0x06" name="SetScreenDailyTime" optional="true">
      <description>The purpose of this command is to set the ScreenDailyTime attribute. On receipt of the SetScreenDailyTime command, the media device SHALL set the ScreenDailyTime attribute to the ScreenTime value.</description>
      <arg name="ScreenTime" type="elapsed_s" optional="false"/>
    </command>

    <command source="client" code="0x07" name="BlockUnratedContent" optional="true">
      <description>The purpose of this command is to specify whether programs with no Content rating must be blocked by this media device. On receipt of the BlockUnratedContent command, the media device SHALL set the BlockUnrated attribute to TRUE.</description>
    </command>

    <command source="client" code="0x08" name="UnblockUnratedContent" optional="true">
      <description>The purpose of this command is to specify whether programs with no Content rating must be blocked by this media device. On receipt of the UnblockUnratedContent command, the media device SHALL set the BlockUnrated attribute to FALSE.</description>
    </command>

    <command source="client" code="0x09" name="SetOnDemandRatingThreshold" optional="true">
      <description>The purpose of this command is to set the OnDemandRatingThreshold attribute. On receipt of the SetOnDemandRatingThreshold command, the media device SHALL check if the Rating field is one of values present in the OnDemandRatings attribute. If not, then a response with InvalidRating error status SHALL be returned.</description>
      <arg name="Rating" type="char_string" max="8" optional="false"/>
    </command>

    <command source="client" code="0x0A" name="SetScheduledContentRatingThreshold" optional="true">
      <description>The purpose of this command is to set ScheduledContentRatingThreshold attribute. On receipt of the SetScheduledContentRatingThreshold command, the media device SHALL check if the Rating field is one of values present in the ScheduledContentRatings attribute. If not, then a response with InvalidRating error status SHALL be returned.</description>
      <arg name="Rating" type="char_string" max="8" optional="false"/>
    </command>

    <event side="server" code="0x00" priority="info" name="RemainingScreenTimeExpired" optional="true">
      <description>This event SHALL be generated when the RemainingScreenTime equals 0.</description>
    </event>
  </cluster>

  <struct name="RatingNameStruct">
    <cluster code="0x050F"/>
    <item name="RatingName" type="char_string" optional="false"/>
    <item name="RatingNameDesc" type="char_string" optional="true"/>
  </struct>

</configurator>
