# 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