This cluster supports all ApplicationLauncher features. It may support illegal feature combinations.

If you use this cluster you must manually specify which features are active and ensure the set of active features is legal per the Matter specification.

interface Complete {
    attributes: Merge<{
        acceptedCommandList: Attribute<CommandId[], never>;
        attributeList: Attribute<AttributeId[], never>;
        catalogList: Attribute<number[], any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                applicationPlatform: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        clusterRevision: Attribute<number, never>;
        currentApp: OptionalAttribute<null | TypeFromFields<{
            application: FieldType<TypeFromFields<{
                applicationId: FieldType<string>;
                catalogVendorId: FieldType<number>;
            }>>;
            endpoint: OptionalFieldType<EndpointNumber>;
        }>, any>;
        featureMap: Attribute<TypeFromPartialBitSchema<{
            applicationPlatform: BitFlag;
        }>, never>;
        generatedCommandList: Attribute<CommandId[], never>;
    }, GlobalAttributes<{
        applicationPlatform: BitFlag;
    }>>;
    base: undefined;
    commands: {
        hideApp: Command<TypeFromFields<{
            application: OptionalFieldType<TypeFromFields<{
                applicationId: FieldType<string>;
                catalogVendorId: FieldType<number>;
            }>>;
        }>, TypeFromFields<{
            data: OptionalFieldType<Uint8Array>;
            status: FieldType<ApplicationLauncher.Status>;
        }>, any>;
        launchApp: Command<TypeFromFields<{
            application: OptionalFieldType<TypeFromFields<{
                applicationId: FieldType<string>;
                catalogVendorId: FieldType<number>;
            }>>;
            data: OptionalFieldType<Uint8Array>;
        }>, TypeFromFields<{
            data: OptionalFieldType<Uint8Array>;
            status: FieldType<ApplicationLauncher.Status>;
        }>, any>;
        stopApp: Command<TypeFromFields<{
            application: OptionalFieldType<TypeFromFields<{
                applicationId: FieldType<string>;
                catalogVendorId: FieldType<number>;
            }>>;
        }>, TypeFromFields<{
            data: OptionalFieldType<Uint8Array>;
            status: FieldType<ApplicationLauncher.Status>;
        }>, any>;
    };
    events: {};
    extensions: undefined;
    features: {
        applicationPlatform: BitFlag;
    };
    id: Branded<Branded<1292, "ClusterId">, "ClusterId">;
    name: "ApplicationLauncher";
    revision: 1;
    supportedFeatures: {};
    unknown: false;
    alter<const AlterationsT>(alterations: AlterationsT): WithAlterations<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            attributeList: Attribute<AttributeId[], never>;
            catalogList: Attribute<number[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    applicationPlatform: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            clusterRevision: Attribute<number, never>;
            currentApp: OptionalAttribute<null | TypeFromFields<{
                application: FieldType<TypeFromFields<{
                    applicationId: ...;
                    catalogVendorId: ...;
                }>>;
                endpoint: OptionalFieldType<EndpointNumber>;
            }>, any>;
            featureMap: Attribute<TypeFromPartialBitSchema<{
                applicationPlatform: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
        };
        commands: {
            hideApp: Command<TypeFromFields<{
                application: OptionalFieldType<TypeFromFields<{
                    applicationId: FieldType<(...)>;
                    catalogVendorId: FieldType<(...)>;
                }>>;
            }>, TypeFromFields<{
                data: OptionalFieldType<Uint8Array>;
                status: FieldType<ApplicationLauncher.Status>;
            }>, any>;
            launchApp: Command<TypeFromFields<{
                application: OptionalFieldType<TypeFromFields<{
                    applicationId: FieldType<(...)>;
                    catalogVendorId: FieldType<(...)>;
                }>>;
                data: OptionalFieldType<Uint8Array>;
            }>, TypeFromFields<{
                data: OptionalFieldType<Uint8Array>;
                status: FieldType<ApplicationLauncher.Status>;
            }>, any>;
            stopApp: Command<TypeFromFields<{
                application: OptionalFieldType<TypeFromFields<{
                    applicationId: FieldType<(...)>;
                    catalogVendorId: FieldType<(...)>;
                }>>;
            }>, TypeFromFields<{
                data: OptionalFieldType<Uint8Array>;
                status: FieldType<ApplicationLauncher.Status>;
            }>, any>;
        };
        features: {
            applicationPlatform: BitFlag;
        };
        id: Branded<1292, "ClusterId">;
        name: "ApplicationLauncher";
        revision: 1;
    }>, AlterationsT>;
    enable<const FlagsT>(flags: FlagsT): WithFlags<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            attributeList: Attribute<AttributeId[], never>;
            catalogList: Attribute<number[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    applicationPlatform: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            clusterRevision: Attribute<number, never>;
            currentApp: OptionalAttribute<null | TypeFromFields<{
                application: FieldType<TypeFromFields<{
                    applicationId: ...;
                    catalogVendorId: ...;
                }>>;
                endpoint: OptionalFieldType<EndpointNumber>;
            }>, any>;
            featureMap: Attribute<TypeFromPartialBitSchema<{
                applicationPlatform: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
        };
        commands: {
            hideApp: Command<TypeFromFields<{
                application: OptionalFieldType<TypeFromFields<{
                    applicationId: FieldType<(...)>;
                    catalogVendorId: FieldType<(...)>;
                }>>;
            }>, TypeFromFields<{
                data: OptionalFieldType<Uint8Array>;
                status: FieldType<ApplicationLauncher.Status>;
            }>, any>;
            launchApp: Command<TypeFromFields<{
                application: OptionalFieldType<TypeFromFields<{
                    applicationId: FieldType<(...)>;
                    catalogVendorId: FieldType<(...)>;
                }>>;
                data: OptionalFieldType<Uint8Array>;
            }>, TypeFromFields<{
                data: OptionalFieldType<Uint8Array>;
                status: FieldType<ApplicationLauncher.Status>;
            }>, any>;
            stopApp: Command<TypeFromFields<{
                application: OptionalFieldType<TypeFromFields<{
                    applicationId: FieldType<(...)>;
                    catalogVendorId: FieldType<(...)>;
                }>>;
            }>, TypeFromFields<{
                data: OptionalFieldType<Uint8Array>;
                status: FieldType<ApplicationLauncher.Status>;
            }>, any>;
        };
        features: {
            applicationPlatform: BitFlag;
        };
        id: Branded<1292, "ClusterId">;
        name: "ApplicationLauncher";
        revision: 1;
    }>, FlagsT>;
    set<const ValuesT>(values: ValuesT): WithValues<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            attributeList: Attribute<AttributeId[], never>;
            catalogList: Attribute<number[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    applicationPlatform: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            clusterRevision: Attribute<number, never>;
            currentApp: OptionalAttribute<null | TypeFromFields<{
                application: FieldType<TypeFromFields<{
                    applicationId: ...;
                    catalogVendorId: ...;
                }>>;
                endpoint: OptionalFieldType<EndpointNumber>;
            }>, any>;
            featureMap: Attribute<TypeFromPartialBitSchema<{
                applicationPlatform: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
        };
        commands: {
            hideApp: Command<TypeFromFields<{
                application: OptionalFieldType<TypeFromFields<{
                    applicationId: FieldType<(...)>;
                    catalogVendorId: FieldType<(...)>;
                }>>;
            }>, TypeFromFields<{
                data: OptionalFieldType<Uint8Array>;
                status: FieldType<ApplicationLauncher.Status>;
            }>, any>;
            launchApp: Command<TypeFromFields<{
                application: OptionalFieldType<TypeFromFields<{
                    applicationId: FieldType<(...)>;
                    catalogVendorId: FieldType<(...)>;
                }>>;
                data: OptionalFieldType<Uint8Array>;
            }>, TypeFromFields<{
                data: OptionalFieldType<Uint8Array>;
                status: FieldType<ApplicationLauncher.Status>;
            }>, any>;
            stopApp: Command<TypeFromFields<{
                application: OptionalFieldType<TypeFromFields<{
                    applicationId: FieldType<(...)>;
                    catalogVendorId: FieldType<(...)>;
                }>>;
            }>, TypeFromFields<{
                data: OptionalFieldType<Uint8Array>;
                status: FieldType<ApplicationLauncher.Status>;
            }>, any>;
        };
        features: {
            applicationPlatform: BitFlag;
        };
        id: Branded<1292, "ClusterId">;
        name: "ApplicationLauncher";
        revision: 1;
    }>, ValuesT>;
    with<const SelectionT>(...selection: SelectionT): Of<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            attributeList: Attribute<AttributeId[], never>;
            catalogList: Attribute<number[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    applicationPlatform: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            clusterRevision: Attribute<number, never>;
            currentApp: OptionalAttribute<null | TypeFromFields<{
                application: FieldType<TypeFromFields<{
                    applicationId: ...;
                    catalogVendorId: ...;
                }>>;
                endpoint: OptionalFieldType<EndpointNumber>;
            }>, any>;
            featureMap: Attribute<TypeFromPartialBitSchema<{
                applicationPlatform: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
        };
        commands: {
            hideApp: Command<TypeFromFields<{
                application: OptionalFieldType<TypeFromFields<{
                    applicationId: FieldType<(...)>;
                    catalogVendorId: FieldType<(...)>;
                }>>;
            }>, TypeFromFields<{
                data: OptionalFieldType<Uint8Array>;
                status: FieldType<ApplicationLauncher.Status>;
            }>, any>;
            launchApp: Command<TypeFromFields<{
                application: OptionalFieldType<TypeFromFields<{
                    applicationId: FieldType<(...)>;
                    catalogVendorId: FieldType<(...)>;
                }>>;
                data: OptionalFieldType<Uint8Array>;
            }>, TypeFromFields<{
                data: OptionalFieldType<Uint8Array>;
                status: FieldType<ApplicationLauncher.Status>;
            }>, any>;
            stopApp: Command<TypeFromFields<{
                application: OptionalFieldType<TypeFromFields<{
                    applicationId: FieldType<(...)>;
                    catalogVendorId: FieldType<(...)>;
                }>>;
            }>, TypeFromFields<{
                data: OptionalFieldType<Uint8Array>;
                status: FieldType<ApplicationLauncher.Status>;
            }>, any>;
        };
        features: {
            applicationPlatform: BitFlag;
        };
        id: Branded<1292, "ClusterId">;
        name: "ApplicationLauncher";
        revision: 1;
    }>, SelectionT>;
}

