# -*- 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 https://mozilla.org/MPL/2.0/.

Classes = [
    {
        'name': 'RFPService',
        'cid': '{20093b2e-d5d5-4ce0-8355-96b8d2dc7ff5}',
        'interfaces': ['nsIRFPService'],
        'contract_ids': ['@mozilla.org/rfp-service;1'],
        'type': 'mozilla::nsRFPService',
        'headers': ['/toolkit/components/resistfingerprinting/nsRFPService.h'],
        'singleton': True,
        'constructor': 'mozilla::nsRFPService::GetOrCreate',
        'js_name': 'rfp',
        'categories': {
            'profile-after-change': 'nsRFPService',
        },
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
    {
        'cid': '{07f45442-1806-44be-9230-12eb79de9bac}',
        'contract_ids': ['@mozilla.org/fingerprinting-override;1'],
        'esModule': 'resource://gre/modules/FingerprintingWebCompatService.sys.mjs',
        'constructor': 'FingerprintingOverride',
    },
    {
        'cid': '{e7b1da06-2594-4670-aea4-131070baca4c}',
        'contract_ids': ['@mozilla.org/fingerprinting-webcompat-service;1'],
        'singleton': True,
        'esModule': 'resource://gre/modules/FingerprintingWebCompatService.sys.mjs',
        'constructor': 'FingerprintingWebCompatService',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
    {
        'cid': '{ce3e9659-e311-49fb-b18b-7f27c6659b23}',
        'contract_ids': ['@mozilla.org/user-characteristics-page;1'],
        'esModule': 'resource://gre/modules/UserCharacteristicsPageService.sys.mjs',
        'constructor': 'UserCharacteristicsPageService',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
]
