# -*- 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 = [
    {
        'cid': '{88e2fd0b-f7f4-480c-9483-7846b00e8dad}',
        'contract_ids': ['@mozilla.org/libjar/zip-reader;1'],
        'type': 'nsJAR',
        'headers': ['/modules/libjar/nsJAR.h'],
    },
    {
        'cid': '{c7e410d4-85f2-11d3-9f63-006008a6efe9}',
        'contract_ids': ['@mozilla.org/network/protocol;1?name=jar'],
        'singleton': True,
        'type': 'nsJARProtocolHandler',
        'headers': ['/modules/libjar/nsJARProtocolHandler.h'],
        'constructor': 'nsJARProtocolHandler::GetSingleton',
        'protocol_config': {
            'scheme': 'jar',
            'flags': [
                'URI_NORELATIVE',
                'URI_NOAUTH',
                # URI_LOADABLE_BY_ANYONE, since it's our inner URI that will
                # matter anyway.
                'URI_LOADABLE_BY_ANYONE',
                'URI_HAS_WEB_EXPOSED_ORIGIN',
            ],
        },
    },
    {
        'cid': '{245abae2-b947-4ded-a46d-9829d3cca462}',
        'type': 'nsJARURI::Mutator',
        'headers': ['nsJARURI.h'],
    },
    {
        'cid': '{19d9161b-a2a9-4518-b2c9-fcb8296d6dcd}',
        'type': 'nsJARURI::Mutator',
        'headers': ['nsJARURI.h'],
    },
    {
        'cid': '{608b7f6f-4b60-40d6-87ed-d933bf53d8c1}',
        'contract_ids': ['@mozilla.org/libjar/zip-reader-cache;1'],
        'type': 'nsZipReaderCache',
        'headers': ['/modules/libjar/nsJAR.h'],
    },
]
