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;
}>>
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