Source code

Revision control

Copy as Markdown

Other Tools

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl"
/**
* An interface for unlocking Windows Limited Access Features. This allows use
* of Windows APIs which are otherwise gated.
*/
[scriptable, uuid(5d58bf99-9539-49d7-aa76-c5a262476e5a)]
interface nsILimitedAccessFeature : nsISupports
{
/**
* The Feature ID associated to this interface.
*/
readonly attribute ACString featureId;
/**
* The generated token.
*/
readonly attribute ACString token;
/**
* The generated attestation.
*/
readonly attribute ACString attestation;
/**
* Attempts to unlock the associated Limited Access Feature.
*
* @return {bool} true if the Limited Access Feature is unlocked.
*/
boolean unlock();
};
/**
* A factory to generate nsILimitedAccessFeature objects.
*/
[scriptable, uuid(115f4862-f302-42a2-a58c-d09f636ab601)]
interface nsILimitedAccessFeatureService : nsISupports
{
/**
* The Feature ID for taskbar pinning.
*/
readonly attribute ACString taskbarPinFeatureId;
/**
* Generates a new object that can be used to unlock the requested Limited
* Access Feature.
*
* @param {ACString} featureId
* The ID of the feature we want to unlock.
* @return {nsILimitedAccessFeature}
* An object that can be used to unlock the requested Limited Access
* Feature.
*/
nsILimitedAccessFeature generateLimitedAccessFeature(
in ACString featureId
);
};