| <?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="Test" spec="test-0.0"/> |
| <struct name="ProvisionalStruct" apiMaturity="provisional"> |
| <cluster code="0x1122"/> |
| <item fieldId="0" name="Foo" type="INT32U" isNullable="true"/> |
| <item fieldId="1" name="Bar" type="INT16U" isNullable="true"/> |
| </struct> |
| |
| <struct name="StableStruct"> |
| <cluster code="0x1122"/> |
| <item fieldId="0" name="Foo" type="INT24U" isNullable="true"/> |
| <item fieldId="1" name="Baz" type="INT8U" isNullable="true" apiMaturity="provisional"/> |
| </struct> |
| |
| <enum name="StableEnum" type="ENUM8"> |
| <cluster code="0x1122"/> |
| <item name="Alpha" value="0x0"/> |
| <item name="Beta" value="0x1" apiMaturity="provisional"/> |
| </enum> |
| |
| <enum name="StableEnum2" type="ENUM8" apiMaturity="provisional"> |
| <cluster code="0x1122"/> |
| <item name="item1" value="0x0"/> |
| <item name="item2" value="0x1"/> |
| </enum> |
| |
| <bitmap name="StableBitmap" type="BITMAP8"> |
| <cluster code="0x1122"/> |
| <field name="First" mask="0x1"/> |
| <field name="Second" mask="0x2" apiMaturity="provisional"/> |
| </bitmap> |
| |
| <bitmap name="StableBitmap2" type="BITMAP8" apiMaturity="provisional"> |
| <cluster code="0x1122"/> |
| <field name="field1" mask="0x1"/> |
| <field name="field2" mask="0x2"/> |
| </bitmap> |
| |
| <cluster apiMaturity="internal"> |
| <name>Api Maturity Test</name> |
| <domain>Test</domain> |
| <description>A Test for API maturity tags</description> |
| <code>0x1122</code> |
| <define>API_MATURITY_TEST</define> |
| <client tick="false" init="false">false</client> |
| <server tick="false" init="false">true</server> |
| |
| <attribute side="server" code="0x0000" define="STABLE_ATTRIBUTE" type="INT8U" writable="true" optional="true">StableAttribute</attribute> |
| <attribute apiMaturity="provisional" side="server" code="0x0001" define="PROVISIONAL_ATTRIBUTE" type="INT8U" writable="true" optional="true">ProvisionalAttribute</attribute> |
| <attribute side="server" code="0x0002" define="STABLE_ATTRIBUTE" type="INT8U" writable="true" optional="true">StableAttribute</attribute> |
| <attribute side="server" code="0x0003" define="STRUCT_ATTR_1" type="StableStruct" writable="true" optional="true">StructAttr1</attribute> |
| <attribute side="server" code="0x0004" define="STRUCT_ATTR_2" type="ProvisionalStruct" writable="true" optional="true">StructAttr2</attribute> |
| |
| <!-- No 'apiMaturity' attribute; <provisionalConform/> fills it in as 'provisional'. --> |
| <attribute side="server" code="0x0005" define="CONFORM_PROVISIONAL_ATTR" type="INT8U" writable="true" optional="true">ConformProvisionalAttr<provisionalConform/></attribute> |
| <!-- No 'apiMaturity' attribute; provisional under <otherwiseConform> (spec-style). --> |
| <attribute side="server" code="0x0006" define="OTHERWISE_PROVISIONAL_ATTR" type="INT8U" writable="true" optional="true">OtherwiseProvisionalAttr<otherwiseConform> |
| <provisionalConform/> |
| <mandatoryConform> |
| <greaterOrEqualTerm> |
| <revision value="current"/> |
| <revision value="2"/> |
| </greaterOrEqualTerm> |
| </mandatoryConform> |
| </otherwiseConform></attribute> |
| <!-- Explicit 'apiMaturity' always wins; conformance never overrides it even when they disagree. --> |
| <attribute apiMaturity="deprecated" side="server" code="0x0007" define="CONTRADICTORY_ATTR" type="INT8U" writable="true" optional="true">ContradictoryApiMaturityAttr<provisionalConform/></attribute> |
| <!-- Explicit 'internal' is Silabs-specific and preserved regardless of conformance. --> |
| <attribute apiMaturity="internal" side="server" code="0x0008" define="INTERNAL_WITH_M_ATTR" type="INT8U" writable="true" optional="true">InternalWithMandatoryConformAttr<mandatoryConform/></attribute> |
| |
| <command source="client" code="0x00" name="StableCommand" response="StableCommandResponse" optional="false" apiMaturity="provisional"> |
| <description>A Test command</description> |
| <access op="invoke" privilege="administer"/> |
| <arg name="First" type="INT16U"/> |
| <arg name="Second" type="INT64U"/> |
| </command> |
| |
| <command source="server" code="0x01" name="StableCommandResponse" optional="false"> |
| <description>A Test command reply</description> |
| <arg name="FirstReply" type="INT16U"/> |
| <arg name="SecondReply" type="CHAR_STRING" apiMaturity="provisional"/> |
| </command> |
| |
| <event code="0x0001" name="StableEvent" priority="info" side="server"> |
| <description>A Test event</description> |
| <field id="1" name="arg1" type="INT8U" isNullable="true"/> |
| <field id="2" name="arg2" type="INT32U" array="true"/> |
| </event> |
| |
| <event code="0x0002" name="ProvisionalEvent" priority="info" side="server" apiMaturity="provisional"> |
| <description>A Provisional Test event</description> |
| <field id="1" name="arg1" type="INT8U" isNullable="true"/> |
| <field id="2" name="arg2" type="INT32U" array="true"/> |
| <field id="3" name="arg3" type="INT32U" array="true" apiMaturity="provisional"/> |
| </event> |
| |
| </cluster> |
| </configurator> |