summaryrefslogtreecommitdiffstats
path: root/security/manager/ssl/nsIASN1Sequence.idl
diff options
context:
space:
mode:
Diffstat (limited to 'security/manager/ssl/nsIASN1Sequence.idl')
-rw-r--r--security/manager/ssl/nsIASN1Sequence.idl56
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;
+};