www.pudn.com > openh323-v1_15_1-src.zip > h235.h
// // h235.h // // Code automatically generated by asnparse. // #if ! H323_DISABLE_H235 #ifndef __H235_H #define __H235_H #ifdef P_USE_PRAGMA #pragma interface #endif #include// // ChallengeString // class H235_ChallengeString : public PASN_OctetString { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_ChallengeString, PASN_OctetString); #endif public: H235_ChallengeString(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass); H235_ChallengeString(const char * v); H235_ChallengeString(const PString & v); H235_ChallengeString(const PBYTEArray & v); H235_ChallengeString & operator=(const char * v); H235_ChallengeString & operator=(const PString & v); H235_ChallengeString & operator=(const PBYTEArray & v); PObject * Clone() const; }; // // TimeStamp // class H235_TimeStamp : public PASN_Integer { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_TimeStamp, PASN_Integer); #endif public: H235_TimeStamp(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass); H235_TimeStamp & operator=(int v); H235_TimeStamp & operator=(unsigned v); PObject * Clone() const; }; // // RandomVal // class H235_RandomVal : public PASN_Integer { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_RandomVal, PASN_Integer); #endif public: H235_RandomVal(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass); H235_RandomVal & operator=(int v); H235_RandomVal & operator=(unsigned v); PObject * Clone() const; }; // // Password // class H235_Password : public PASN_BMPString { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_Password, PASN_BMPString); #endif public: H235_Password(unsigned tag = UniversalBMPString, TagClass tagClass = UniversalTagClass); H235_Password & operator=(const char * v); H235_Password & operator=(const PString & v); H235_Password & operator=(const PWORDArray & v); H235_Password & operator=(const PASN_BMPString & v); PObject * Clone() const; }; // // Identifier // class H235_Identifier : public PASN_BMPString { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_Identifier, PASN_BMPString); #endif public: H235_Identifier(unsigned tag = UniversalBMPString, TagClass tagClass = UniversalTagClass); H235_Identifier & operator=(const char * v); H235_Identifier & operator=(const PString & v); H235_Identifier & operator=(const PWORDArray & v); H235_Identifier & operator=(const PASN_BMPString & v); PObject * Clone() const; }; // // KeyMaterial // class H235_KeyMaterial : public PASN_BitString { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_KeyMaterial, PASN_BitString); #endif public: H235_KeyMaterial(unsigned tag = UniversalBitString, TagClass tagClass = UniversalTagClass); PObject * Clone() const; }; // // NonStandardParameter // class H235_NonStandardParameter : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_NonStandardParameter, PASN_Sequence); #endif public: H235_NonStandardParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); PASN_ObjectId m_nonStandardIdentifier; PASN_OctetString m_data; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // DHset // class H235_DHset : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_DHset, PASN_Sequence); #endif public: H235_DHset(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); PASN_BitString m_halfkey; PASN_BitString m_modSize; PASN_BitString m_generator; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // ECpoint // class H235_ECpoint : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_ECpoint, PASN_Sequence); #endif public: H235_ECpoint(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); enum OptionalFields { e_x, e_y }; PASN_BitString m_x; PASN_BitString m_y; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // ECKASDH // class H235_ECKASDH_eckasdhp; class H235_ECKASDH_eckasdh2; class H235_ECKASDH : public PASN_Choice { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_ECKASDH, PASN_Choice); #endif public: H235_ECKASDH(unsigned tag = 0, TagClass tagClass = UniversalTagClass); enum Choices { e_eckasdhp, e_eckasdh2 }; #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 operator H235_ECKASDH_eckasdhp &() const; #else operator H235_ECKASDH_eckasdhp &(); operator const H235_ECKASDH_eckasdhp &() const; #endif #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 operator H235_ECKASDH_eckasdh2 &() const; #else operator H235_ECKASDH_eckasdh2 &(); operator const H235_ECKASDH_eckasdh2 &() const; #endif BOOL CreateObject(); PObject * Clone() const; }; // // ECGDSASignature // class H235_ECGDSASignature : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_ECGDSASignature, PASN_Sequence); #endif public: H235_ECGDSASignature(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); PASN_BitString m_r; PASN_BitString m_s; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // TypedCertificate // class H235_TypedCertificate : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_TypedCertificate, PASN_Sequence); #endif public: H235_TypedCertificate(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); PASN_ObjectId m_type; PASN_OctetString m_certificate; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // AuthenticationBES // class H235_AuthenticationBES : public PASN_Choice { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_AuthenticationBES, PASN_Choice); #endif public: H235_AuthenticationBES(unsigned tag = 0, TagClass tagClass = UniversalTagClass); enum Choices { e_default, e_radius }; BOOL CreateObject(); PObject * Clone() const; }; // // AuthenticationMechanism // class H235_NonStandardParameter; class H235_AuthenticationBES; class H235_AuthenticationMechanism : public PASN_Choice { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_AuthenticationMechanism, PASN_Choice); #endif public: H235_AuthenticationMechanism(unsigned tag = 0, TagClass tagClass = UniversalTagClass); enum Choices { e_dhExch, e_pwdSymEnc, e_pwdHash, e_certSign, e_ipsec, e_tls, e_nonStandard, e_authenticationBES }; #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 operator H235_NonStandardParameter &() const; #else operator H235_NonStandardParameter &(); operator const H235_NonStandardParameter &() const; #endif #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 operator H235_AuthenticationBES &() const; #else operator H235_AuthenticationBES &(); operator const H235_AuthenticationBES &() const; #endif BOOL CreateObject(); PObject * Clone() const; }; // // IV8 // class H235_IV8 : public PASN_OctetString { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_IV8, PASN_OctetString); #endif public: H235_IV8(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass); H235_IV8(const char * v); H235_IV8(const PString & v); H235_IV8(const PBYTEArray & v); H235_IV8 & operator=(const char * v); H235_IV8 & operator=(const PString & v); H235_IV8 & operator=(const PBYTEArray & v); PObject * Clone() const; }; // // IV16 // class H235_IV16 : public PASN_OctetString { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_IV16, PASN_OctetString); #endif public: H235_IV16(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass); H235_IV16(const char * v); H235_IV16(const PString & v); H235_IV16(const PBYTEArray & v); H235_IV16 & operator=(const char * v); H235_IV16 & operator=(const PString & v); H235_IV16 & operator=(const PBYTEArray & v); PObject * Clone() const; }; // // Params // class H235_Params : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_Params, PASN_Sequence); #endif public: H235_Params(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); enum OptionalFields { e_ranInt, e_iv8, e_iv16, e_iv, e_clearSalt }; PASN_Integer m_ranInt; H235_IV8 m_iv8; H235_IV16 m_iv16; PASN_OctetString m_iv; PASN_OctetString m_clearSalt; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // ReturnSig // class H235_ReturnSig : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_ReturnSig, PASN_Sequence); #endif public: H235_ReturnSig(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); enum OptionalFields { e_requestRandom, e_certificate }; H235_Identifier m_generalId; H235_RandomVal m_responseRandom; H235_RandomVal m_requestRandom; H235_TypedCertificate m_certificate; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // EncodedReturnSig // class H235_EncodedReturnSig : public PASN_OctetString { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_EncodedReturnSig, PASN_OctetString); #endif public: H235_EncodedReturnSig(unsigned tag = 0, TagClass tagClass = UniversalTagClass); BOOL DecodeSubType(H235_ReturnSig & obj) { return PASN_OctetString::DecodeSubType(obj); } void EncodeSubType(const H235_ReturnSig & obj) { PASN_OctetString::EncodeSubType(obj); } PObject * Clone() const; }; // // KeySyncMaterial // class H235_KeySyncMaterial : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_KeySyncMaterial, PASN_Sequence); #endif public: H235_KeySyncMaterial(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); H235_Identifier m_generalID; H235_KeyMaterial m_keyMaterial; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // EncodedKeySyncMaterial // class H235_EncodedKeySyncMaterial : public PASN_OctetString { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_EncodedKeySyncMaterial, PASN_OctetString); #endif public: H235_EncodedKeySyncMaterial(unsigned tag = 0, TagClass tagClass = UniversalTagClass); BOOL DecodeSubType(H235_KeySyncMaterial & obj) { return PASN_OctetString::DecodeSubType(obj); } void EncodeSubType(const H235_KeySyncMaterial & obj) { PASN_OctetString::EncodeSubType(obj); } PObject * Clone() const; }; // // V3KeySyncMaterial // class H235_V3KeySyncMaterial : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_V3KeySyncMaterial, PASN_Sequence); #endif public: H235_V3KeySyncMaterial(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); enum OptionalFields { e_generalID, e_algorithmOID, e_encryptedSessionKey, e_encryptedSaltingKey, e_clearSaltingKey, e_paramSsalt, e_keyDerivationOID }; H235_Identifier m_generalID; PASN_ObjectId m_algorithmOID; H235_Params m_paramS; PASN_OctetString m_encryptedSessionKey; PASN_OctetString m_encryptedSaltingKey; PASN_OctetString m_clearSaltingKey; H235_Params m_paramSsalt; PASN_ObjectId m_keyDerivationOID; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // ECKASDH_eckasdhp // class H235_ECKASDH_eckasdhp : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_ECKASDH_eckasdhp, PASN_Sequence); #endif public: H235_ECKASDH_eckasdhp(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); H235_ECpoint m_public_key; PASN_BitString m_modulus; H235_ECpoint m_base; PASN_BitString m_weierstrassA; PASN_BitString m_weierstrassB; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // ECKASDH_eckasdh2 // class H235_ECKASDH_eckasdh2 : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_ECKASDH_eckasdh2, PASN_Sequence); #endif public: H235_ECKASDH_eckasdh2(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); H235_ECpoint m_public_key; PASN_BitString m_fieldSize; H235_ECpoint m_base; PASN_BitString m_weierstrassA; PASN_BitString m_weierstrassB; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // SIGNED // template class H235_SIGNED : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_SIGNED, PASN_Sequence); #endif public: H235_SIGNED(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); ToBeSigned m_toBeSigned; PASN_ObjectId m_algorithmOID; H235_Params m_paramS; PASN_BitString m_signature; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // ENCRYPTED // template class H235_ENCRYPTED : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_ENCRYPTED, PASN_Sequence); #endif public: H235_ENCRYPTED(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); PASN_ObjectId m_algorithmOID; H235_Params m_paramS; PASN_OctetString m_encryptedData; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // HASHED // template class H235_HASHED : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_HASHED, PASN_Sequence); #endif public: H235_HASHED(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); PASN_ObjectId m_algorithmOID; H235_Params m_paramS; PASN_BitString m_hash; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // KeySignedMaterial // class H235_KeySignedMaterial : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_KeySignedMaterial, PASN_Sequence); #endif public: H235_KeySignedMaterial(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); enum OptionalFields { e_srandom, e_timeStamp }; H235_Identifier m_generalId; H235_RandomVal m_mrandom; H235_RandomVal m_srandom; H235_TimeStamp m_timeStamp; H235_ENCRYPTED m_encrptval; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // EncodedKeySignedMaterial // class H235_EncodedKeySignedMaterial : public PASN_OctetString { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_EncodedKeySignedMaterial, PASN_OctetString); #endif public: H235_EncodedKeySignedMaterial(unsigned tag = 0, TagClass tagClass = UniversalTagClass); BOOL DecodeSubType(H235_KeySignedMaterial & obj) { return PASN_OctetString::DecodeSubType(obj); } void EncodeSubType(const H235_KeySignedMaterial & obj) { PASN_OctetString::EncodeSubType(obj); } PObject * Clone() const; }; // // H235CertificateSignature // class H235_H235CertificateSignature : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_H235CertificateSignature, PASN_Sequence); #endif public: H235_H235CertificateSignature(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); enum OptionalFields { e_requesterRandom }; H235_TypedCertificate m_certificate; H235_RandomVal m_responseRandom; H235_RandomVal m_requesterRandom; H235_SIGNED m_signature; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // H235Key // class H235_KeyMaterial; class H235_V3KeySyncMaterial; class H235_H235Key : public PASN_Choice { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_H235Key, PASN_Choice); #endif public: H235_H235Key(unsigned tag = 0, TagClass tagClass = UniversalTagClass); enum Choices { e_secureChannel, e_sharedSecret, e_certProtectedKey, e_secureSharedSecret }; #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 operator H235_KeyMaterial &() const; #else operator H235_KeyMaterial &(); operator const H235_KeyMaterial &() const; #endif #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 operator H235_ENCRYPTED &() const; #else operator H235_ENCRYPTED &(); operator const H235_ENCRYPTED &() const; #endif #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 operator H235_SIGNED &() const; #else operator H235_SIGNED &(); operator const H235_SIGNED &() const; #endif #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 operator H235_V3KeySyncMaterial &() const; #else operator H235_V3KeySyncMaterial &(); operator const H235_V3KeySyncMaterial &() const; #endif BOOL CreateObject(); PObject * Clone() const; }; // // ClearToken // class H235_ClearToken : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_ClearToken, PASN_Sequence); #endif public: H235_ClearToken(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); enum OptionalFields { e_timeStamp, e_password, e_dhkey, e_challenge, e_random, e_certificate, e_generalID, e_nonStandard, e_eckasdhkey, e_sendersID, e_h235Key }; PASN_ObjectId m_tokenOID; H235_TimeStamp m_timeStamp; H235_Password m_password; H235_DHset m_dhkey; H235_ChallengeString m_challenge; H235_RandomVal m_random; H235_TypedCertificate m_certificate; H235_Identifier m_generalID; H235_NonStandardParameter m_nonStandard; H235_ECKASDH m_eckasdhkey; H235_Identifier m_sendersID; H235_H235Key m_h235Key; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // EncodedGeneralToken // class H235_EncodedGeneralToken : public PASN_OctetString { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_EncodedGeneralToken, PASN_OctetString); #endif public: H235_EncodedGeneralToken(unsigned tag = 0, TagClass tagClass = UniversalTagClass); BOOL DecodeSubType(H235_ClearToken & obj) { return PASN_OctetString::DecodeSubType(obj); } void EncodeSubType(const H235_ClearToken & obj) { PASN_OctetString::EncodeSubType(obj); } PObject * Clone() const; }; // // PwdCertToken // class H235_PwdCertToken : public H235_ClearToken { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_PwdCertToken, H235_ClearToken); #endif public: H235_PwdCertToken(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); PObject * Clone() const; }; // // EncodedPwdCertToken // class H235_EncodedPwdCertToken : public PASN_OctetString { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_EncodedPwdCertToken, PASN_OctetString); #endif public: H235_EncodedPwdCertToken(unsigned tag = 0, TagClass tagClass = UniversalTagClass); BOOL DecodeSubType(H235_PwdCertToken & obj) { return PASN_OctetString::DecodeSubType(obj); } void EncodeSubType(const H235_PwdCertToken & obj) { PASN_OctetString::EncodeSubType(obj); } PObject * Clone() const; }; // // CryptoToken // class H235_CryptoToken_cryptoEncryptedToken; class H235_CryptoToken_cryptoSignedToken; class H235_CryptoToken_cryptoHashedToken; class H235_CryptoToken : public PASN_Choice { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_CryptoToken, PASN_Choice); #endif public: H235_CryptoToken(unsigned tag = 0, TagClass tagClass = UniversalTagClass); enum Choices { e_cryptoEncryptedToken, e_cryptoSignedToken, e_cryptoHashedToken, e_cryptoPwdEncr }; #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 operator H235_CryptoToken_cryptoEncryptedToken &() const; #else operator H235_CryptoToken_cryptoEncryptedToken &(); operator const H235_CryptoToken_cryptoEncryptedToken &() const; #endif #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 operator H235_CryptoToken_cryptoSignedToken &() const; #else operator H235_CryptoToken_cryptoSignedToken &(); operator const H235_CryptoToken_cryptoSignedToken &() const; #endif #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 operator H235_CryptoToken_cryptoHashedToken &() const; #else operator H235_CryptoToken_cryptoHashedToken &(); operator const H235_CryptoToken_cryptoHashedToken &() const; #endif #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 operator H235_ENCRYPTED &() const; #else operator H235_ENCRYPTED &(); operator const H235_ENCRYPTED &() const; #endif BOOL CreateObject(); PObject * Clone() const; }; // // CryptoToken_cryptoEncryptedToken // class H235_CryptoToken_cryptoEncryptedToken : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_CryptoToken_cryptoEncryptedToken, PASN_Sequence); #endif public: H235_CryptoToken_cryptoEncryptedToken(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); PASN_ObjectId m_tokenOID; H235_ENCRYPTED m_token; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // CryptoToken_cryptoSignedToken // class H235_CryptoToken_cryptoSignedToken : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_CryptoToken_cryptoSignedToken, PASN_Sequence); #endif public: H235_CryptoToken_cryptoSignedToken(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); PASN_ObjectId m_tokenOID; H235_SIGNED m_token; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; // // CryptoToken_cryptoHashedToken // class H235_CryptoToken_cryptoHashedToken : public PASN_Sequence { #ifndef PASN_LEANANDMEAN PCLASSINFO(H235_CryptoToken_cryptoHashedToken, PASN_Sequence); #endif public: H235_CryptoToken_cryptoHashedToken(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); PASN_ObjectId m_tokenOID; H235_ClearToken m_hashedVals; H235_HASHED m_token; PINDEX GetDataLength() const; BOOL Decode(PASN_Stream & strm); void Encode(PASN_Stream & strm) const; #ifndef PASN_NOPRINTON void PrintOn(ostream & strm) const; #endif Comparison Compare(const PObject & obj) const; PObject * Clone() const; }; #endif // __H235_H #endif // if ! H323_DISABLE_H235 // End of h235.h