h235_srtp.h

Go to the documentation of this file.
00001 //
00002 // h235_srtp.h
00003 //
00004 // Code automatically generated by asnparse.
00005 //
00006 
00007 #if ! H323_DISABLE_H235_SRTP
00008 
00009 #ifndef __H235_SRTP_H
00010 #define __H235_SRTP_H
00011 
00012 #ifdef P_USE_PRAGMA
00013 #pragma interface
00014 #endif
00015 
00016 #include <ptclib/asner.h>
00017 
00018 //
00019 // SrtpCryptoCapability
00020 //
00021 
00022 class H235_SRTP_SrtpCryptoInfo;
00023 
00024 class H235_SRTP_SrtpCryptoCapability : public PASN_Array
00025 {
00026 #ifndef PASN_LEANANDMEAN
00027     PCLASSINFO(H235_SRTP_SrtpCryptoCapability, PASN_Array);
00028 #endif
00029   public:
00030     H235_SRTP_SrtpCryptoCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00031 
00032     PASN_Object * CreateObject() const;
00033     H235_SRTP_SrtpCryptoInfo & operator[](PINDEX i) const;
00034     PObject * Clone() const;
00035 };
00036 
00037 
00038 //
00039 // SrtpKeys
00040 //
00041 
00042 class H235_SRTP_SrtpKeyParameters;
00043 
00044 class H235_SRTP_SrtpKeys : public PASN_Array
00045 {
00046 #ifndef PASN_LEANANDMEAN
00047     PCLASSINFO(H235_SRTP_SrtpKeys, PASN_Array);
00048 #endif
00049   public:
00050     H235_SRTP_SrtpKeys(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00051 
00052     PASN_Object * CreateObject() const;
00053     H235_SRTP_SrtpKeyParameters & operator[](PINDEX i) const;
00054     PObject * Clone() const;
00055 };
00056 
00057 
00058 //
00059 // FecOrder
00060 //
00061 
00062 class H235_SRTP_FecOrder : public PASN_Sequence
00063 {
00064 #ifndef PASN_LEANANDMEAN
00065     PCLASSINFO(H235_SRTP_FecOrder, PASN_Sequence);
00066 #endif
00067   public:
00068     H235_SRTP_FecOrder(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00069 
00070     enum OptionalFields {
00071       e_fecBeforeSrtp,
00072       e_fecAfterSrtp
00073     };
00074 
00075     PASN_Null m_fecBeforeSrtp;
00076     PASN_Null m_fecAfterSrtp;
00077 
00078     PINDEX GetDataLength() const;
00079     PBoolean Decode(PASN_Stream & strm);
00080     void Encode(PASN_Stream & strm) const;
00081 #ifndef PASN_NOPRINTON
00082     void PrintOn(ostream & strm) const;
00083 #endif
00084     Comparison Compare(const PObject & obj) const;
00085     PObject * Clone() const;
00086 };
00087 
00088 
00089 //
00090 // SrtpKeyParameters_lifetime
00091 //
00092 
00093 class H235_SRTP_SrtpKeyParameters_lifetime : public PASN_Choice
00094 {
00095 #ifndef PASN_LEANANDMEAN
00096     PCLASSINFO(H235_SRTP_SrtpKeyParameters_lifetime, PASN_Choice);
00097 #endif
00098   public:
00099     H235_SRTP_SrtpKeyParameters_lifetime(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00100 
00101     enum Choices {
00102       e_powerOfTwo,
00103       e_specific
00104     };
00105 
00106     PBoolean CreateObject();
00107     PObject * Clone() const;
00108 };
00109 
00110 
00111 //
00112 // SrtpKeyParameters_mki
00113 //
00114 
00115 class H235_SRTP_SrtpKeyParameters_mki : public PASN_Sequence
00116 {
00117 #ifndef PASN_LEANANDMEAN
00118     PCLASSINFO(H235_SRTP_SrtpKeyParameters_mki, PASN_Sequence);
00119 #endif
00120   public:
00121     H235_SRTP_SrtpKeyParameters_mki(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00122 
00123     PASN_Integer m_length;
00124     PASN_OctetString m_value;
00125 
00126     PINDEX GetDataLength() const;
00127     PBoolean Decode(PASN_Stream & strm);
00128     void Encode(PASN_Stream & strm) const;
00129 #ifndef PASN_NOPRINTON
00130     void PrintOn(ostream & strm) const;
00131 #endif
00132     Comparison Compare(const PObject & obj) const;
00133     PObject * Clone() const;
00134 };
00135 
00136 
00137 //
00138 // ArrayOf_GenericData
00139 //
00140 
00141 class GenericData;
00142 
00143 class H235_SRTP_ArrayOf_GenericData : public PASN_Array
00144 {
00145 #ifndef PASN_LEANANDMEAN
00146     PCLASSINFO(H235_SRTP_ArrayOf_GenericData, PASN_Array);
00147 #endif
00148   public:
00149     H235_SRTP_ArrayOf_GenericData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00150 
00151     PASN_Object * CreateObject() const;
00152     GenericData & operator[](PINDEX i) const;
00153     PObject * Clone() const;
00154 };
00155 
00156 
00157 //
00158 // SrtpKeyParameters
00159 //
00160 
00161 class H235_SRTP_SrtpKeyParameters : public PASN_Sequence
00162 {
00163 #ifndef PASN_LEANANDMEAN
00164     PCLASSINFO(H235_SRTP_SrtpKeyParameters, PASN_Sequence);
00165 #endif
00166   public:
00167     H235_SRTP_SrtpKeyParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00168 
00169     enum OptionalFields {
00170       e_lifetime,
00171       e_mki
00172     };
00173 
00174     PASN_OctetString m_masterKey;
00175     PASN_OctetString m_masterSalt;
00176     H235_SRTP_SrtpKeyParameters_lifetime m_lifetime;
00177     H235_SRTP_SrtpKeyParameters_mki m_mki;
00178 
00179     PINDEX GetDataLength() const;
00180     PBoolean Decode(PASN_Stream & strm);
00181     void Encode(PASN_Stream & strm) const;
00182 #ifndef PASN_NOPRINTON
00183     void PrintOn(ostream & strm) const;
00184 #endif
00185     Comparison Compare(const PObject & obj) const;
00186     PObject * Clone() const;
00187 };
00188 
00189 
00190 //
00191 // SrtpSessionParameters
00192 //
00193 
00194 class H235_SRTP_SrtpSessionParameters : public PASN_Sequence
00195 {
00196 #ifndef PASN_LEANANDMEAN
00197     PCLASSINFO(H235_SRTP_SrtpSessionParameters, PASN_Sequence);
00198 #endif
00199   public:
00200     H235_SRTP_SrtpSessionParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00201 
00202     enum OptionalFields {
00203       e_kdr,
00204       e_unencryptedSrtp,
00205       e_unencryptedSrtcp,
00206       e_unauthenticatedSrtp,
00207       e_fecOrder,
00208       e_windowSizeHint,
00209       e_newParameter
00210     };
00211 
00212     PASN_Integer m_kdr;
00213     PASN_Boolean m_unencryptedSrtp;
00214     PASN_Boolean m_unencryptedSrtcp;
00215     PASN_Boolean m_unauthenticatedSrtp;
00216     H235_SRTP_FecOrder m_fecOrder;
00217     PASN_Integer m_windowSizeHint;
00218     H235_SRTP_ArrayOf_GenericData m_newParameter;
00219 
00220     PINDEX GetDataLength() const;
00221     PBoolean Decode(PASN_Stream & strm);
00222     void Encode(PASN_Stream & strm) const;
00223 #ifndef PASN_NOPRINTON
00224     void PrintOn(ostream & strm) const;
00225 #endif
00226     Comparison Compare(const PObject & obj) const;
00227     PObject * Clone() const;
00228 };
00229 
00230 
00231 //
00232 // SrtpCryptoInfo
00233 //
00234 
00235 class H235_SRTP_SrtpCryptoInfo : public PASN_Sequence
00236 {
00237 #ifndef PASN_LEANANDMEAN
00238     PCLASSINFO(H235_SRTP_SrtpCryptoInfo, PASN_Sequence);
00239 #endif
00240   public:
00241     H235_SRTP_SrtpCryptoInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00242 
00243     enum OptionalFields {
00244       e_cryptoSuite,
00245       e_sessionParams,
00246       e_allowMKI
00247     };
00248 
00249     PASN_ObjectId m_cryptoSuite;
00250     H235_SRTP_SrtpSessionParameters m_sessionParams;
00251     PASN_Boolean m_allowMKI;
00252 
00253     PINDEX GetDataLength() const;
00254     PBoolean Decode(PASN_Stream & strm);
00255     void Encode(PASN_Stream & strm) const;
00256 #ifndef PASN_NOPRINTON
00257     void PrintOn(ostream & strm) const;
00258 #endif
00259     Comparison Compare(const PObject & obj) const;
00260     PObject * Clone() const;
00261 };
00262 
00263 
00264 #endif // __H235_SRTP_H
00265 
00266 #endif // if ! H323_DISABLE_H235_SRTP
00267 
00268 
00269 // End of h235_srtp.h

Generated on Mon Sep 15 11:48:51 2008 for OPAL by  doxygen 1.5.1