// NOTE: this is a machine generated file--editing not recommended // // acext.h - class definitions for ASN.1 module ACEXT // // This file was generated by snacc on Mon Apr 26 08:02:27 2004 // UBC snacc by Mike Sample // A couple of enhancements made by IBM European Networking Center #ifndef _acext_h_ #define _acext_h_ #include "asn-incl.h" #include "X509Common.h" #include "AttributeCertificateDefinitions.h" #include "AuthenticationFramework.h" #ifndef NO_NAMESPACE namespace SNACC { #endif //------------------------------------------------------------------------------ // class declarations: class RightSyntax; class GroupSyntax; class VerifyingCertChain; class AttributeCertChain; //------------------------------------------------------------------------------ // externs for value defs extern const AsnOid right; extern const AsnOid group; extern const AsnOid id_at_group; extern const AsnOid id_at_right; //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // class definitions: typedef enum ACEXTAnyId { right_ANY_ID = 0, group_ANY_ID = 1 } ACEXTAnyId; class RightSyntax: public AsnType { public: GeneralNames *rightAuthority; GeneralName *rightName; RightSyntax() {Init();} void Init(void); virtual ~RightSyntax() {Clear();} void Clear(); RightSyntax(const RightSyntax& that); public: virtual const char * typeName(void) const { return "RightSyntax"; } AsnType *Clone() const; RightSyntax &operator = (const RightSyntax &that); AsnLen BEncContent (AsnBuf &b) const; void BDecContent (const AsnBuf &b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded); AsnLen BEnc (AsnBuf &b) const; void BDec (const AsnBuf &b, AsnLen &bytesDecoded); void Print (std::ostream &os) const; void PrintXML (std::ostream &os, const char *lpszTitle=NULL) const; }; class GroupSyntax: public AsnType { public: GeneralNames *groupAuthority; GeneralName *groupName; GroupSyntax() {Init();} void Init(void); virtual ~GroupSyntax() {Clear();} void Clear(); GroupSyntax(const GroupSyntax& that); public: virtual const char * typeName(void) const { return "GroupSyntax"; } AsnType *Clone() const; GroupSyntax &operator = (const GroupSyntax &that); AsnLen BEncContent (AsnBuf &b) const; void BDecContent (const AsnBuf &b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded); AsnLen BEnc (AsnBuf &b) const; void BDec (const AsnBuf &b, AsnLen &bytesDecoded); void Print (std::ostream &os) const; void PrintXML (std::ostream &os, const char *lpszTitle=NULL) const; }; /* All SEQUENCE OF and SET OF types are handled by the AsnSeqOf and AsnSetOf * templates defined in asn-list.h. The private member function 'typeNameStr' * is used by the Print() and PrintXML() to display the class name. It's * private because it will eventually be replaced by enchanced META code. */ class VerifyingCertChain : public AsnSeqOf { public: virtual const char * typeName(void) const { return "VerifyingCertChain"; } }; class AttributeCertChain: public AsnType { public: AttributeCertificate *attributeCert; VerifyingCertChain certificateChain; AttributeCertChain() {Init();} void Init(void); virtual ~AttributeCertChain() {Clear();} void Clear(); AttributeCertChain(const AttributeCertChain& that); public: virtual const char * typeName(void) const { return "AttributeCertChain"; } AsnType *Clone() const; AttributeCertChain &operator = (const AttributeCertChain &that); AsnLen BEncContent (AsnBuf &b) const; void BDecContent (const AsnBuf &b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded); AsnLen BEnc (AsnBuf &b) const; void BDec (const AsnBuf &b, AsnLen &bytesDecoded); void Print (std::ostream &os) const; void PrintXML (std::ostream &os, const char *lpszTitle=NULL) const; }; #ifndef NO_NAMESPACE } // namespace close #endif #endif /* conditional include of acext.h */