OLD | NEW |
(Empty) | |
| 1 /* |
| 2 * DO NOT EDIT. THIS FILE IS GENERATED FROM c:/builds/tinderbox/XR-Mozilla1.8.0
-Release/WINNT_5.2_Depend/mozilla/security/manager/ssl/public/nsIASN1Sequence.id
l |
| 3 */ |
| 4 |
| 5 #ifndef __gen_nsIASN1Sequence_h__ |
| 6 #define __gen_nsIASN1Sequence_h__ |
| 7 |
| 8 |
| 9 #ifndef __gen_nsISupports_h__ |
| 10 #include "nsISupports.h" |
| 11 #endif |
| 12 |
| 13 #ifndef __gen_nsIASN1Object_h__ |
| 14 #include "nsIASN1Object.h" |
| 15 #endif |
| 16 |
| 17 /* For IDL files that don't want to include root IDL files. */ |
| 18 #ifndef NS_NO_VTABLE |
| 19 #define NS_NO_VTABLE |
| 20 #endif |
| 21 class nsIMutableArray; /* forward declaration */ |
| 22 |
| 23 |
| 24 /* starting interface: nsIASN1Sequence */ |
| 25 #define NS_IASN1SEQUENCE_IID_STR "b6b957e6-1dd1-11b2-89d7-e30624f50b00" |
| 26 |
| 27 #define NS_IASN1SEQUENCE_IID \ |
| 28 {0xb6b957e6, 0x1dd1, 0x11b2, \ |
| 29 { 0x89, 0xd7, 0xe3, 0x06, 0x24, 0xf5, 0x0b, 0x00 }} |
| 30 |
| 31 /** |
| 32 * This represents a sequence of ASN.1 objects, |
| 33 * where ASN.1 is "Abstract Syntax Notation number One". |
| 34 * |
| 35 * Overview of how this ASN1 interface is intended to |
| 36 * work. |
| 37 * |
| 38 * First off, the nsIASN1Sequence is any type in ASN1 |
| 39 * that consists of sub-elements (ie SEQUENCE, SET) |
| 40 * nsIASN1Printable Items are all the other types that |
| 41 * can be viewed by themselves without interpreting further. |
| 42 * Examples would include INTEGER, UTF-8 STRING, OID. |
| 43 * These are not intended to directly reflect the numberous |
| 44 * types that exist in ASN1, but merely an interface to ease |
| 45 * producing a tree display the ASN1 structure of any DER |
| 46 * object. |
| 47 * |
| 48 * The additional state information carried in this interface |
| 49 * makes it fit for being used as the data structure |
| 50 * when working with visual reprenstation of ASN.1 objects |
| 51 * in a human user interface, like in a tree widget |
| 52 * where open/close state of nodes must be remembered. |
| 53 * |
| 54 * @status FROZEN |
| 55 */ |
| 56 class NS_NO_VTABLE nsIASN1Sequence : public nsIASN1Object { |
| 57 public: |
| 58 |
| 59 NS_DEFINE_STATIC_IID_ACCESSOR(NS_IASN1SEQUENCE_IID) |
| 60 |
| 61 /** |
| 62 * The array of objects stored in the sequence. |
| 63 */ |
| 64 /* attribute nsIMutableArray ASN1Objects; */ |
| 65 NS_IMETHOD GetASN1Objects(nsIMutableArray * *aASN1Objects) = 0; |
| 66 NS_IMETHOD SetASN1Objects(nsIMutableArray * aASN1Objects) = 0; |
| 67 |
| 68 /** |
| 69 * Whether the node at this position in the ASN.1 data structure |
| 70 * sequence contains sub elements understood by the |
| 71 * application. |
| 72 */ |
| 73 /* attribute boolean isValidContainer; */ |
| 74 NS_IMETHOD GetIsValidContainer(PRBool *aIsValidContainer) = 0; |
| 75 NS_IMETHOD SetIsValidContainer(PRBool aIsValidContainer) = 0; |
| 76 |
| 77 /** |
| 78 * Whether the contained objects should be shown or hidden. |
| 79 * A UI implementation can use this flag to store the current |
| 80 * expansion state when shown in a tree widget. |
| 81 */ |
| 82 /* attribute boolean isExpanded; */ |
| 83 NS_IMETHOD GetIsExpanded(PRBool *aIsExpanded) = 0; |
| 84 NS_IMETHOD SetIsExpanded(PRBool aIsExpanded) = 0; |
| 85 |
| 86 }; |
| 87 |
| 88 /* Use this macro when declaring classes that implement this interface. */ |
| 89 #define NS_DECL_NSIASN1SEQUENCE \ |
| 90 NS_IMETHOD GetASN1Objects(nsIMutableArray * *aASN1Objects); \ |
| 91 NS_IMETHOD SetASN1Objects(nsIMutableArray * aASN1Objects); \ |
| 92 NS_IMETHOD GetIsValidContainer(PRBool *aIsValidContainer); \ |
| 93 NS_IMETHOD SetIsValidContainer(PRBool aIsValidContainer); \ |
| 94 NS_IMETHOD GetIsExpanded(PRBool *aIsExpanded); \ |
| 95 NS_IMETHOD SetIsExpanded(PRBool aIsExpanded); |
| 96 |
| 97 /* Use this macro to declare functions that forward the behavior of this interfa
ce to another object. */ |
| 98 #define NS_FORWARD_NSIASN1SEQUENCE(_to) \ |
| 99 NS_IMETHOD GetASN1Objects(nsIMutableArray * *aASN1Objects) { return _to GetASN
1Objects(aASN1Objects); } \ |
| 100 NS_IMETHOD SetASN1Objects(nsIMutableArray * aASN1Objects) { return _to SetASN1
Objects(aASN1Objects); } \ |
| 101 NS_IMETHOD GetIsValidContainer(PRBool *aIsValidContainer) { return _to GetIsVa
lidContainer(aIsValidContainer); } \ |
| 102 NS_IMETHOD SetIsValidContainer(PRBool aIsValidContainer) { return _to SetIsVal
idContainer(aIsValidContainer); } \ |
| 103 NS_IMETHOD GetIsExpanded(PRBool *aIsExpanded) { return _to GetIsExpanded(aIsEx
panded); } \ |
| 104 NS_IMETHOD SetIsExpanded(PRBool aIsExpanded) { return _to SetIsExpanded(aIsExp
anded); } |
| 105 |
| 106 /* Use this macro to declare functions that forward the behavior of this interfa
ce to another object in a safe way. */ |
| 107 #define NS_FORWARD_SAFE_NSIASN1SEQUENCE(_to) \ |
| 108 NS_IMETHOD GetASN1Objects(nsIMutableArray * *aASN1Objects) { return !_to ? NS_
ERROR_NULL_POINTER : _to->GetASN1Objects(aASN1Objects); } \ |
| 109 NS_IMETHOD SetASN1Objects(nsIMutableArray * aASN1Objects) { return !_to ? NS_E
RROR_NULL_POINTER : _to->SetASN1Objects(aASN1Objects); } \ |
| 110 NS_IMETHOD GetIsValidContainer(PRBool *aIsValidContainer) { return !_to ? NS_E
RROR_NULL_POINTER : _to->GetIsValidContainer(aIsValidContainer); } \ |
| 111 NS_IMETHOD SetIsValidContainer(PRBool aIsValidContainer) { return !_to ? NS_ER
ROR_NULL_POINTER : _to->SetIsValidContainer(aIsValidContainer); } \ |
| 112 NS_IMETHOD GetIsExpanded(PRBool *aIsExpanded) { return !_to ? NS_ERROR_NULL_PO
INTER : _to->GetIsExpanded(aIsExpanded); } \ |
| 113 NS_IMETHOD SetIsExpanded(PRBool aIsExpanded) { return !_to ? NS_ERROR_NULL_POI
NTER : _to->SetIsExpanded(aIsExpanded); } |
| 114 |
| 115 #if 0 |
| 116 /* Use the code below as a template for the implementation class for this interf
ace. */ |
| 117 |
| 118 /* Header file */ |
| 119 class nsASN1Sequence : public nsIASN1Sequence |
| 120 { |
| 121 public: |
| 122 NS_DECL_ISUPPORTS |
| 123 NS_DECL_NSIASN1SEQUENCE |
| 124 |
| 125 nsASN1Sequence(); |
| 126 |
| 127 private: |
| 128 ~nsASN1Sequence(); |
| 129 |
| 130 protected: |
| 131 /* additional members */ |
| 132 }; |
| 133 |
| 134 /* Implementation file */ |
| 135 NS_IMPL_ISUPPORTS1(nsASN1Sequence, nsIASN1Sequence) |
| 136 |
| 137 nsASN1Sequence::nsASN1Sequence() |
| 138 { |
| 139 /* member initializers and constructor code */ |
| 140 } |
| 141 |
| 142 nsASN1Sequence::~nsASN1Sequence() |
| 143 { |
| 144 /* destructor code */ |
| 145 } |
| 146 |
| 147 /* attribute nsIMutableArray ASN1Objects; */ |
| 148 NS_IMETHODIMP nsASN1Sequence::GetASN1Objects(nsIMutableArray * *aASN1Objects) |
| 149 { |
| 150 return NS_ERROR_NOT_IMPLEMENTED; |
| 151 } |
| 152 NS_IMETHODIMP nsASN1Sequence::SetASN1Objects(nsIMutableArray * aASN1Objects) |
| 153 { |
| 154 return NS_ERROR_NOT_IMPLEMENTED; |
| 155 } |
| 156 |
| 157 /* attribute boolean isValidContainer; */ |
| 158 NS_IMETHODIMP nsASN1Sequence::GetIsValidContainer(PRBool *aIsValidContainer) |
| 159 { |
| 160 return NS_ERROR_NOT_IMPLEMENTED; |
| 161 } |
| 162 NS_IMETHODIMP nsASN1Sequence::SetIsValidContainer(PRBool aIsValidContainer) |
| 163 { |
| 164 return NS_ERROR_NOT_IMPLEMENTED; |
| 165 } |
| 166 |
| 167 /* attribute boolean isExpanded; */ |
| 168 NS_IMETHODIMP nsASN1Sequence::GetIsExpanded(PRBool *aIsExpanded) |
| 169 { |
| 170 return NS_ERROR_NOT_IMPLEMENTED; |
| 171 } |
| 172 NS_IMETHODIMP nsASN1Sequence::SetIsExpanded(PRBool aIsExpanded) |
| 173 { |
| 174 return NS_ERROR_NOT_IMPLEMENTED; |
| 175 } |
| 176 |
| 177 /* End of implementation class template. */ |
| 178 #endif |
| 179 |
| 180 |
| 181 #endif /* __gen_nsIASN1Sequence_h__ */ |
OLD | NEW |