Hierarchy (view full)

Properties

attributes: Merge<{
    acceptedCommandList: Attribute<CommandId[], never>;
    attributeList: Attribute<AttributeId[], never>;
    catalogList: Attribute<number[], any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            applicationPlatform: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    clusterRevision: Attribute<number, never>;
    currentApp: OptionalAttribute<null | TypeFromFields<{
        application: FieldType<TypeFromFields<{
            applicationId: FieldType<string>;
            catalogVendorId: FieldType<number>;
        }>>;
        endpoint: OptionalFieldType<EndpointNumber>;
    }>, any>;
    featureMap: Attribute<TypeFromPartialBitSchema<{
        applicationPlatform: BitFlag;
    }>, never>;
    generatedCommandList: Attribute<CommandId[], never>;
}, GlobalAttributes<{
    applicationPlatform: BitFlag;
}>>

Type declaration

  • ReadonlyacceptedCommandList: Attribute<CommandId[], never>

    List of client generated commands which are supported by this cluster server instance.

  • ReadonlyattributeList: Attribute<AttributeId[], never>

    List of the attribute IDs of the attributes supported by the cluster instance.

  • ReadonlycatalogList: Attribute<number[], any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            applicationPlatform: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    }
  • ReadonlyclusterRevision: Attribute<number, never>

    Indicates the revision of the server cluster specification supported by the cluster instance.

  • ReadonlycurrentApp: OptionalAttribute<null | TypeFromFields<{
        application: FieldType<TypeFromFields<{
            applicationId: FieldType<string>;
            catalogVendorId: FieldType<number>;
        }>>;
        endpoint: OptionalFieldType<EndpointNumber>;
    }>, any>

    This attribute shall specify the current in-focus application, identified using an Application ID, catalog vendor ID and the corresponding endpoint number when the application is represented by a Content App endpoint. A null shall be used to indicate there is no current in-focus application.

    MatterSpecification.v13.Cluster § 6.4.6.2

  • ReadonlyfeatureMap: Attribute<TypeFromPartialBitSchema<{
        applicationPlatform: BitFlag;
    }>, never>

    Indicates whether the server supports zero or more optional cluster features.

  • ReadonlygeneratedCommandList: Attribute<CommandId[], never>

    List of server generated commands (server to client commands).

