diff options
Diffstat (limited to 'security/manager/ssl/nsIASN1Sequence.idl')
-rw-r--r-- | security/manager/ssl/nsIASN1Sequence.idl | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/security/manager/ssl/nsIASN1Sequence.idl b/security/manager/ssl/nsIASN1Sequence.idl new file mode 100644 index 000000000..c865f2bfc --- /dev/null +++ b/security/manager/ssl/nsIASN1Sequence.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * 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/. */ + +#include "nsISupports.idl" +#include "nsIASN1Object.idl" + +interface nsIMutableArray; + +/** + * This represents a sequence of ASN.1 objects, + * where ASN.1 is "Abstract Syntax Notation number One". + * + * Overview of how this ASN1 interface is intended to + * work. + * + * First off, the nsIASN1Sequence is any type in ASN1 + * that consists of sub-elements (ie SEQUENCE, SET) + * nsIASN1Printable Items are all the other types that + * can be viewed by themselves without interpreting further. + * Examples would include INTEGER, UTF-8 STRING, OID. + * These are not intended to directly reflect the numberous + * types that exist in ASN1, but merely an interface to ease + * producing a tree display the ASN1 structure of any DER + * object. + * + * The additional state information carried in this interface + * makes it fit for being used as the data structure + * when working with visual reprenstation of ASN.1 objects + * in a human user interface, like in a tree widget + * where open/close state of nodes must be remembered. + */ +[scriptable, uuid(b6b957e6-1dd1-11b2-89d7-e30624f50b00)] +interface nsIASN1Sequence : nsIASN1Object { + + /** + * The array of objects stored in the sequence. + */ + attribute nsIMutableArray ASN1Objects; + + /** + * Whether the node at this position in the ASN.1 data structure + * sequence contains sub elements understood by the + * application. + */ + attribute boolean isValidContainer; + + /** + * Whether the contained objects should be shown or hidden. + * A UI implementation can use this flag to store the current + * expansion state when shown in a tree widget. + */ + attribute boolean isExpanded; +}; |