[
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "VERDICT_SAFE",
            "value": 0
          },
          {
            "name": "VERDICT_DANGEROUS",
            "value": 1
          },
          {
            "name": "VERDICT_UNCOMMON",
            "value": 2
          },
          {
            "name": "VERDICT_POTENTIALLY_UNWANTED",
            "value": 3
          },
          {
            "name": "VERDICT_DANGEROUS_HOST",
            "value": 4
          }
        ],
        "enums": [],
        "id": "nsIApplicationReputationService",
        "members": [
          {
            "args": [
              {
                "name": "aQuery",
                "optional": false,
                "type": "nsIApplicationReputationQuery"
              },
              {
                "name": "aCallback",
                "optional": false,
                "type": "nsIApplicationReputationCallback"
              }
            ],
            "iid_is": null,
            "name": "queryReputation",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aFilename",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "isBinary",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aFilename",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "isExecutable",
            "type": "boolean"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIApplicationReputationQuery",
        "members": [
          {
            "name": "sourceURI",
            "readonly": true,
            "type": "nsIURI"
          },
          {
            "name": "referrerInfo",
            "readonly": true,
            "type": "nsIReferrerInfo"
          },
          {
            "name": "suggestedFileName",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "fileSize",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "sha256Hash",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "signatureInfo",
            "readonly": true,
            "type": "u8[][][]"
          },
          {
            "name": "redirects",
            "readonly": true,
            "type": "nsIArray"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsIApplicationReputationCallback",
        "members": [
          {
            "args": [
              {
                "name": "aShouldBlock",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aStatus",
                "optional": false,
                "type": "nsresult"
              },
              {
                "name": "aVerdict",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "onComplete",
            "type": "void"
          }
        ]
      }
    ],
    "path": "toolkit/components/reputationservice/nsIApplicationReputation.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]