base: undefined
commands: {
    hideApp: Command<TypeFromFields<{
        application: OptionalFieldType<TypeFromFields<{
            applicationId: FieldType<string>;
            catalogVendorId: FieldType<number>;
        }>>;
    }>, TypeFromFields<{
        data: OptionalFieldType<Uint8Array>;
        status: FieldType<ApplicationLauncher.Status>;
    }>, any>;
    launchApp: Command<TypeFromFields<{
        application: OptionalFieldType<TypeFromFields<{
            applicationId: FieldType<string>;
            catalogVendorId: FieldType<number>;
        }>>;
        data: OptionalFieldType<Uint8Array>;
    }>, TypeFromFields<{
        data: OptionalFieldType<Uint8Array>;
        status: FieldType<ApplicationLauncher.Status>;
    }>, any>;
    stopApp: Command<TypeFromFields<{
        application: OptionalFieldType<TypeFromFields<{
            applicationId: FieldType<string>;
            catalogVendorId: FieldType<number>;
        }>>;
    }>, TypeFromFields<{
        data: OptionalFieldType<Uint8Array>;
        status: FieldType<ApplicationLauncher.Status>;
    }>, any>;
}

Type declaration

  • ReadonlyhideApp: Command<TypeFromFields<{
        application: OptionalFieldType<TypeFromFields<{
            applicationId: FieldType<string>;
            catalogVendorId: FieldType<number>;
        }>>;
    }>, TypeFromFields<{
        data: OptionalFieldType<Uint8Array>;
        status: FieldType<ApplicationLauncher.Status>;
    }>, any>

    Upon receipt of this command, the server shall hide the application. The application shall be either

    • the specified application, if the Application Platform feature is supported;

    • otherwise the application corresponding to the endpoint.

    The endpoint may decide to stop the application based on manufacturer specific behavior or resource constraints if any. The Status attribute shall be updated to ActiveHidden or Stopped, depending on the action taken, on the Application Basic cluster of the Endpoint corresponding to the application on which the action was taken. The Status attribute shall be updated on any other

    application whose Status may have changed as a result of this command. This command returns a Launcher Response.

    MatterSpecification.v13.Cluster § 6.4.7.3

  • ReadonlylaunchApp: Command<TypeFromFields<{
        application: OptionalFieldType<TypeFromFields<{
            applicationId: FieldType<string>;
            catalogVendorId: FieldType<number>;
        }>>;
        data: OptionalFieldType<Uint8Array>;
    }>, TypeFromFields<{
        data: OptionalFieldType<Uint8Array>;
        status: FieldType<ApplicationLauncher.Status>;
    }>, any>

    Upon receipt of this command, the server shall launch the application with optional data. The application shall be either

    • the specified application, if the Application Platform feature is supported;

    • otherwise the application corresponding to the endpoint.

    The endpoint shall launch and bring to foreground the requisite application if the application is not already launched and in foreground. The Status attribute shall be updated to ActiveVisibleFocus on the Application Basic cluster of the Endpoint corresponding to the launched application. The Status attribute shall be updated on any other application whose Status may have changed as a result of this command. The CurrentApp attribute, if supported, shall be updated to reflect the new application in the foreground.

    This command returns a Launcher Response.

    MatterSpecification.v13.Cluster § 6.4.7.1

  • ReadonlystopApp: Command<TypeFromFields<{
        application: OptionalFieldType<TypeFromFields<{
            applicationId: FieldType<string>;
            catalogVendorId: FieldType<number>;
        }>>;
    }>, TypeFromFields<{
        data: OptionalFieldType<Uint8Array>;
        status: FieldType<ApplicationLauncher.Status>;
    }>, any>

    Upon receipt of this command, the server shall stop the application if it is running. The application shall be either

    • the specified application, if the Application Platform feature is supported;

    • otherwise the application corresponding to the endpoint.

    The Status attribute shall be updated to Stopped on the Application Basic cluster of the Endpoint corresponding to the stopped application. The Status attribute shall be updated on any other application whose Status may have changed as a result of this command.

    This command returns a Launcher Response.

    MatterSpecification.v13.Cluster § 6.4.7.2

events: {}
extensions: undefined
features: {
    applicationPlatform: BitFlag;
}

Type declaration

  • ReadonlyapplicationPlatform: BitFlag

    ApplicationPlatform

    Support for attributes and commands required for endpoint to support launching any application within the supported application catalogs

id: Branded<Branded<1292, "ClusterId">, "ClusterId">
name
revision
supportedFeatures: {}
unknown

Methods