[
  {
    "interfaces": [
      {
        "base": "nsISupportsCString",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICategoryEntry",
        "members": [
          {
            "name": "entry",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "value",
            "readonly": true,
            "type": "string"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICategoryManager",
        "members": [
          {
            "args": [
              {
                "name": "aCategory",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aEntry",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getCategoryEntry",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aCategory",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aEntry",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aValue",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aPersist",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aReplace",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "addCategoryEntry",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aCategory",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aEntry",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aPersist",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "deleteCategoryEntry",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aCategory",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "deleteCategory",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aCategory",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "enumerateCategory",
            "type": "nsISimpleEnumerator"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "enumerateCategories",
            "type": "nsISimpleEnumerator"
          }
        ]
      }
    ],
    "path": "xpcom/components/nsICategoryManager.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "SINGLETON",
            "value": 1
          },
          {
            "name": "THREADSAFE",
            "value": 2
          },
          {
            "name": "SINGLETON_CLASSINFO",
            "value": 32
          },
          {
            "name": "RESERVED",
            "value": 2147483648
          }
        ],
        "enums": [],
        "id": "nsIClassInfo",
        "members": [
          {
            "name": "interfaces",
            "readonly": true,
            "type": "nsID[]"
          },
          {
            "name": "contractID",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "classDescription",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "classID",
            "readonly": true,
            "type": "nsID"
          },
          {
            "name": "flags",
            "readonly": true,
            "type": "u32"
          }
        ]
      }
    ],
    "path": "xpcom/components/nsIClassInfo.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIComponentManager",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "getManifestLocations",
            "type": "nsIArray"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getComponentESModules",
            "type": "nsIUTF8StringEnumerator"
          }
        ]
      }
    ],
    "path": "xpcom/components/nsIComponentManager.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIComponentRegistrar",
        "members": [
          {
            "args": [
              {
                "name": "aSpec",
                "optional": false,
                "type": "nsIFile"
              }
            ],
            "iid_is": null,
            "name": "autoRegister",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aClass",
                "optional": false,
                "type": "nsID"
              },
              {
                "name": "aClassName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aContractID",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aFactory",
                "optional": false,
                "type": "nsIFactory"
              }
            ],
            "iid_is": null,
            "name": "registerFactory",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aClass",
                "optional": false,
                "type": "nsID"
              },
              {
                "name": "aFactory",
                "optional": false,
                "type": "nsIFactory"
              }
            ],
            "iid_is": null,
            "name": "unregisterFactory",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aClass",
                "optional": false,
                "type": "nsID"
              }
            ],
            "iid_is": null,
            "name": "isCIDRegistered",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aContractID",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "isContractIDRegistered",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getContractIDs",
            "type": "string[]"
          },
          {
            "args": [
              {
                "name": "aContractID",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "contractIDToCID",
            "type": "nsID"
          }
        ]
      }
    ],
    "path": "xpcom/components/nsIComponentRegistrar.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIFactory",
        "members": [
          {
            "args": [
              {
                "name": "iid",
                "optional": false,
                "type": "nsID"
              }
            ],
            "iid_is": "iid",
            "name": "createInstance",
            "type": "nsQIResult"
          }
        ]
      }
    ],
    "path": "xpcom/components/nsIFactory.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIServiceManager",
        "members": [
          {
            "args": [
              {
                "name": "aClass",
                "optional": false,
                "type": "nsID"
              },
              {
                "name": "aIID",
                "optional": false,
                "type": "nsID"
              }
            ],
            "iid_is": "aIID",
            "name": "getService",
            "type": "nsQIResult"
          },
          {
            "args": [
              {
                "name": "aContractID",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aIID",
                "optional": false,
                "type": "nsID"
              }
            ],
            "iid_is": "aIID",
            "name": "getServiceByContractID",
            "type": "nsQIResult"
          },
          {
            "args": [
              {
                "name": "aClass",
                "optional": false,
                "type": "nsID"
              },
              {
                "name": "aIID",
                "optional": false,
                "type": "nsID"
              }
            ],
            "iid_is": null,
            "name": "isServiceInstantiated",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aContractID",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aIID",
                "optional": false,
                "type": "nsID"
              }
            ],
            "iid_is": null,
            "name": "isServiceInstantiatedByContractID",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "xpcom/components/nsIServiceManager.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]