PageRenderTime 83ms CodeModel.GetById 40ms app.highlight 5ms RepoModel.GetById 36ms app.codeStats 0ms

/gecko_api/include/nsIASN1Sequence.h

http://firefox-mac-pdf.googlecode.com/
C++ Header | 183 lines | 92 code | 32 blank | 59 comment | 0 complexity | 2edbb6ecae02d29e7e0be7d140f22fea MD5 | raw file
  1/*
  2 * DO NOT EDIT.  THIS FILE IS GENERATED FROM /builds/tinderbox/XR-Trunk/Darwin_8.8.4_Depend/mozilla/security/manager/ssl/public/nsIASN1Sequence.idl
  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
 21class 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 */
 56class NS_NO_VTABLE NS_SCRIPTABLE nsIASN1Sequence : public nsIASN1Object {
 57 public: 
 58
 59  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IASN1SEQUENCE_IID)
 60
 61  /**
 62   *  The array of objects stored in the sequence.
 63   */
 64  /* attribute nsIMutableArray ASN1Objects; */
 65  NS_SCRIPTABLE NS_IMETHOD GetASN1Objects(nsIMutableArray * *aASN1Objects) = 0;
 66  NS_SCRIPTABLE 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_SCRIPTABLE NS_IMETHOD GetIsValidContainer(PRBool *aIsValidContainer) = 0;
 75  NS_SCRIPTABLE 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_SCRIPTABLE NS_IMETHOD GetIsExpanded(PRBool *aIsExpanded) = 0;
 84  NS_SCRIPTABLE NS_IMETHOD SetIsExpanded(PRBool aIsExpanded) = 0;
 85
 86};
 87
 88  NS_DEFINE_STATIC_IID_ACCESSOR(nsIASN1Sequence, NS_IASN1SEQUENCE_IID)
 89
 90/* Use this macro when declaring classes that implement this interface. */
 91#define NS_DECL_NSIASN1SEQUENCE \
 92  NS_SCRIPTABLE NS_IMETHOD GetASN1Objects(nsIMutableArray * *aASN1Objects); \
 93  NS_SCRIPTABLE NS_IMETHOD SetASN1Objects(nsIMutableArray * aASN1Objects); \
 94  NS_SCRIPTABLE NS_IMETHOD GetIsValidContainer(PRBool *aIsValidContainer); \
 95  NS_SCRIPTABLE NS_IMETHOD SetIsValidContainer(PRBool aIsValidContainer); \
 96  NS_SCRIPTABLE NS_IMETHOD GetIsExpanded(PRBool *aIsExpanded); \
 97  NS_SCRIPTABLE NS_IMETHOD SetIsExpanded(PRBool aIsExpanded); 
 98
 99/* Use this macro to declare functions that forward the behavior of this interface to another object. */
100#define NS_FORWARD_NSIASN1SEQUENCE(_to) \
101  NS_SCRIPTABLE NS_IMETHOD GetASN1Objects(nsIMutableArray * *aASN1Objects) { return _to GetASN1Objects(aASN1Objects); } \
102  NS_SCRIPTABLE NS_IMETHOD SetASN1Objects(nsIMutableArray * aASN1Objects) { return _to SetASN1Objects(aASN1Objects); } \
103  NS_SCRIPTABLE NS_IMETHOD GetIsValidContainer(PRBool *aIsValidContainer) { return _to GetIsValidContainer(aIsValidContainer); } \
104  NS_SCRIPTABLE NS_IMETHOD SetIsValidContainer(PRBool aIsValidContainer) { return _to SetIsValidContainer(aIsValidContainer); } \
105  NS_SCRIPTABLE NS_IMETHOD GetIsExpanded(PRBool *aIsExpanded) { return _to GetIsExpanded(aIsExpanded); } \
106  NS_SCRIPTABLE NS_IMETHOD SetIsExpanded(PRBool aIsExpanded) { return _to SetIsExpanded(aIsExpanded); } 
107
108/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
109#define NS_FORWARD_SAFE_NSIASN1SEQUENCE(_to) \
110  NS_SCRIPTABLE NS_IMETHOD GetASN1Objects(nsIMutableArray * *aASN1Objects) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetASN1Objects(aASN1Objects); } \
111  NS_SCRIPTABLE NS_IMETHOD SetASN1Objects(nsIMutableArray * aASN1Objects) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetASN1Objects(aASN1Objects); } \
112  NS_SCRIPTABLE NS_IMETHOD GetIsValidContainer(PRBool *aIsValidContainer) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsValidContainer(aIsValidContainer); } \
113  NS_SCRIPTABLE NS_IMETHOD SetIsValidContainer(PRBool aIsValidContainer) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsValidContainer(aIsValidContainer); } \
114  NS_SCRIPTABLE NS_IMETHOD GetIsExpanded(PRBool *aIsExpanded) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsExpanded(aIsExpanded); } \
115  NS_SCRIPTABLE NS_IMETHOD SetIsExpanded(PRBool aIsExpanded) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsExpanded(aIsExpanded); } 
116
117#if 0
118/* Use the code below as a template for the implementation class for this interface. */
119
120/* Header file */
121class nsASN1Sequence : public nsIASN1Sequence
122{
123public:
124  NS_DECL_ISUPPORTS
125  NS_DECL_NSIASN1SEQUENCE
126
127  nsASN1Sequence();
128
129private:
130  ~nsASN1Sequence();
131
132protected:
133  /* additional members */
134};
135
136/* Implementation file */
137NS_IMPL_ISUPPORTS1(nsASN1Sequence, nsIASN1Sequence)
138
139nsASN1Sequence::nsASN1Sequence()
140{
141  /* member initializers and constructor code */
142}
143
144nsASN1Sequence::~nsASN1Sequence()
145{
146  /* destructor code */
147}
148
149/* attribute nsIMutableArray ASN1Objects; */
150NS_IMETHODIMP nsASN1Sequence::GetASN1Objects(nsIMutableArray * *aASN1Objects)
151{
152    return NS_ERROR_NOT_IMPLEMENTED;
153}
154NS_IMETHODIMP nsASN1Sequence::SetASN1Objects(nsIMutableArray * aASN1Objects)
155{
156    return NS_ERROR_NOT_IMPLEMENTED;
157}
158
159/* attribute boolean isValidContainer; */
160NS_IMETHODIMP nsASN1Sequence::GetIsValidContainer(PRBool *aIsValidContainer)
161{
162    return NS_ERROR_NOT_IMPLEMENTED;
163}
164NS_IMETHODIMP nsASN1Sequence::SetIsValidContainer(PRBool aIsValidContainer)
165{
166    return NS_ERROR_NOT_IMPLEMENTED;
167}
168
169/* attribute boolean isExpanded; */
170NS_IMETHODIMP nsASN1Sequence::GetIsExpanded(PRBool *aIsExpanded)
171{
172    return NS_ERROR_NOT_IMPLEMENTED;
173}
174NS_IMETHODIMP nsASN1Sequence::SetIsExpanded(PRBool aIsExpanded)
175{
176    return NS_ERROR_NOT_IMPLEMENTED;
177}
178
179/* End of implementation class template. */
180#endif
181
182
183#endif /* __gen_nsIASN1Sequence_h__ */