# -*- 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 = []

TOOLKIT = buildconfig.substs['MOZ_WIDGET_TOOLKIT']

shell_service_contracts = [
    '@mozilla.org/browser/shell-service;1',
    '@mozilla.org/toolkit/shell-service;1',
]

if TOOLKIT == 'gtk':
    Classes += [
        {
            'cid': '{63c7b9f4-0cc8-43f8-b666-0a661655cb73}',
            'contract_ids': shell_service_contracts,
            'type': 'nsGNOMEShellService',
            'headers': ['/browser/components/shell/nsGNOMEShellService.h'],
            'init_method': 'Init',
        },
    ]
elif TOOLKIT == 'cocoa':
    Classes += [
        {
            'cid': '{6fc66a78-6cbc-4b3f-b7ba-379289b29276}',
            'contract_ids': ['@mozilla.org/mac-attribution;1'],
            'type': 'nsMacAttributionService',
            'headers': ['nsMacAttribution.h'],
        },
    ]

if buildconfig.substs['OS_ARCH'] == 'Darwin':
    Classes += [
        {
            'cid': '{63c7b9f4-0cc8-43f8-b666-0a661655cb73}',
            'contract_ids': shell_service_contracts,
            'type': 'nsMacShellService',
            'headers': ['/browser/components/shell/nsMacShellService.h'],
        },
    ]
elif buildconfig.substs['OS_ARCH'] == 'WINNT':
    Classes += [
        {
            'cid': '{63c7b9f4-0cc8-43f8-b666-0a661655cb73}',
            'contract_ids': shell_service_contracts,
            'type': 'nsWindowsShellService',
            'headers': ['/browser/components/shell/nsWindowsShellService.h'],
        },
        {
            'cid': '{93480624-806e-4756-b7cb-0fb7dd746a8f}',
            'contract_ids': ['@mozilla.org/profile/migrator/iehistoryenumerator;1'],
            'type': 'nsIEHistoryEnumerator',
            'headers': ['/browser/components/migration/nsIEHistoryEnumerator.h'],
        },
    ]
