# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.

Classes = [
    {
        'js_name': 'blocklist',
        'cid': '{66354bc9-7ed1-4692-ae1d-8da97d6b205e}',
        'contract_ids': ['@mozilla.org/extensions/blocklist;1'],
        'esModule': 'resource://gre/modules/amManager.sys.mjs',
        'constructor': 'BlocklistService',
        'interfaces': ['nsIBlocklistService'],
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
    {
        'cid': '{4399533d-08d1-458c-a87a-235f74451cfa}',
        'contract_ids': ['@mozilla.org/addons/integration;1'],
        'esModule': 'resource://gre/modules/amManager.sys.mjs',
        'constructor': 'amManager',
    },
    {
        'cid': '{9df8ef2b-94da-45c9-ab9f-132eb55fddf1}',
        'contract_ids': ['@mozilla.org/addons/installtrigger;1'],
        'esModule': 'resource://gre/modules/amInstallTrigger.sys.mjs',
        'constructor': 'InstallTrigger',
    },
    {
        'cid': '{8866d8e3-4ea5-48b7-a891-13ba0ac15235}',
        'contract_ids': ['@mozilla.org/addon-web-api/manager;1'],
        'esModule': 'resource://gre/modules/amWebAPI.sys.mjs',
        'constructor': 'WebAPI',
    },
]

if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'android':
    Classes += [
        {
            'cid': '{7beb3ba8-6ec3-41b4-b67c-da89b8518922}',
            'contract_ids': ['@mozilla.org/uriloader/content-handler;1?type=application/x-xpinstall'],
            'esModule': 'resource://gre/modules/amContentHandler.sys.mjs',
            'constructor': 'amContentHandler',
        },
    ]
