67 lines
2.1 KiB
Text
67 lines
2.1 KiB
Text
/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
|
|
/* 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"
|
|
|
|
[scriptable, uuid(063813a0-85d8-4e77-80ea-b61292c0493d)]
|
|
interface nsIInstalledApplication : nsISupports
|
|
{
|
|
readonly attribute AString name;
|
|
readonly attribute AString publisher;
|
|
};
|
|
|
|
[scriptable, uuid(d33ff086-b328-4ae6-aaf5-52d41aa5df38)]
|
|
interface nsIAboutThirdParty : nsISupports
|
|
{
|
|
/**
|
|
* ModuleType flags used by lookupModuleType.
|
|
*/
|
|
const unsigned long ModuleType_Unknown = 1 << 0;
|
|
const unsigned long ModuleType_IME = 1 << 1;
|
|
const unsigned long ModuleType_ShellExtension = 1 << 2;
|
|
const unsigned long ModuleType_BlockedByUser = 1 << 3;
|
|
const unsigned long ModuleType_BlockedByUserAtLaunch = 1 << 4;
|
|
|
|
/**
|
|
* Returns a bitwise combination of the ModuleType_* flags
|
|
* for the given leaf name of a module.
|
|
*/
|
|
unsigned long lookupModuleType(in AString aLeafName);
|
|
|
|
/**
|
|
* Returns an object representing an application which includes
|
|
* the given path of a module in its installation.
|
|
*/
|
|
nsIInstalledApplication lookupApplication(in AString aModulePath);
|
|
|
|
/**
|
|
* Returns true if DynamicBlocklist is available.
|
|
*/
|
|
readonly attribute boolean isDynamicBlocklistAvailable;
|
|
|
|
/**
|
|
* Returns true if DynamicBlocklist is available but disabled.
|
|
*/
|
|
readonly attribute boolean isDynamicBlocklistDisabled;
|
|
|
|
/**
|
|
* Add or remove an entry from the dynamic blocklist and save
|
|
* the resulting file.
|
|
*/
|
|
[implicit_jscontext] Promise updateBlocklist(in AString aLeafName,
|
|
in boolean aNewBlockStatus);
|
|
|
|
/**
|
|
* Posts a background task to collect system information and resolves
|
|
* the returned promise when the task is finished.
|
|
*/
|
|
[implicit_jscontext] Promise collectSystemInfo();
|
|
|
|
/**
|
|
* Load the DLL at aModulePath.
|
|
* This method should only be used for testing.
|
|
*/
|
|
void loadModuleForTesting(in AString aModulePath);
|
|
};
|