security/manager/ssl/public/nsIASN1Object.idl

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
     2  *
     3  * This Source Code Form is subject to the terms of the Mozilla Public
     4  * License, v. 2.0. If a copy of the MPL was not distributed with this
     5  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     7 #include "nsISupports.idl"
     9 /**
    10  * This represents an ASN.1 object,
    11  * where ASN.1 is "Abstract Syntax Notation number One".
    12  *
    13  * The additional state information carried in this interface
    14  * makes it fit for being used as the data structure
    15  * when working with visual reprenstation of ASN.1 objects
    16  * in a human user interface, like in a tree widget
    17  * where open/close state of nodes must be remembered.
    18  */
    19 [scriptable, uuid(ba8bf582-1dd1-11b2-898c-f40246bc9a63)]
    20 interface nsIASN1Object : nsISupports {
    22   /**
    23    *  Identifiers for the possible types of object.
    24    */
    25   const unsigned long ASN1_END_CONTENTS     = 0;
    26   const unsigned long ASN1_BOOLEAN          = 1;
    27   const unsigned long ASN1_INTEGER          = 2;
    28   const unsigned long ASN1_BIT_STRING       = 3;
    29   const unsigned long ASN1_OCTET_STRING     = 4;
    30   const unsigned long ASN1_NULL             = 5; 
    31   const unsigned long ASN1_OBJECT_ID        = 6;
    32   const unsigned long ASN1_ENUMERATED       = 10;
    33   const unsigned long ASN1_UTF8_STRING      = 12;
    34   const unsigned long ASN1_SEQUENCE         = 16;
    35   const unsigned long ASN1_SET              = 17;
    36   const unsigned long ASN1_PRINTABLE_STRING = 19;
    37   const unsigned long ASN1_T61_STRING       = 20;
    38   const unsigned long ASN1_IA5_STRING       = 22;
    39   const unsigned long ASN1_UTC_TIME         = 23;
    40   const unsigned long ASN1_GEN_TIME         = 24;
    41   const unsigned long ASN1_VISIBLE_STRING   = 26;
    42   const unsigned long ASN1_UNIVERSAL_STRING = 28; 
    43   const unsigned long ASN1_BMP_STRING       = 30;
    44   const unsigned long ASN1_HIGH_TAG_NUMBER  = 31;
    45   const unsigned long ASN1_CONTEXT_SPECIFIC = 32;
    46   const unsigned long ASN1_APPLICATION      = 33;
    47   const unsigned long ASN1_PRIVATE          = 34;
    49   /**
    50    *  "type" will be equal to one of the defined object identifiers.
    51    */
    52   attribute unsigned long type;
    55   /**
    56    *  This contains a tag as explained in ASN.1 standards documents.
    57    */
    58   attribute unsigned long tag;
    60   /**
    61    *  "displayName" contains a human readable explanatory label.
    62    */
    63   attribute AString displayName;
    65   /**
    66    *  "displayValue" contains the human readable value.
    67    */
    68   attribute AString displayValue;
    69 };

mercurial