# h245.h

Go to the documentation of this file.

    00001 //
    00002 // h245.h
    00003 //
    00004 // Code automatically generated by asnparse.
    00005 //
    00006
    00007 #if ! H323_DISABLE_H245
    00008
    00009 #ifndef __H245_H
    00010 #define __H245_H
    00011
    00012 #ifdef P_USE_PRAGMA
    00013 #pragma interface
    00014 #endif
    00015
    00016 #include <ptclib/asner.h>
    00017
    00018 //
    00019 // MultimediaSystemControlMessage
    00020 //
    00021
    00022 class H245_RequestMessage;
    00023 class H245_ResponseMessage;
    00024 class H245_CommandMessage;
    00025 class H245_IndicationMessage;
    00026
    00027 class H245_MultimediaSystemControlMessage : public PASN_Choice
    00028 {
    00029 #ifndef PASN_LEANANDMEAN
    00030     PCLASSINFO(H245_MultimediaSystemControlMessage, PASN_Choice);
    00031 #endif
    00032   public:
    00033     H245_MultimediaSystemControlMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00034
    00035     enum Choices {
    00036       e_request,
    00037       e_response,
    00038       e_command,
    00039       e_indication
    00040     };
    00041
    00042 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00043     operator H245_RequestMessage &() const;
    00044 #else
    00045     operator H245_RequestMessage &();
    00046     operator const H245_RequestMessage &() const;
    00047 #endif
    00048 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00049     operator H245_ResponseMessage &() const;
    00050 #else
    00051     operator H245_ResponseMessage &();
    00052     operator const H245_ResponseMessage &() const;
    00053 #endif
    00054 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00055     operator H245_CommandMessage &() const;
    00056 #else
    00057     operator H245_CommandMessage &();
    00058     operator const H245_CommandMessage &() const;
    00059 #endif
    00060 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00061     operator H245_IndicationMessage &() const;
    00062 #else
    00063     operator H245_IndicationMessage &();
    00064     operator const H245_IndicationMessage &() const;
    00065 #endif
    00066
    00067     PBoolean CreateObject();
    00068     PObject * Clone() const;
    00069 };
    00070
    00071
    00072 //
    00073 // RequestMessage
    00074 //
    00075
    00076 class H245_NonStandardMessage;
    00077 class H245_MasterSlaveDetermination;
    00078 class H245_TerminalCapabilitySet;
    00079 class H245_OpenLogicalChannel;
    00080 class H245_CloseLogicalChannel;
    00081 class H245_RequestChannelClose;
    00082 class H245_MultiplexEntrySend;
    00083 class H245_RequestMultiplexEntry;
    00084 class H245_RequestMode;
    00085 class H245_RoundTripDelayRequest;
    00086 class H245_MaintenanceLoopRequest;
    00087 class H245_CommunicationModeRequest;
    00088 class H245_ConferenceRequest;
    00089 class H245_MultilinkRequest;
    00090 class H245_LogicalChannelRateRequest;
    00091 class H245_GenericMessage;
    00092
    00093 class H245_RequestMessage : public PASN_Choice
    00094 {
    00095 #ifndef PASN_LEANANDMEAN
    00096     PCLASSINFO(H245_RequestMessage, PASN_Choice);
    00097 #endif
    00098   public:
    00099     H245_RequestMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00100
    00101     enum Choices {
    00102       e_nonStandard,
    00103       e_masterSlaveDetermination,
    00104       e_terminalCapabilitySet,
    00105       e_openLogicalChannel,
    00106       e_closeLogicalChannel,
    00107       e_requestChannelClose,
    00108       e_multiplexEntrySend,
    00109       e_requestMultiplexEntry,
    00110       e_requestMode,
    00111       e_roundTripDelayRequest,
    00112       e_maintenanceLoopRequest,
    00113       e_communicationModeRequest,
    00114       e_conferenceRequest,
    00115       e_multilinkRequest,
    00116       e_logicalChannelRateRequest,
    00117       e_genericRequest
    00118     };
    00119
    00120 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00121     operator H245_NonStandardMessage &() const;
    00122 #else
    00123     operator H245_NonStandardMessage &();
    00124     operator const H245_NonStandardMessage &() const;
    00125 #endif
    00126 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00127     operator H245_MasterSlaveDetermination &() const;
    00128 #else
    00129     operator H245_MasterSlaveDetermination &();
    00130     operator const H245_MasterSlaveDetermination &() const;
    00131 #endif
    00132 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00133     operator H245_TerminalCapabilitySet &() const;
    00134 #else
    00135     operator H245_TerminalCapabilitySet &();
    00136     operator const H245_TerminalCapabilitySet &() const;
    00137 #endif
    00138 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00139     operator H245_OpenLogicalChannel &() const;
    00140 #else
    00141     operator H245_OpenLogicalChannel &();
    00142     operator const H245_OpenLogicalChannel &() const;
    00143 #endif
    00144 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00145     operator H245_CloseLogicalChannel &() const;
    00146 #else
    00147     operator H245_CloseLogicalChannel &();
    00148     operator const H245_CloseLogicalChannel &() const;
    00149 #endif
    00150 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00151     operator H245_RequestChannelClose &() const;
    00152 #else
    00153     operator H245_RequestChannelClose &();
    00154     operator const H245_RequestChannelClose &() const;
    00155 #endif
    00156 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00157     operator H245_MultiplexEntrySend &() const;
    00158 #else
    00159     operator H245_MultiplexEntrySend &();
    00160     operator const H245_MultiplexEntrySend &() const;
    00161 #endif
    00162 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00163     operator H245_RequestMultiplexEntry &() const;
    00164 #else
    00165     operator H245_RequestMultiplexEntry &();
    00166     operator const H245_RequestMultiplexEntry &() const;
    00167 #endif
    00168 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00169     operator H245_RequestMode &() const;
    00170 #else
    00171     operator H245_RequestMode &();
    00172     operator const H245_RequestMode &() const;
    00173 #endif
    00174 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00175     operator H245_RoundTripDelayRequest &() const;
    00176 #else
    00177     operator H245_RoundTripDelayRequest &();
    00178     operator const H245_RoundTripDelayRequest &() const;
    00179 #endif
    00180 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00181     operator H245_MaintenanceLoopRequest &() const;
    00182 #else
    00183     operator H245_MaintenanceLoopRequest &();
    00184     operator const H245_MaintenanceLoopRequest &() const;
    00185 #endif
    00186 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00187     operator H245_CommunicationModeRequest &() const;
    00188 #else
    00189     operator H245_CommunicationModeRequest &();
    00190     operator const H245_CommunicationModeRequest &() const;
    00191 #endif
    00192 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00193     operator H245_ConferenceRequest &() const;
    00194 #else
    00195     operator H245_ConferenceRequest &();
    00196     operator const H245_ConferenceRequest &() const;
    00197 #endif
    00198 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00199     operator H245_MultilinkRequest &() const;
    00200 #else
    00201     operator H245_MultilinkRequest &();
    00202     operator const H245_MultilinkRequest &() const;
    00203 #endif
    00204 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00205     operator H245_LogicalChannelRateRequest &() const;
    00206 #else
    00207     operator H245_LogicalChannelRateRequest &();
    00208     operator const H245_LogicalChannelRateRequest &() const;
    00209 #endif
    00210 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00211     operator H245_GenericMessage &() const;
    00212 #else
    00213     operator H245_GenericMessage &();
    00214     operator const H245_GenericMessage &() const;
    00215 #endif
    00216
    00217     PBoolean CreateObject();
    00218     PObject * Clone() const;
    00219 };
    00220
    00221
    00222 //
    00223 // ResponseMessage
    00224 //
    00225
    00226 class H245_NonStandardMessage;
    00227 class H245_MasterSlaveDeterminationAck;
    00228 class H245_MasterSlaveDeterminationReject;
    00229 class H245_TerminalCapabilitySetAck;
    00230 class H245_TerminalCapabilitySetReject;
    00231 class H245_OpenLogicalChannelAck;
    00232 class H245_OpenLogicalChannelReject;
    00233 class H245_CloseLogicalChannelAck;
    00234 class H245_RequestChannelCloseAck;
    00235 class H245_RequestChannelCloseReject;
    00236 class H245_MultiplexEntrySendAck;
    00237 class H245_MultiplexEntrySendReject;
    00238 class H245_RequestMultiplexEntryAck;
    00239 class H245_RequestMultiplexEntryReject;
    00240 class H245_RequestModeAck;
    00241 class H245_RequestModeReject;
    00242 class H245_RoundTripDelayResponse;
    00243 class H245_MaintenanceLoopAck;
    00244 class H245_MaintenanceLoopReject;
    00245 class H245_CommunicationModeResponse;
    00246 class H245_ConferenceResponse;
    00247 class H245_MultilinkResponse;
    00248 class H245_LogicalChannelRateAcknowledge;
    00249 class H245_LogicalChannelRateReject;
    00250 class H245_GenericMessage;
    00251
    00252 class H245_ResponseMessage : public PASN_Choice
    00253 {
    00254 #ifndef PASN_LEANANDMEAN
    00255     PCLASSINFO(H245_ResponseMessage, PASN_Choice);
    00256 #endif
    00257   public:
    00258     H245_ResponseMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00259
    00260     enum Choices {
    00261       e_nonStandard,
    00262       e_masterSlaveDeterminationAck,
    00263       e_masterSlaveDeterminationReject,
    00264       e_terminalCapabilitySetAck,
    00265       e_terminalCapabilitySetReject,
    00266       e_openLogicalChannelAck,
    00267       e_openLogicalChannelReject,
    00268       e_closeLogicalChannelAck,
    00269       e_requestChannelCloseAck,
    00270       e_requestChannelCloseReject,
    00271       e_multiplexEntrySendAck,
    00272       e_multiplexEntrySendReject,
    00273       e_requestMultiplexEntryAck,
    00274       e_requestMultiplexEntryReject,
    00275       e_requestModeAck,
    00276       e_requestModeReject,
    00277       e_roundTripDelayResponse,
    00278       e_maintenanceLoopAck,
    00279       e_maintenanceLoopReject,
    00280       e_communicationModeResponse,
    00281       e_conferenceResponse,
    00282       e_multilinkResponse,
    00283       e_logicalChannelRateAcknowledge,
    00284       e_logicalChannelRateReject,
    00285       e_genericResponse
    00286     };
    00287
    00288 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00289     operator H245_NonStandardMessage &() const;
    00290 #else
    00291     operator H245_NonStandardMessage &();
    00292     operator const H245_NonStandardMessage &() const;
    00293 #endif
    00294 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00295     operator H245_MasterSlaveDeterminationAck &() const;
    00296 #else
    00297     operator H245_MasterSlaveDeterminationAck &();
    00298     operator const H245_MasterSlaveDeterminationAck &() const;
    00299 #endif
    00300 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00301     operator H245_MasterSlaveDeterminationReject &() const;
    00302 #else
    00303     operator H245_MasterSlaveDeterminationReject &();
    00304     operator const H245_MasterSlaveDeterminationReject &() const;
    00305 #endif
    00306 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00307     operator H245_TerminalCapabilitySetAck &() const;
    00308 #else
    00309     operator H245_TerminalCapabilitySetAck &();
    00310     operator const H245_TerminalCapabilitySetAck &() const;
    00311 #endif
    00312 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00313     operator H245_TerminalCapabilitySetReject &() const;
    00314 #else
    00315     operator H245_TerminalCapabilitySetReject &();
    00316     operator const H245_TerminalCapabilitySetReject &() const;
    00317 #endif
    00318 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00319     operator H245_OpenLogicalChannelAck &() const;
    00320 #else
    00321     operator H245_OpenLogicalChannelAck &();
    00322     operator const H245_OpenLogicalChannelAck &() const;
    00323 #endif
    00324 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00325     operator H245_OpenLogicalChannelReject &() const;
    00326 #else
    00327     operator H245_OpenLogicalChannelReject &();
    00328     operator const H245_OpenLogicalChannelReject &() const;
    00329 #endif
    00330 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00331     operator H245_CloseLogicalChannelAck &() const;
    00332 #else
    00333     operator H245_CloseLogicalChannelAck &();
    00334     operator const H245_CloseLogicalChannelAck &() const;
    00335 #endif
    00336 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00337     operator H245_RequestChannelCloseAck &() const;
    00338 #else
    00339     operator H245_RequestChannelCloseAck &();
    00340     operator const H245_RequestChannelCloseAck &() const;
    00341 #endif
    00342 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00343     operator H245_RequestChannelCloseReject &() const;
    00344 #else
    00345     operator H245_RequestChannelCloseReject &();
    00346     operator const H245_RequestChannelCloseReject &() const;
    00347 #endif
    00348 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00349     operator H245_MultiplexEntrySendAck &() const;
    00350 #else
    00351     operator H245_MultiplexEntrySendAck &();
    00352     operator const H245_MultiplexEntrySendAck &() const;
    00353 #endif
    00354 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00355     operator H245_MultiplexEntrySendReject &() const;
    00356 #else
    00357     operator H245_MultiplexEntrySendReject &();
    00358     operator const H245_MultiplexEntrySendReject &() const;
    00359 #endif
    00360 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00361     operator H245_RequestMultiplexEntryAck &() const;
    00362 #else
    00363     operator H245_RequestMultiplexEntryAck &();
    00364     operator const H245_RequestMultiplexEntryAck &() const;
    00365 #endif
    00366 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00367     operator H245_RequestMultiplexEntryReject &() const;
    00368 #else
    00369     operator H245_RequestMultiplexEntryReject &();
    00370     operator const H245_RequestMultiplexEntryReject &() const;
    00371 #endif
    00372 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00373     operator H245_RequestModeAck &() const;
    00374 #else
    00375     operator H245_RequestModeAck &();
    00376     operator const H245_RequestModeAck &() const;
    00377 #endif
    00378 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00379     operator H245_RequestModeReject &() const;
    00380 #else
    00381     operator H245_RequestModeReject &();
    00382     operator const H245_RequestModeReject &() const;
    00383 #endif
    00384 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00385     operator H245_RoundTripDelayResponse &() const;
    00386 #else
    00387     operator H245_RoundTripDelayResponse &();
    00388     operator const H245_RoundTripDelayResponse &() const;
    00389 #endif
    00390 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00391     operator H245_MaintenanceLoopAck &() const;
    00392 #else
    00393     operator H245_MaintenanceLoopAck &();
    00394     operator const H245_MaintenanceLoopAck &() const;
    00395 #endif
    00396 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00397     operator H245_MaintenanceLoopReject &() const;
    00398 #else
    00399     operator H245_MaintenanceLoopReject &();
    00400     operator const H245_MaintenanceLoopReject &() const;
    00401 #endif
    00402 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00403     operator H245_CommunicationModeResponse &() const;
    00404 #else
    00405     operator H245_CommunicationModeResponse &();
    00406     operator const H245_CommunicationModeResponse &() const;
    00407 #endif
    00408 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00409     operator H245_ConferenceResponse &() const;
    00410 #else
    00411     operator H245_ConferenceResponse &();
    00412     operator const H245_ConferenceResponse &() const;
    00413 #endif
    00414 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00415     operator H245_MultilinkResponse &() const;
    00416 #else
    00417     operator H245_MultilinkResponse &();
    00418     operator const H245_MultilinkResponse &() const;
    00419 #endif
    00420 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00421     operator H245_LogicalChannelRateAcknowledge &() const;
    00422 #else
    00423     operator H245_LogicalChannelRateAcknowledge &();
    00424     operator const H245_LogicalChannelRateAcknowledge &() const;
    00425 #endif
    00426 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00427     operator H245_LogicalChannelRateReject &() const;
    00428 #else
    00429     operator H245_LogicalChannelRateReject &();
    00430     operator const H245_LogicalChannelRateReject &() const;
    00431 #endif
    00432 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00433     operator H245_GenericMessage &() const;
    00434 #else
    00435     operator H245_GenericMessage &();
    00436     operator const H245_GenericMessage &() const;
    00437 #endif
    00438
    00439     PBoolean CreateObject();
    00440     PObject * Clone() const;
    00441 };
    00442
    00443
    00444 //
    00445 // CommandMessage
    00446 //
    00447
    00448 class H245_NonStandardMessage;
    00449 class H245_MaintenanceLoopOffCommand;
    00450 class H245_SendTerminalCapabilitySet;
    00451 class H245_EncryptionCommand;
    00452 class H245_FlowControlCommand;
    00453 class H245_EndSessionCommand;
    00454 class H245_MiscellaneousCommand;
    00455 class H245_CommunicationModeCommand;
    00456 class H245_ConferenceCommand;
    00457 class H245_H223MultiplexReconfiguration;
    00458 class H245_NewATMVCCommand;
    00459 class H245_MobileMultilinkReconfigurationCommand;
    00460 class H245_GenericMessage;
    00461
    00462 class H245_CommandMessage : public PASN_Choice
    00463 {
    00464 #ifndef PASN_LEANANDMEAN
    00465     PCLASSINFO(H245_CommandMessage, PASN_Choice);
    00466 #endif
    00467   public:
    00468     H245_CommandMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00469
    00470     enum Choices {
    00471       e_nonStandard,
    00472       e_maintenanceLoopOffCommand,
    00473       e_sendTerminalCapabilitySet,
    00474       e_encryptionCommand,
    00475       e_flowControlCommand,
    00476       e_endSessionCommand,
    00477       e_miscellaneousCommand,
    00478       e_communicationModeCommand,
    00479       e_conferenceCommand,
    00480       e_h223MultiplexReconfiguration,
    00481       e_newATMVCCommand,
    00482       e_mobileMultilinkReconfigurationCommand,
    00483       e_genericCommand
    00484     };
    00485
    00486 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00487     operator H245_NonStandardMessage &() const;
    00488 #else
    00489     operator H245_NonStandardMessage &();
    00490     operator const H245_NonStandardMessage &() const;
    00491 #endif
    00492 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00493     operator H245_MaintenanceLoopOffCommand &() const;
    00494 #else
    00495     operator H245_MaintenanceLoopOffCommand &();
    00496     operator const H245_MaintenanceLoopOffCommand &() const;
    00497 #endif
    00498 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00499     operator H245_SendTerminalCapabilitySet &() const;
    00500 #else
    00501     operator H245_SendTerminalCapabilitySet &();
    00502     operator const H245_SendTerminalCapabilitySet &() const;
    00503 #endif
    00504 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00505     operator H245_EncryptionCommand &() const;
    00506 #else
    00507     operator H245_EncryptionCommand &();
    00508     operator const H245_EncryptionCommand &() const;
    00509 #endif
    00510 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00511     operator H245_FlowControlCommand &() const;
    00512 #else
    00513     operator H245_FlowControlCommand &();
    00514     operator const H245_FlowControlCommand &() const;
    00515 #endif
    00516 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00517     operator H245_EndSessionCommand &() const;
    00518 #else
    00519     operator H245_EndSessionCommand &();
    00520     operator const H245_EndSessionCommand &() const;
    00521 #endif
    00522 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00523     operator H245_MiscellaneousCommand &() const;
    00524 #else
    00525     operator H245_MiscellaneousCommand &();
    00526     operator const H245_MiscellaneousCommand &() const;
    00527 #endif
    00528 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00529     operator H245_CommunicationModeCommand &() const;
    00530 #else
    00531     operator H245_CommunicationModeCommand &();
    00532     operator const H245_CommunicationModeCommand &() const;
    00533 #endif
    00534 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00535     operator H245_ConferenceCommand &() const;
    00536 #else
    00537     operator H245_ConferenceCommand &();
    00538     operator const H245_ConferenceCommand &() const;
    00539 #endif
    00540 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00541     operator H245_H223MultiplexReconfiguration &() const;
    00542 #else
    00543     operator H245_H223MultiplexReconfiguration &();
    00544     operator const H245_H223MultiplexReconfiguration &() const;
    00545 #endif
    00546 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00547     operator H245_NewATMVCCommand &() const;
    00548 #else
    00549     operator H245_NewATMVCCommand &();
    00550     operator const H245_NewATMVCCommand &() const;
    00551 #endif
    00552 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00553     operator H245_MobileMultilinkReconfigurationCommand &() const;
    00554 #else
    00555     operator H245_MobileMultilinkReconfigurationCommand &();
    00556     operator const H245_MobileMultilinkReconfigurationCommand &() const;
    00557 #endif
    00558 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00559     operator H245_GenericMessage &() const;
    00560 #else
    00561     operator H245_GenericMessage &();
    00562     operator const H245_GenericMessage &() const;
    00563 #endif
    00564
    00565     PBoolean CreateObject();
    00566     PObject * Clone() const;
    00567 };
    00568
    00569
    00570 //
    00571 // IndicationMessage
    00572 //
    00573
    00574 class H245_NonStandardMessage;
    00575 class H245_FunctionNotUnderstood;
    00576 class H245_MasterSlaveDeterminationRelease;
    00577 class H245_TerminalCapabilitySetRelease;
    00578 class H245_OpenLogicalChannelConfirm;
    00579 class H245_RequestChannelCloseRelease;
    00580 class H245_MultiplexEntrySendRelease;
    00581 class H245_RequestMultiplexEntryRelease;
    00582 class H245_RequestModeRelease;
    00583 class H245_MiscellaneousIndication;
    00584 class H245_JitterIndication;
    00585 class H245_H223SkewIndication;
    00586 class H245_NewATMVCIndication;
    00587 class H245_UserInputIndication;
    00588 class H245_H2250MaximumSkewIndication;
    00589 class H245_MCLocationIndication;
    00590 class H245_ConferenceIndication;
    00591 class H245_VendorIdentification;
    00592 class H245_FunctionNotSupported;
    00593 class H245_MultilinkIndication;
    00594 class H245_LogicalChannelRateRelease;
    00595 class H245_FlowControlIndication;
    00596 class H245_MobileMultilinkReconfigurationIndication;
    00597 class H245_GenericMessage;
    00598
    00599 class H245_IndicationMessage : public PASN_Choice
    00600 {
    00601 #ifndef PASN_LEANANDMEAN
    00602     PCLASSINFO(H245_IndicationMessage, PASN_Choice);
    00603 #endif
    00604   public:
    00605     H245_IndicationMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00606
    00607     enum Choices {
    00608       e_nonStandard,
    00609       e_functionNotUnderstood,
    00610       e_masterSlaveDeterminationRelease,
    00611       e_terminalCapabilitySetRelease,
    00612       e_openLogicalChannelConfirm,
    00613       e_requestChannelCloseRelease,
    00614       e_multiplexEntrySendRelease,
    00615       e_requestMultiplexEntryRelease,
    00616       e_requestModeRelease,
    00617       e_miscellaneousIndication,
    00618       e_jitterIndication,
    00619       e_h223SkewIndication,
    00620       e_newATMVCIndication,
    00621       e_userInput,
    00622       e_h2250MaximumSkewIndication,
    00623       e_mcLocationIndication,
    00624       e_conferenceIndication,
    00625       e_vendorIdentification,
    00626       e_functionNotSupported,
    00627       e_multilinkIndication,
    00628       e_logicalChannelRateRelease,
    00629       e_flowControlIndication,
    00630       e_mobileMultilinkReconfigurationIndication,
    00631       e_genericIndication
    00632     };
    00633
    00634 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00635     operator H245_NonStandardMessage &() const;
    00636 #else
    00637     operator H245_NonStandardMessage &();
    00638     operator const H245_NonStandardMessage &() const;
    00639 #endif
    00640 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00641     operator H245_FunctionNotUnderstood &() const;
    00642 #else
    00643     operator H245_FunctionNotUnderstood &();
    00644     operator const H245_FunctionNotUnderstood &() const;
    00645 #endif
    00646 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00647     operator H245_MasterSlaveDeterminationRelease &() const;
    00648 #else
    00649     operator H245_MasterSlaveDeterminationRelease &();
    00650     operator const H245_MasterSlaveDeterminationRelease &() const;
    00651 #endif
    00652 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00653     operator H245_TerminalCapabilitySetRelease &() const;
    00654 #else
    00655     operator H245_TerminalCapabilitySetRelease &();
    00656     operator const H245_TerminalCapabilitySetRelease &() const;
    00657 #endif
    00658 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00659     operator H245_OpenLogicalChannelConfirm &() const;
    00660 #else
    00661     operator H245_OpenLogicalChannelConfirm &();
    00662     operator const H245_OpenLogicalChannelConfirm &() const;
    00663 #endif
    00664 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00665     operator H245_RequestChannelCloseRelease &() const;
    00666 #else
    00667     operator H245_RequestChannelCloseRelease &();
    00668     operator const H245_RequestChannelCloseRelease &() const;
    00669 #endif
    00670 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00671     operator H245_MultiplexEntrySendRelease &() const;
    00672 #else
    00673     operator H245_MultiplexEntrySendRelease &();
    00674     operator const H245_MultiplexEntrySendRelease &() const;
    00675 #endif
    00676 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00677     operator H245_RequestMultiplexEntryRelease &() const;
    00678 #else
    00679     operator H245_RequestMultiplexEntryRelease &();
    00680     operator const H245_RequestMultiplexEntryRelease &() const;
    00681 #endif
    00682 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00683     operator H245_RequestModeRelease &() const;
    00684 #else
    00685     operator H245_RequestModeRelease &();
    00686     operator const H245_RequestModeRelease &() const;
    00687 #endif
    00688 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00689     operator H245_MiscellaneousIndication &() const;
    00690 #else
    00691     operator H245_MiscellaneousIndication &();
    00692     operator const H245_MiscellaneousIndication &() const;
    00693 #endif
    00694 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00695     operator H245_JitterIndication &() const;
    00696 #else
    00697     operator H245_JitterIndication &();
    00698     operator const H245_JitterIndication &() const;
    00699 #endif
    00700 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00701     operator H245_H223SkewIndication &() const;
    00702 #else
    00703     operator H245_H223SkewIndication &();
    00704     operator const H245_H223SkewIndication &() const;
    00705 #endif
    00706 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00707     operator H245_NewATMVCIndication &() const;
    00708 #else
    00709     operator H245_NewATMVCIndication &();
    00710     operator const H245_NewATMVCIndication &() const;
    00711 #endif
    00712 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00713     operator H245_UserInputIndication &() const;
    00714 #else
    00715     operator H245_UserInputIndication &();
    00716     operator const H245_UserInputIndication &() const;
    00717 #endif
    00718 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00719     operator H245_H2250MaximumSkewIndication &() const;
    00720 #else
    00721     operator H245_H2250MaximumSkewIndication &();
    00722     operator const H245_H2250MaximumSkewIndication &() const;
    00723 #endif
    00724 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00725     operator H245_MCLocationIndication &() const;
    00726 #else
    00727     operator H245_MCLocationIndication &();
    00728     operator const H245_MCLocationIndication &() const;
    00729 #endif
    00730 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00731     operator H245_ConferenceIndication &() const;
    00732 #else
    00733     operator H245_ConferenceIndication &();
    00734     operator const H245_ConferenceIndication &() const;
    00735 #endif
    00736 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00737     operator H245_VendorIdentification &() const;
    00738 #else
    00739     operator H245_VendorIdentification &();
    00740     operator const H245_VendorIdentification &() const;
    00741 #endif
    00742 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00743     operator H245_FunctionNotSupported &() const;
    00744 #else
    00745     operator H245_FunctionNotSupported &();
    00746     operator const H245_FunctionNotSupported &() const;
    00747 #endif
    00748 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00749     operator H245_MultilinkIndication &() const;
    00750 #else
    00751     operator H245_MultilinkIndication &();
    00752     operator const H245_MultilinkIndication &() const;
    00753 #endif
    00754 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00755     operator H245_LogicalChannelRateRelease &() const;
    00756 #else
    00757     operator H245_LogicalChannelRateRelease &();
    00758     operator const H245_LogicalChannelRateRelease &() const;
    00759 #endif
    00760 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00761     operator H245_FlowControlIndication &() const;
    00762 #else
    00763     operator H245_FlowControlIndication &();
    00764     operator const H245_FlowControlIndication &() const;
    00765 #endif
    00766 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00767     operator H245_MobileMultilinkReconfigurationIndication &() const;
    00768 #else
    00769     operator H245_MobileMultilinkReconfigurationIndication &();
    00770     operator const H245_MobileMultilinkReconfigurationIndication &() const;
    00771 #endif
    00772 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00773     operator H245_GenericMessage &() const;
    00774 #else
    00775     operator H245_GenericMessage &();
    00776     operator const H245_GenericMessage &() const;
    00777 #endif
    00778
    00779     PBoolean CreateObject();
    00780     PObject * Clone() const;
    00781 };
    00782
    00783
    00784 //
    00785 // SequenceNumber
    00786 //
    00787
    00788 class H245_SequenceNumber : public PASN_Integer
    00789 {
    00790 #ifndef PASN_LEANANDMEAN
    00791     PCLASSINFO(H245_SequenceNumber, PASN_Integer);
    00792 #endif
    00793   public:
    00794     H245_SequenceNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    00795
    00796     H245_SequenceNumber & operator=(int v);
    00797     H245_SequenceNumber & operator=(unsigned v);
    00798     PObject * Clone() const;
    00799 };
    00800
    00801
    00802 //
    00803 // NonStandardIdentifier
    00804 //
    00805
    00806 class H245_NonStandardIdentifier_h221NonStandard;
    00807
    00808 class H245_NonStandardIdentifier : public PASN_Choice
    00809 {
    00810 #ifndef PASN_LEANANDMEAN
    00811     PCLASSINFO(H245_NonStandardIdentifier, PASN_Choice);
    00812 #endif
    00813   public:
    00814     H245_NonStandardIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00815
    00816     enum Choices {
    00817       e_object,
    00818       e_h221NonStandard
    00819     };
    00820
    00821 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00822     operator H245_NonStandardIdentifier_h221NonStandard &() const;
    00823 #else
    00824     operator H245_NonStandardIdentifier_h221NonStandard &();
    00825     operator const H245_NonStandardIdentifier_h221NonStandard &() const;
    00826 #endif
    00827
    00828     PBoolean CreateObject();
    00829     PObject * Clone() const;
    00830 };
    00831
    00832
    00833 //
    00834 // MasterSlaveDetermination
    00835 //
    00836
    00837 class H245_MasterSlaveDetermination : public PASN_Sequence
    00838 {
    00839 #ifndef PASN_LEANANDMEAN
    00840     PCLASSINFO(H245_MasterSlaveDetermination, PASN_Sequence);
    00841 #endif
    00842   public:
    00843     H245_MasterSlaveDetermination(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00844
    00845     PASN_Integer m_terminalType;
    00846     PASN_Integer m_statusDeterminationNumber;
    00847
    00848     PINDEX GetDataLength() const;
    00849     PBoolean Decode(PASN_Stream & strm);
    00850     void Encode(PASN_Stream & strm) const;
    00851 #ifndef PASN_NOPRINTON
    00852     void PrintOn(ostream & strm) const;
    00853 #endif
    00854     Comparison Compare(const PObject & obj) const;
    00855     PObject * Clone() const;
    00856 };
    00857
    00858
    00859 //
    00860 // MasterSlaveDeterminationRelease
    00861 //
    00862
    00863 class H245_MasterSlaveDeterminationRelease : public PASN_Sequence
    00864 {
    00865 #ifndef PASN_LEANANDMEAN
    00866     PCLASSINFO(H245_MasterSlaveDeterminationRelease, PASN_Sequence);
    00867 #endif
    00868   public:
    00869     H245_MasterSlaveDeterminationRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00870
    00871
    00872     PINDEX GetDataLength() const;
    00873     PBoolean Decode(PASN_Stream & strm);
    00874     void Encode(PASN_Stream & strm) const;
    00875 #ifndef PASN_NOPRINTON
    00876     void PrintOn(ostream & strm) const;
    00877 #endif
    00878     PObject * Clone() const;
    00879 };
    00880
    00881
    00882 //
    00883 // AlternativeCapabilitySet
    00884 //
    00885
    00886 class H245_CapabilityTableEntryNumber;
    00887
    00888 class H245_AlternativeCapabilitySet : public PASN_Array
    00889 {
    00890 #ifndef PASN_LEANANDMEAN
    00891     PCLASSINFO(H245_AlternativeCapabilitySet, PASN_Array);
    00892 #endif
    00893   public:
    00894     H245_AlternativeCapabilitySet(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00895
    00896     PASN_Object * CreateObject() const;
    00897     H245_CapabilityTableEntryNumber & operator[](PINDEX i) const;
    00898     PObject * Clone() const;
    00899 };
    00900
    00901
    00902 //
    00903 // CapabilityTableEntryNumber
    00904 //
    00905
    00906 class H245_CapabilityTableEntryNumber : public PASN_Integer
    00907 {
    00908 #ifndef PASN_LEANANDMEAN
    00909     PCLASSINFO(H245_CapabilityTableEntryNumber, PASN_Integer);
    00910 #endif
    00911   public:
    00912     H245_CapabilityTableEntryNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    00913
    00914     H245_CapabilityTableEntryNumber & operator=(int v);
    00915     H245_CapabilityTableEntryNumber & operator=(unsigned v);
    00916     PObject * Clone() const;
    00917 };
    00918
    00919
    00920 //
    00921 // CapabilityDescriptorNumber
    00922 //
    00923
    00924 class H245_CapabilityDescriptorNumber : public PASN_Integer
    00925 {
    00926 #ifndef PASN_LEANANDMEAN
    00927     PCLASSINFO(H245_CapabilityDescriptorNumber, PASN_Integer);
    00928 #endif
    00929   public:
    00930     H245_CapabilityDescriptorNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    00931
    00932     H245_CapabilityDescriptorNumber & operator=(int v);
    00933     H245_CapabilityDescriptorNumber & operator=(unsigned v);
    00934     PObject * Clone() const;
    00935 };
    00936
    00937
    00938 //
    00939 // Capability
    00940 //
    00941
    00942 class H245_NonStandardParameter;
    00943 class H245_VideoCapability;
    00944 class H245_AudioCapability;
    00945 class H245_DataApplicationCapability;
    00946 class H245_Capability_h233EncryptionReceiveCapability;
    00947 class H245_ConferenceCapability;
    00948 class H245_H235SecurityCapability;
    00949 class H245_UserInputCapability;
    00950 class H245_GenericCapability;
    00951 class H245_MultiplexedStreamCapability;
    00952 class H245_AudioTelephonyEventCapability;
    00953 class H245_AudioToneCapability;
    00954 class H245_DepFECCapability;
    00955 class H245_MultiplePayloadStreamCapability;
    00956 class H245_FECCapability;
    00957 class H245_RedundancyEncodingCapability;
    00958 class H245_AlternativeCapabilitySet;
    00959
    00960 class H245_Capability : public PASN_Choice
    00961 {
    00962 #ifndef PASN_LEANANDMEAN
    00963     PCLASSINFO(H245_Capability, PASN_Choice);
    00964 #endif
    00965   public:
    00966     H245_Capability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00967
    00968     enum Choices {
    00969       e_nonStandard,
    00970       e_receiveVideoCapability,
    00971       e_transmitVideoCapability,
    00972       e_receiveAndTransmitVideoCapability,
    00973       e_receiveAudioCapability,
    00974       e_transmitAudioCapability,
    00975       e_receiveAndTransmitAudioCapability,
    00976       e_receiveDataApplicationCapability,
    00977       e_transmitDataApplicationCapability,
    00978       e_receiveAndTransmitDataApplicationCapability,
    00979       e_h233EncryptionTransmitCapability,
    00980       e_h233EncryptionReceiveCapability,
    00981       e_conferenceCapability,
    00982       e_h235SecurityCapability,
    00983       e_maxPendingReplacementFor,
    00984       e_receiveUserInputCapability,
    00985       e_transmitUserInputCapability,
    00986       e_receiveAndTransmitUserInputCapability,
    00987       e_genericControlCapability,
    00988       e_receiveMultiplexedStreamCapability,
    00989       e_transmitMultiplexedStreamCapability,
    00990       e_receiveAndTransmitMultiplexedStreamCapability,
    00991       e_receiveRTPAudioTelephonyEventCapability,
    00992       e_receiveRTPAudioToneCapability,
    00993       e_depFecCapability,
    00994       e_multiplePayloadStreamCapability,
    00995       e_fecCapability,
    00996       e_redundancyEncodingCap,
    00997       e_oneOfCapabilities
    00998     };
    00999
    01000 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01001     operator H245_NonStandardParameter &() const;
    01002 #else
    01003     operator H245_NonStandardParameter &();
    01004     operator const H245_NonStandardParameter &() const;
    01005 #endif
    01006 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01007     operator H245_VideoCapability &() const;
    01008 #else
    01009     operator H245_VideoCapability &();
    01010     operator const H245_VideoCapability &() const;
    01011 #endif
    01012 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01013     operator H245_AudioCapability &() const;
    01014 #else
    01015     operator H245_AudioCapability &();
    01016     operator const H245_AudioCapability &() const;
    01017 #endif
    01018 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01019     operator H245_DataApplicationCapability &() const;
    01020 #else
    01021     operator H245_DataApplicationCapability &();
    01022     operator const H245_DataApplicationCapability &() const;
    01023 #endif
    01024 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01025     operator H245_Capability_h233EncryptionReceiveCapability &() const;
    01026 #else
    01027     operator H245_Capability_h233EncryptionReceiveCapability &();
    01028     operator const H245_Capability_h233EncryptionReceiveCapability &() const;
    01029 #endif
    01030 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01031     operator H245_ConferenceCapability &() const;
    01032 #else
    01033     operator H245_ConferenceCapability &();
    01034     operator const H245_ConferenceCapability &() const;
    01035 #endif
    01036 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01037     operator H245_H235SecurityCapability &() const;
    01038 #else
    01039     operator H245_H235SecurityCapability &();
    01040     operator const H245_H235SecurityCapability &() const;
    01041 #endif
    01042 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01043     operator H245_UserInputCapability &() const;
    01044 #else
    01045     operator H245_UserInputCapability &();
    01046     operator const H245_UserInputCapability &() const;
    01047 #endif
    01048 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01049     operator H245_GenericCapability &() const;
    01050 #else
    01051     operator H245_GenericCapability &();
    01052     operator const H245_GenericCapability &() const;
    01053 #endif
    01054 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01055     operator H245_MultiplexedStreamCapability &() const;
    01056 #else
    01057     operator H245_MultiplexedStreamCapability &();
    01058     operator const H245_MultiplexedStreamCapability &() const;
    01059 #endif
    01060 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01061     operator H245_AudioTelephonyEventCapability &() const;
    01062 #else
    01063     operator H245_AudioTelephonyEventCapability &();
    01064     operator const H245_AudioTelephonyEventCapability &() const;
    01065 #endif
    01066 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01067     operator H245_AudioToneCapability &() const;
    01068 #else
    01069     operator H245_AudioToneCapability &();
    01070     operator const H245_AudioToneCapability &() const;
    01071 #endif
    01072 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01073     operator H245_DepFECCapability &() const;
    01074 #else
    01075     operator H245_DepFECCapability &();
    01076     operator const H245_DepFECCapability &() const;
    01077 #endif
    01078 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01079     operator H245_MultiplePayloadStreamCapability &() const;
    01080 #else
    01081     operator H245_MultiplePayloadStreamCapability &();
    01082     operator const H245_MultiplePayloadStreamCapability &() const;
    01083 #endif
    01084 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01085     operator H245_FECCapability &() const;
    01086 #else
    01087     operator H245_FECCapability &();
    01088     operator const H245_FECCapability &() const;
    01089 #endif
    01090 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01091     operator H245_RedundancyEncodingCapability &() const;
    01092 #else
    01093     operator H245_RedundancyEncodingCapability &();
    01094     operator const H245_RedundancyEncodingCapability &() const;
    01095 #endif
    01096 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01097     operator H245_AlternativeCapabilitySet &() const;
    01098 #else
    01099     operator H245_AlternativeCapabilitySet &();
    01100     operator const H245_AlternativeCapabilitySet &() const;
    01101 #endif
    01102
    01103     PBoolean CreateObject();
    01104     PObject * Clone() const;
    01105 };
    01106
    01107
    01108 //
    01109 // MultiplexCapability
    01110 //
    01111
    01112 class H245_NonStandardParameter;
    01113 class H245_H222Capability;
    01114 class H245_H223Capability;
    01115 class H245_V76Capability;
    01116 class H245_H2250Capability;
    01117 class H245_GenericCapability;
    01118
    01119 class H245_MultiplexCapability : public PASN_Choice
    01120 {
    01121 #ifndef PASN_LEANANDMEAN
    01122     PCLASSINFO(H245_MultiplexCapability, PASN_Choice);
    01123 #endif
    01124   public:
    01125     H245_MultiplexCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01126
    01127     enum Choices {
    01128       e_nonStandard,
    01129       e_h222Capability,
    01130       e_h223Capability,
    01131       e_v76Capability,
    01132       e_h2250Capability,
    01133       e_genericMultiplexCapability
    01134     };
    01135
    01136 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01137     operator H245_NonStandardParameter &() const;
    01138 #else
    01139     operator H245_NonStandardParameter &();
    01140     operator const H245_NonStandardParameter &() const;
    01141 #endif
    01142 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01143     operator H245_H222Capability &() const;
    01144 #else
    01145     operator H245_H222Capability &();
    01146     operator const H245_H222Capability &() const;
    01147 #endif
    01148 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01149     operator H245_H223Capability &() const;
    01150 #else
    01151     operator H245_H223Capability &();
    01152     operator const H245_H223Capability &() const;
    01153 #endif
    01154 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01155     operator H245_V76Capability &() const;
    01156 #else
    01157     operator H245_V76Capability &();
    01158     operator const H245_V76Capability &() const;
    01159 #endif
    01160 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01161     operator H245_H2250Capability &() const;
    01162 #else
    01163     operator H245_H2250Capability &();
    01164     operator const H245_H2250Capability &() const;
    01165 #endif
    01166 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01167     operator H245_GenericCapability &() const;
    01168 #else
    01169     operator H245_GenericCapability &();
    01170     operator const H245_GenericCapability &() const;
    01171 #endif
    01172
    01173     PBoolean CreateObject();
    01174     PObject * Clone() const;
    01175 };
    01176
    01177
    01178 //
    01179 // H223AnnexCCapability
    01180 //
    01181
    01182 class H245_H223AnnexCCapability : public PASN_Sequence
    01183 {
    01184 #ifndef PASN_LEANANDMEAN
    01185     PCLASSINFO(H245_H223AnnexCCapability, PASN_Sequence);
    01186 #endif
    01187   public:
    01188     H245_H223AnnexCCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01189
    01190     enum OptionalFields {
    01191       e_rsCodeCapability
    01192     };
    01193
    01194     PASN_Boolean m_videoWithAL1M;
    01195     PASN_Boolean m_videoWithAL2M;
    01196     PASN_Boolean m_videoWithAL3M;
    01197     PASN_Boolean m_audioWithAL1M;
    01198     PASN_Boolean m_audioWithAL2M;
    01199     PASN_Boolean m_audioWithAL3M;
    01200     PASN_Boolean m_dataWithAL1M;
    01201     PASN_Boolean m_dataWithAL2M;
    01202     PASN_Boolean m_dataWithAL3M;
    01203     PASN_Boolean m_alpduInterleaving;
    01204     PASN_Integer m_maximumAL1MPDUSize;
    01205     PASN_Integer m_maximumAL2MSDUSize;
    01206     PASN_Integer m_maximumAL3MSDUSize;
    01207     PASN_Boolean m_rsCodeCapability;
    01208
    01209     PINDEX GetDataLength() const;
    01210     PBoolean Decode(PASN_Stream & strm);
    01211     void Encode(PASN_Stream & strm) const;
    01212 #ifndef PASN_NOPRINTON
    01213     void PrintOn(ostream & strm) const;
    01214 #endif
    01215     Comparison Compare(const PObject & obj) const;
    01216     PObject * Clone() const;
    01217 };
    01218
    01219
    01220 //
    01221 // V75Capability
    01222 //
    01223
    01224 class H245_V75Capability : public PASN_Sequence
    01225 {
    01226 #ifndef PASN_LEANANDMEAN
    01227     PCLASSINFO(H245_V75Capability, PASN_Sequence);
    01228 #endif
    01229   public:
    01230     H245_V75Capability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01231
    01232     PASN_Boolean m_audioHeader;
    01233
    01234     PINDEX GetDataLength() const;
    01235     PBoolean Decode(PASN_Stream & strm);
    01236     void Encode(PASN_Stream & strm) const;
    01237 #ifndef PASN_NOPRINTON
    01238     void PrintOn(ostream & strm) const;
    01239 #endif
    01240     Comparison Compare(const PObject & obj) const;
    01241     PObject * Clone() const;
    01242 };
    01243
    01244
    01245 //
    01246 // QOSMode
    01247 //
    01248
    01249 class H245_QOSMode : public PASN_Choice
    01250 {
    01251 #ifndef PASN_LEANANDMEAN
    01252     PCLASSINFO(H245_QOSMode, PASN_Choice);
    01253 #endif
    01254   public:
    01255     H245_QOSMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01256
    01257     enum Choices {
    01258       e_guaranteedQOS,
    01259       e_controlledLoad
    01260     };
    01261
    01262     PBoolean CreateObject();
    01263     PObject * Clone() const;
    01264 };
    01265
    01266
    01267 //
    01268 // ATMParameters
    01269 //
    01270
    01271 class H245_ATMParameters : public PASN_Sequence
    01272 {
    01273 #ifndef PASN_LEANANDMEAN
    01274     PCLASSINFO(H245_ATMParameters, PASN_Sequence);
    01275 #endif
    01276   public:
    01277     H245_ATMParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01278
    01279     PASN_Integer m_maxNTUSize;
    01280     PASN_Boolean m_atmUBR;
    01281     PASN_Boolean m_atmrtVBR;
    01282     PASN_Boolean m_atmnrtVBR;
    01283     PASN_Boolean m_atmABR;
    01284     PASN_Boolean m_atmCBR;
    01285
    01286     PINDEX GetDataLength() const;
    01287     PBoolean Decode(PASN_Stream & strm);
    01288     void Encode(PASN_Stream & strm) const;
    01289 #ifndef PASN_NOPRINTON
    01290     void PrintOn(ostream & strm) const;
    01291 #endif
    01292     Comparison Compare(const PObject & obj) const;
    01293     PObject * Clone() const;
    01294 };
    01295
    01296
    01297 //
    01298 // QOSType
    01299 //
    01300
    01301 class H245_QOSType : public PASN_Choice
    01302 {
    01303 #ifndef PASN_LEANANDMEAN
    01304     PCLASSINFO(H245_QOSType, PASN_Choice);
    01305 #endif
    01306   public:
    01307     H245_QOSType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01308
    01309     enum Choices {
    01310       e_desired,
    01311       e_required
    01312     };
    01313
    01314     PBoolean CreateObject();
    01315     PObject * Clone() const;
    01316 };
    01317
    01318
    01319 //
    01320 // QOSClass
    01321 //
    01322
    01323 class H245_QOSClass : public PASN_Choice
    01324 {
    01325 #ifndef PASN_LEANANDMEAN
    01326     PCLASSINFO(H245_QOSClass, PASN_Choice);
    01327 #endif
    01328   public:
    01329     H245_QOSClass(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01330
    01331     enum Choices {
    01332       e_class0,
    01333       e_class1,
    01334       e_class2,
    01335       e_class3,
    01336       e_class4,
    01337       e_class5
    01338     };
    01339
    01340     PBoolean CreateObject();
    01341     PObject * Clone() const;
    01342 };
    01343
    01344
    01345 //
    01346 // MediaTransportType
    01347 //
    01348
    01349 class H245_MediaTransportType_atm_AAL5_compressed;
    01350
    01351 class H245_MediaTransportType : public PASN_Choice
    01352 {
    01353 #ifndef PASN_LEANANDMEAN
    01354     PCLASSINFO(H245_MediaTransportType, PASN_Choice);
    01355 #endif
    01356   public:
    01357     H245_MediaTransportType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01358
    01359     enum Choices {
    01360       e_ip_UDP,
    01361       e_ip_TCP,
    01362       e_atm_AAL5_UNIDIR,
    01363       e_atm_AAL5_BIDIR,
    01364       e_atm_AAL5_compressed
    01365     };
    01366
    01367 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01368     operator H245_MediaTransportType_atm_AAL5_compressed &() const;
    01369 #else
    01370     operator H245_MediaTransportType_atm_AAL5_compressed &();
    01371     operator const H245_MediaTransportType_atm_AAL5_compressed &() const;
    01372 #endif
    01373
    01374     PBoolean CreateObject();
    01375     PObject * Clone() const;
    01376 };
    01377
    01378
    01379 //
    01380 // MediaChannelCapability
    01381 //
    01382
    01383 class H245_MediaChannelCapability : public PASN_Sequence
    01384 {
    01385 #ifndef PASN_LEANANDMEAN
    01386     PCLASSINFO(H245_MediaChannelCapability, PASN_Sequence);
    01387 #endif
    01388   public:
    01389     H245_MediaChannelCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01390
    01391     enum OptionalFields {
    01392       e_mediaTransport
    01393     };
    01394
    01395     H245_MediaTransportType m_mediaTransport;
    01396
    01397     PINDEX GetDataLength() const;
    01398     PBoolean Decode(PASN_Stream & strm);
    01399     void Encode(PASN_Stream & strm) const;
    01400 #ifndef PASN_NOPRINTON
    01401     void PrintOn(ostream & strm) const;
    01402 #endif
    01403     Comparison Compare(const PObject & obj) const;
    01404     PObject * Clone() const;
    01405 };
    01406
    01407
    01408 //
    01409 // RedundancyEncodingMethod
    01410 //
    01411
    01412 class H245_NonStandardParameter;
    01413 class H245_RTPH263VideoRedundancyEncoding;
    01414
    01415 class H245_RedundancyEncodingMethod : public PASN_Choice
    01416 {
    01417 #ifndef PASN_LEANANDMEAN
    01418     PCLASSINFO(H245_RedundancyEncodingMethod, PASN_Choice);
    01419 #endif
    01420   public:
    01421     H245_RedundancyEncodingMethod(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01422
    01423     enum Choices {
    01424       e_nonStandard,
    01425       e_rtpAudioRedundancyEncoding,
    01426       e_rtpH263VideoRedundancyEncoding
    01427     };
    01428
    01429 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01430     operator H245_NonStandardParameter &() const;
    01431 #else
    01432     operator H245_NonStandardParameter &();
    01433     operator const H245_NonStandardParameter &() const;
    01434 #endif
    01435 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01436     operator H245_RTPH263VideoRedundancyEncoding &() const;
    01437 #else
    01438     operator H245_RTPH263VideoRedundancyEncoding &();
    01439     operator const H245_RTPH263VideoRedundancyEncoding &() const;
    01440 #endif
    01441
    01442     PBoolean CreateObject();
    01443     PObject * Clone() const;
    01444 };
    01445
    01446
    01447 //
    01448 // VideoCapability
    01449 //
    01450
    01451 class H245_NonStandardParameter;
    01452 class H245_H261VideoCapability;
    01453 class H245_H262VideoCapability;
    01454 class H245_H263VideoCapability;
    01455 class H245_IS11172VideoCapability;
    01456 class H245_GenericCapability;
    01457 class H245_ExtendedVideoCapability;
    01458
    01459 class H245_VideoCapability : public PASN_Choice
    01460 {
    01461 #ifndef PASN_LEANANDMEAN
    01462     PCLASSINFO(H245_VideoCapability, PASN_Choice);
    01463 #endif
    01464   public:
    01465     H245_VideoCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01466
    01467     enum Choices {
    01468       e_nonStandard,
    01469       e_h261VideoCapability,
    01470       e_h262VideoCapability,
    01471       e_h263VideoCapability,
    01472       e_is11172VideoCapability,
    01473       e_genericVideoCapability,
    01474       e_extendedVideoCapability
    01475     };
    01476
    01477 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01478     operator H245_NonStandardParameter &() const;
    01479 #else
    01480     operator H245_NonStandardParameter &();
    01481     operator const H245_NonStandardParameter &() const;
    01482 #endif
    01483 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01484     operator H245_H261VideoCapability &() const;
    01485 #else
    01486     operator H245_H261VideoCapability &();
    01487     operator const H245_H261VideoCapability &() const;
    01488 #endif
    01489 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01490     operator H245_H262VideoCapability &() const;
    01491 #else
    01492     operator H245_H262VideoCapability &();
    01493     operator const H245_H262VideoCapability &() const;
    01494 #endif
    01495 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01496     operator H245_H263VideoCapability &() const;
    01497 #else
    01498     operator H245_H263VideoCapability &();
    01499     operator const H245_H263VideoCapability &() const;
    01500 #endif
    01501 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01502     operator H245_IS11172VideoCapability &() const;
    01503 #else
    01504     operator H245_IS11172VideoCapability &();
    01505     operator const H245_IS11172VideoCapability &() const;
    01506 #endif
    01507 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01508     operator H245_GenericCapability &() const;
    01509 #else
    01510     operator H245_GenericCapability &();
    01511     operator const H245_GenericCapability &() const;
    01512 #endif
    01513 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01514     operator H245_ExtendedVideoCapability &() const;
    01515 #else
    01516     operator H245_ExtendedVideoCapability &();
    01517     operator const H245_ExtendedVideoCapability &() const;
    01518 #endif
    01519
    01520     PBoolean CreateObject();
    01521     PObject * Clone() const;
    01522 };
    01523
    01524
    01525 //
    01526 // H261VideoCapability
    01527 //
    01528
    01529 class H245_H261VideoCapability : public PASN_Sequence
    01530 {
    01531 #ifndef PASN_LEANANDMEAN
    01532     PCLASSINFO(H245_H261VideoCapability, PASN_Sequence);
    01533 #endif
    01534   public:
    01535     H245_H261VideoCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01536
    01537     enum OptionalFields {
    01538       e_qcifMPI,
    01539       e_cifMPI,
    01540       e_videoBadMBsCap
    01541     };
    01542
    01543     PASN_Integer m_qcifMPI;
    01544     PASN_Integer m_cifMPI;
    01545     PASN_Boolean m_temporalSpatialTradeOffCapability;
    01546     PASN_Integer m_maxBitRate;
    01547     PASN_Boolean m_stillImageTransmission;
    01548     PASN_Boolean m_videoBadMBsCap;
    01549
    01550     PINDEX GetDataLength() const;
    01551     PBoolean Decode(PASN_Stream & strm);
    01552     void Encode(PASN_Stream & strm) const;
    01553 #ifndef PASN_NOPRINTON
    01554     void PrintOn(ostream & strm) const;
    01555 #endif
    01556     Comparison Compare(const PObject & obj) const;
    01557     PObject * Clone() const;
    01558 };
    01559
    01560
    01561 //
    01562 // H262VideoCapability
    01563 //
    01564
    01565 class H245_H262VideoCapability : public PASN_Sequence
    01566 {
    01567 #ifndef PASN_LEANANDMEAN
    01568     PCLASSINFO(H245_H262VideoCapability, PASN_Sequence);
    01569 #endif
    01570   public:
    01571     H245_H262VideoCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01572
    01573     enum OptionalFields {
    01574       e_videoBitRate,
    01575       e_vbvBufferSize,
    01576       e_samplesPerLine,
    01577       e_linesPerFrame,
    01578       e_framesPerSecond,
    01579       e_luminanceSampleRate
    01580     };
    01581
    01582     PASN_Boolean m_profileAndLevel_SPatML;
    01583     PASN_Boolean m_profileAndLevel_MPatLL;
    01584     PASN_Boolean m_profileAndLevel_MPatML;
    01585     PASN_Boolean m_profileAndLevel_MPatH_14;
    01586     PASN_Boolean m_profileAndLevel_MPatHL;
    01587     PASN_Boolean m_profileAndLevel_SNRatLL;
    01588     PASN_Boolean m_profileAndLevel_SNRatML;
    01589     PASN_Boolean m_profileAndLevel_SpatialatH_14;
    01590     PASN_Boolean m_profileAndLevel_HPatML;
    01591     PASN_Boolean m_profileAndLevel_HPatH_14;
    01592     PASN_Boolean m_profileAndLevel_HPatHL;
    01593     PASN_Integer m_videoBitRate;
    01594     PASN_Integer m_vbvBufferSize;
    01595     PASN_Integer m_samplesPerLine;
    01596     PASN_Integer m_linesPerFrame;
    01597     PASN_Integer m_framesPerSecond;
    01598     PASN_Integer m_luminanceSampleRate;
    01599     PASN_Boolean m_videoBadMBsCap;
    01600
    01601     PINDEX GetDataLength() const;
    01602     PBoolean Decode(PASN_Stream & strm);
    01603     void Encode(PASN_Stream & strm) const;
    01604 #ifndef PASN_NOPRINTON
    01605     void PrintOn(ostream & strm) const;
    01606 #endif
    01607     Comparison Compare(const PObject & obj) const;
    01608     PObject * Clone() const;
    01609 };
    01610
    01611
    01612 //
    01613 // TransparencyParameters
    01614 //
    01615
    01616 class H245_TransparencyParameters : public PASN_Sequence
    01617 {
    01618 #ifndef PASN_LEANANDMEAN
    01619     PCLASSINFO(H245_TransparencyParameters, PASN_Sequence);
    01620 #endif
    01621   public:
    01622     H245_TransparencyParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01623
    01624     PASN_Integer m_presentationOrder;
    01625     PASN_Integer m_offset_x;
    01626     PASN_Integer m_offset_y;
    01627     PASN_Integer m_scale_x;
    01628     PASN_Integer m_scale_y;
    01629
    01630     PINDEX GetDataLength() const;
    01631     PBoolean Decode(PASN_Stream & strm);
    01632     void Encode(PASN_Stream & strm) const;
    01633 #ifndef PASN_NOPRINTON
    01634     void PrintOn(ostream & strm) const;
    01635 #endif
    01636     Comparison Compare(const PObject & obj) const;
    01637     PObject * Clone() const;
    01638 };
    01639
    01640
    01641 //
    01642 // CustomPictureClockFrequency
    01643 //
    01644
    01645 class H245_CustomPictureClockFrequency : public PASN_Sequence
    01646 {
    01647 #ifndef PASN_LEANANDMEAN
    01648     PCLASSINFO(H245_CustomPictureClockFrequency, PASN_Sequence);
    01649 #endif
    01650   public:
    01651     H245_CustomPictureClockFrequency(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01652
    01653     enum OptionalFields {
    01654       e_sqcifMPI,
    01655       e_qcifMPI,
    01656       e_cifMPI,
    01657       e_cif4MPI,
    01658       e_cif16MPI
    01659     };
    01660
    01661     PASN_Integer m_clockConversionCode;
    01662     PASN_Integer m_clockDivisor;
    01663     PASN_Integer m_sqcifMPI;
    01664     PASN_Integer m_qcifMPI;
    01665     PASN_Integer m_cifMPI;
    01666     PASN_Integer m_cif4MPI;
    01667     PASN_Integer m_cif16MPI;
    01668
    01669     PINDEX GetDataLength() const;
    01670     PBoolean Decode(PASN_Stream & strm);
    01671     void Encode(PASN_Stream & strm) const;
    01672 #ifndef PASN_NOPRINTON
    01673     void PrintOn(ostream & strm) const;
    01674 #endif
    01675     Comparison Compare(const PObject & obj) const;
    01676     PObject * Clone() const;
    01677 };
    01678
    01679
    01680 //
    01681 // H263Version3Options
    01682 //
    01683
    01684 class H245_H263Version3Options : public PASN_Sequence
    01685 {
    01686 #ifndef PASN_LEANANDMEAN
    01687     PCLASSINFO(H245_H263Version3Options, PASN_Sequence);
    01688 #endif
    01689   public:
    01690     H245_H263Version3Options(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01691
    01692     PASN_Boolean m_dataPartitionedSlices;
    01693     PASN_Boolean m_fixedPointIDCT0;
    01694     PASN_Boolean m_interlacedFields;
    01695     PASN_Boolean m_currentPictureHeaderRepetition;
    01696     PASN_Boolean m_previousPictureHeaderRepetition;
    01697     PASN_Boolean m_nextPictureHeaderRepetition;
    01698     PASN_Boolean m_pictureNumber;
    01699     PASN_Boolean m_spareReferencePictures;
    01700
    01701     PINDEX GetDataLength() const;
    01702     PBoolean Decode(PASN_Stream & strm);
    01703     void Encode(PASN_Stream & strm) const;
    01704 #ifndef PASN_NOPRINTON
    01705     void PrintOn(ostream & strm) const;
    01706 #endif
    01707     Comparison Compare(const PObject & obj) const;
    01708     PObject * Clone() const;
    01709 };
    01710
    01711
    01712 //
    01713 // IS11172VideoCapability
    01714 //
    01715
    01716 class H245_IS11172VideoCapability : public PASN_Sequence
    01717 {
    01718 #ifndef PASN_LEANANDMEAN
    01719     PCLASSINFO(H245_IS11172VideoCapability, PASN_Sequence);
    01720 #endif
    01721   public:
    01722     H245_IS11172VideoCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01723
    01724     enum OptionalFields {
    01725       e_videoBitRate,
    01726       e_vbvBufferSize,
    01727       e_samplesPerLine,
    01728       e_linesPerFrame,
    01729       e_pictureRate,
    01730       e_luminanceSampleRate,
    01731       e_videoBadMBsCap
    01732     };
    01733
    01734     PASN_Boolean m_constrainedBitstream;
    01735     PASN_Integer m_videoBitRate;
    01736     PASN_Integer m_vbvBufferSize;
    01737     PASN_Integer m_samplesPerLine;
    01738     PASN_Integer m_linesPerFrame;
    01739     PASN_Integer m_pictureRate;
    01740     PASN_Integer m_luminanceSampleRate;
    01741     PASN_Boolean m_videoBadMBsCap;
    01742
    01743     PINDEX GetDataLength() const;
    01744     PBoolean Decode(PASN_Stream & strm);
    01745     void Encode(PASN_Stream & strm) const;
    01746 #ifndef PASN_NOPRINTON
    01747     void PrintOn(ostream & strm) const;
    01748 #endif
    01749     Comparison Compare(const PObject & obj) const;
    01750     PObject * Clone() const;
    01751 };
    01752
    01753
    01754 //
    01755 // AudioCapability
    01756 //
    01757
    01758 class H245_NonStandardParameter;
    01759 class H245_AudioCapability_g7231;
    01760 class H245_IS11172AudioCapability;
    01761 class H245_IS13818AudioCapability;
    01762 class H245_G7231AnnexCCapability;
    01763 class H245_GSMAudioCapability;
    01764 class H245_GenericCapability;
    01765 class H245_G729Extensions;
    01766 class H245_VBDCapability;
    01767 class H245_NoPTAudioTelephonyEventCapability;
    01768 class H245_NoPTAudioToneCapability;
    01769
    01770 class H245_AudioCapability : public PASN_Choice
    01771 {
    01772 #ifndef PASN_LEANANDMEAN
    01773     PCLASSINFO(H245_AudioCapability, PASN_Choice);
    01774 #endif
    01775   public:
    01776     H245_AudioCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01777
    01778     enum Choices {
    01779       e_nonStandard,
    01780       e_g711Alaw64k,
    01781       e_g711Alaw56k,
    01782       e_g711Ulaw64k,
    01783       e_g711Ulaw56k,
    01784       e_g722_64k,
    01785       e_g722_56k,
    01786       e_g722_48k,
    01787       e_g7231,
    01788       e_g728,
    01789       e_g729,
    01790       e_g729AnnexA,
    01791       e_is11172AudioCapability,
    01792       e_is13818AudioCapability,
    01793       e_g729wAnnexB,
    01794       e_g729AnnexAwAnnexB,
    01795       e_g7231AnnexCCapability,
    01796       e_gsmFullRate,
    01797       e_gsmHalfRate,
    01798       e_gsmEnhancedFullRate,
    01799       e_genericAudioCapability,
    01800       e_g729Extensions,
    01801       e_vbd,
    01802       e_audioTelephonyEvent,
    01803       e_audioTone
    01804     };
    01805
    01806 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01807     operator H245_NonStandardParameter &() const;
    01808 #else
    01809     operator H245_NonStandardParameter &();
    01810     operator const H245_NonStandardParameter &() const;
    01811 #endif
    01812 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01813     operator H245_AudioCapability_g7231 &() const;
    01814 #else
    01815     operator H245_AudioCapability_g7231 &();
    01816     operator const H245_AudioCapability_g7231 &() const;
    01817 #endif
    01818 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01819     operator H245_IS11172AudioCapability &() const;
    01820 #else
    01821     operator H245_IS11172AudioCapability &();
    01822     operator const H245_IS11172AudioCapability &() const;
    01823 #endif
    01824 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01825     operator H245_IS13818AudioCapability &() const;
    01826 #else
    01827     operator H245_IS13818AudioCapability &();
    01828     operator const H245_IS13818AudioCapability &() const;
    01829 #endif
    01830 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01831     operator H245_G7231AnnexCCapability &() const;
    01832 #else
    01833     operator H245_G7231AnnexCCapability &();
    01834     operator const H245_G7231AnnexCCapability &() const;
    01835 #endif
    01836 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01837     operator H245_GSMAudioCapability &() const;
    01838 #else
    01839     operator H245_GSMAudioCapability &();
    01840     operator const H245_GSMAudioCapability &() const;
    01841 #endif
    01842 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01843     operator H245_GenericCapability &() const;
    01844 #else
    01845     operator H245_GenericCapability &();
    01846     operator const H245_GenericCapability &() const;
    01847 #endif
    01848 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01849     operator H245_G729Extensions &() const;
    01850 #else
    01851     operator H245_G729Extensions &();
    01852     operator const H245_G729Extensions &() const;
    01853 #endif
    01854 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01855     operator H245_VBDCapability &() const;
    01856 #else
    01857     operator H245_VBDCapability &();
    01858     operator const H245_VBDCapability &() const;
    01859 #endif
    01860 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01861     operator H245_NoPTAudioTelephonyEventCapability &() const;
    01862 #else
    01863     operator H245_NoPTAudioTelephonyEventCapability &();
    01864     operator const H245_NoPTAudioTelephonyEventCapability &() const;
    01865 #endif
    01866 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01867     operator H245_NoPTAudioToneCapability &() const;
    01868 #else
    01869     operator H245_NoPTAudioToneCapability &();
    01870     operator const H245_NoPTAudioToneCapability &() const;
    01871 #endif
    01872
    01873 #ifndef PASN_NOPRINTON
    01874     void PrintOn(ostream & strm) const;
    01875 #endif
    01876     PBoolean CreateObject();
    01877     PObject * Clone() const;
    01878 };
    01879
    01880
    01881 //
    01882 // G729Extensions
    01883 //
    01884
    01885 class H245_G729Extensions : public PASN_Sequence
    01886 {
    01887 #ifndef PASN_LEANANDMEAN
    01888     PCLASSINFO(H245_G729Extensions, PASN_Sequence);
    01889 #endif
    01890   public:
    01891     H245_G729Extensions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01892
    01893     enum OptionalFields {
    01894       e_audioUnit
    01895     };
    01896
    01897     PASN_Integer m_audioUnit;
    01898     PASN_Boolean m_annexA;
    01899     PASN_Boolean m_annexB;
    01900     PASN_Boolean m_annexD;
    01901     PASN_Boolean m_annexE;
    01902     PASN_Boolean m_annexF;
    01903     PASN_Boolean m_annexG;
    01904     PASN_Boolean m_annexH;
    01905
    01906     PINDEX GetDataLength() const;
    01907     PBoolean Decode(PASN_Stream & strm);
    01908     void Encode(PASN_Stream & strm) const;
    01909 #ifndef PASN_NOPRINTON
    01910     void PrintOn(ostream & strm) const;
    01911 #endif
    01912     Comparison Compare(const PObject & obj) const;
    01913     PObject * Clone() const;
    01914 };
    01915
    01916
    01917 //
    01918 // IS11172AudioCapability
    01919 //
    01920
    01921 class H245_IS11172AudioCapability : public PASN_Sequence
    01922 {
    01923 #ifndef PASN_LEANANDMEAN
    01924     PCLASSINFO(H245_IS11172AudioCapability, PASN_Sequence);
    01925 #endif
    01926   public:
    01927     H245_IS11172AudioCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01928
    01929     PASN_Boolean m_audioLayer1;
    01930     PASN_Boolean m_audioLayer2;
    01931     PASN_Boolean m_audioLayer3;
    01932     PASN_Boolean m_audioSampling32k;
    01933     PASN_Boolean m_audioSampling44k1;
    01934     PASN_Boolean m_audioSampling48k;
    01935     PASN_Boolean m_singleChannel;
    01936     PASN_Boolean m_twoChannels;
    01937     PASN_Integer m_bitRate;
    01938
    01939     PINDEX GetDataLength() const;
    01940     PBoolean Decode(PASN_Stream & strm);
    01941     void Encode(PASN_Stream & strm) const;
    01942 #ifndef PASN_NOPRINTON
    01943     void PrintOn(ostream & strm) const;
    01944 #endif
    01945     Comparison Compare(const PObject & obj) const;
    01946     PObject * Clone() const;
    01947 };
    01948
    01949
    01950 //
    01951 // IS13818AudioCapability
    01952 //
    01953
    01954 class H245_IS13818AudioCapability : public PASN_Sequence
    01955 {
    01956 #ifndef PASN_LEANANDMEAN
    01957     PCLASSINFO(H245_IS13818AudioCapability, PASN_Sequence);
    01958 #endif
    01959   public:
    01960     H245_IS13818AudioCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01961
    01962     PASN_Boolean m_audioLayer1;
    01963     PASN_Boolean m_audioLayer2;
    01964     PASN_Boolean m_audioLayer3;
    01965     PASN_Boolean m_audioSampling16k;
    01966     PASN_Boolean m_audioSampling22k05;
    01967     PASN_Boolean m_audioSampling24k;
    01968     PASN_Boolean m_audioSampling32k;
    01969     PASN_Boolean m_audioSampling44k1;
    01970     PASN_Boolean m_audioSampling48k;
    01971     PASN_Boolean m_singleChannel;
    01972     PASN_Boolean m_twoChannels;
    01973     PASN_Boolean m_threeChannels2_1;
    01974     PASN_Boolean m_threeChannels3_0;
    01975     PASN_Boolean m_fourChannels2_0_2_0;
    01976     PASN_Boolean m_fourChannels2_2;
    01977     PASN_Boolean m_fourChannels3_1;
    01978     PASN_Boolean m_fiveChannels3_0_2_0;
    01979     PASN_Boolean m_fiveChannels3_2;
    01980     PASN_Boolean m_lowFrequencyEnhancement;
    01981     PASN_Boolean m_multilingual;
    01982     PASN_Integer m_bitRate;
    01983
    01984     PINDEX GetDataLength() const;
    01985     PBoolean Decode(PASN_Stream & strm);
    01986     void Encode(PASN_Stream & strm) const;
    01987 #ifndef PASN_NOPRINTON
    01988     void PrintOn(ostream & strm) const;
    01989 #endif
    01990     Comparison Compare(const PObject & obj) const;
    01991     PObject * Clone() const;
    01992 };
    01993
    01994
    01995 //
    01996 // GSMAudioCapability
    01997 //
    01998
    01999 class H245_GSMAudioCapability : public PASN_Sequence
    02000 {
    02001 #ifndef PASN_LEANANDMEAN
    02002     PCLASSINFO(H245_GSMAudioCapability, PASN_Sequence);
    02003 #endif
    02004   public:
    02005     H245_GSMAudioCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02006
    02007     PASN_Integer m_audioUnitSize;
    02008     PASN_Boolean m_comfortNoise;
    02009     PASN_Boolean m_scrambled;
    02010
    02011     PINDEX GetDataLength() const;
    02012     PBoolean Decode(PASN_Stream & strm);
    02013     void Encode(PASN_Stream & strm) const;
    02014 #ifndef PASN_NOPRINTON
    02015     void PrintOn(ostream & strm) const;
    02016 #endif
    02017     Comparison Compare(const PObject & obj) const;
    02018     PObject * Clone() const;
    02019 };
    02020
    02021
    02022 //
    02023 // VBDCapability
    02024 //
    02025
    02026 class H245_VBDCapability : public PASN_Sequence
    02027 {
    02028 #ifndef PASN_LEANANDMEAN
    02029     PCLASSINFO(H245_VBDCapability, PASN_Sequence);
    02030 #endif
    02031   public:
    02032     H245_VBDCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02033
    02034     H245_AudioCapability m_type;
    02035
    02036     PINDEX GetDataLength() const;
    02037     PBoolean Decode(PASN_Stream & strm);
    02038     void Encode(PASN_Stream & strm) const;
    02039 #ifndef PASN_NOPRINTON
    02040     void PrintOn(ostream & strm) const;
    02041 #endif
    02042     Comparison Compare(const PObject & obj) const;
    02043     PObject * Clone() const;
    02044 };
    02045
    02046
    02047 //
    02048 // DataProtocolCapability
    02049 //
    02050
    02051 class H245_NonStandardParameter;
    02052 class H245_DataProtocolCapability_v76wCompression;
    02053
    02054 class H245_DataProtocolCapability : public PASN_Choice
    02055 {
    02056 #ifndef PASN_LEANANDMEAN
    02057     PCLASSINFO(H245_DataProtocolCapability, PASN_Choice);
    02058 #endif
    02059   public:
    02060     H245_DataProtocolCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02061
    02062     enum Choices {
    02063       e_nonStandard,
    02064       e_v14buffered,
    02065       e_v42lapm,
    02066       e_hdlcFrameTunnelling,
    02067       e_h310SeparateVCStack,
    02068       e_h310SingleVCStack,
    02069       e_transparent,
    02070       e_segmentationAndReassembly,
    02071       e_hdlcFrameTunnelingwSAR,
    02072       e_v120,
    02073       e_separateLANStack,
    02074       e_v76wCompression,
    02075       e_tcp,
    02076       e_udp
    02077     };
    02078
    02079 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02080     operator H245_NonStandardParameter &() const;
    02081 #else
    02082     operator H245_NonStandardParameter &();
    02083     operator const H245_NonStandardParameter &() const;
    02084 #endif
    02085 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02086     operator H245_DataProtocolCapability_v76wCompression &() const;
    02087 #else
    02088     operator H245_DataProtocolCapability_v76wCompression &();
    02089     operator const H245_DataProtocolCapability_v76wCompression &() const;
    02090 #endif
    02091
    02092     PBoolean CreateObject();
    02093     PObject * Clone() const;
    02094 };
    02095
    02096
    02097 //
    02098 // CompressionType
    02099 //
    02100
    02101 class H245_V42bis;
    02102
    02103 class H245_CompressionType : public PASN_Choice
    02104 {
    02105 #ifndef PASN_LEANANDMEAN
    02106     PCLASSINFO(H245_CompressionType, PASN_Choice);
    02107 #endif
    02108   public:
    02109     H245_CompressionType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02110
    02111     enum Choices {
    02112       e_v42bis
    02113     };
    02114
    02115 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02116     operator H245_V42bis &() const;
    02117 #else
    02118     operator H245_V42bis &();
    02119     operator const H245_V42bis &() const;
    02120 #endif
    02121
    02122     PBoolean CreateObject();
    02123     PObject * Clone() const;
    02124 };
    02125
    02126
    02127 //
    02128 // V42bis
    02129 //
    02130
    02131 class H245_V42bis : public PASN_Sequence
    02132 {
    02133 #ifndef PASN_LEANANDMEAN
    02134     PCLASSINFO(H245_V42bis, PASN_Sequence);
    02135 #endif
    02136   public:
    02137     H245_V42bis(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02138
    02139     PASN_Integer m_numberOfCodewords;
    02140     PASN_Integer m_maximumStringLength;
    02141
    02142     PINDEX GetDataLength() const;
    02143     PBoolean Decode(PASN_Stream & strm);
    02144     void Encode(PASN_Stream & strm) const;
    02145 #ifndef PASN_NOPRINTON
    02146     void PrintOn(ostream & strm) const;
    02147 #endif
    02148     Comparison Compare(const PObject & obj) const;
    02149     PObject * Clone() const;
    02150 };
    02151
    02152
    02153 //
    02154 // T84Profile
    02155 //
    02156
    02157 class H245_T84Profile_t84Restricted;
    02158
    02159 class H245_T84Profile : public PASN_Choice
    02160 {
    02161 #ifndef PASN_LEANANDMEAN
    02162     PCLASSINFO(H245_T84Profile, PASN_Choice);
    02163 #endif
    02164   public:
    02165     H245_T84Profile(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02166
    02167     enum Choices {
    02168       e_t84Unrestricted,
    02169       e_t84Restricted
    02170     };
    02171
    02172 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02173     operator H245_T84Profile_t84Restricted &() const;
    02174 #else
    02175     operator H245_T84Profile_t84Restricted &();
    02176     operator const H245_T84Profile_t84Restricted &() const;
    02177 #endif
    02178
    02179     PBoolean CreateObject();
    02180     PObject * Clone() const;
    02181 };
    02182
    02183
    02184 //
    02185 // T38FaxRateManagement
    02186 //
    02187
    02188 class H245_T38FaxRateManagement : public PASN_Choice
    02189 {
    02190 #ifndef PASN_LEANANDMEAN
    02191     PCLASSINFO(H245_T38FaxRateManagement, PASN_Choice);
    02192 #endif
    02193   public:
    02194     H245_T38FaxRateManagement(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02195
    02196     enum Choices {
    02197       e_localTCF,
    02198       e_transferredTCF
    02199     };
    02200
    02201     PBoolean CreateObject();
    02202     PObject * Clone() const;
    02203 };
    02204
    02205
    02206 //
    02207 // T38FaxTcpOptions
    02208 //
    02209
    02210 class H245_T38FaxTcpOptions : public PASN_Sequence
    02211 {
    02212 #ifndef PASN_LEANANDMEAN
    02213     PCLASSINFO(H245_T38FaxTcpOptions, PASN_Sequence);
    02214 #endif
    02215   public:
    02216     H245_T38FaxTcpOptions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02217
    02218     PASN_Boolean m_t38TCPBidirectionalMode;
    02219
    02220     PINDEX GetDataLength() const;
    02221     PBoolean Decode(PASN_Stream & strm);
    02222     void Encode(PASN_Stream & strm) const;
    02223 #ifndef PASN_NOPRINTON
    02224     void PrintOn(ostream & strm) const;
    02225 #endif
    02226     Comparison Compare(const PObject & obj) const;
    02227     PObject * Clone() const;
    02228 };
    02229
    02230
    02231 //
    02232 // EncryptionCapability
    02233 //
    02234
    02235 class H245_MediaEncryptionAlgorithm;
    02236
    02237 class H245_EncryptionCapability : public PASN_Array
    02238 {
    02239 #ifndef PASN_LEANANDMEAN
    02240     PCLASSINFO(H245_EncryptionCapability, PASN_Array);
    02241 #endif
    02242   public:
    02243     H245_EncryptionCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02244
    02245     PASN_Object * CreateObject() const;
    02246     H245_MediaEncryptionAlgorithm & operator[](PINDEX i) const;
    02247     PObject * Clone() const;
    02248 };
    02249
    02250
    02251 //
    02252 // MediaEncryptionAlgorithm
    02253 //
    02254
    02255 class H245_NonStandardParameter;
    02256
    02257 class H245_MediaEncryptionAlgorithm : public PASN_Choice
    02258 {
    02259 #ifndef PASN_LEANANDMEAN
    02260     PCLASSINFO(H245_MediaEncryptionAlgorithm, PASN_Choice);
    02261 #endif
    02262   public:
    02263     H245_MediaEncryptionAlgorithm(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02264
    02265     enum Choices {
    02266       e_nonStandard,
    02267       e_algorithm
    02268     };
    02269
    02270 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02271     operator H245_NonStandardParameter &() const;
    02272 #else
    02273     operator H245_NonStandardParameter &();
    02274     operator const H245_NonStandardParameter &() const;
    02275 #endif
    02276
    02277     PBoolean CreateObject();
    02278     PObject * Clone() const;
    02279 };
    02280
    02281
    02282 //
    02283 // UserInputCapability
    02284 //
    02285
    02286 class H245_ArrayOf_NonStandardParameter;
    02287 class H245_GenericCapability;
    02288
    02289 class H245_UserInputCapability : public PASN_Choice
    02290 {
    02291 #ifndef PASN_LEANANDMEAN
    02292     PCLASSINFO(H245_UserInputCapability, PASN_Choice);
    02293 #endif
    02294   public:
    02295     H245_UserInputCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02296
    02297     enum Choices {
    02298       e_nonStandard,
    02299       e_basicString,
    02300       e_iA5String,
    02301       e_generalString,
    02302       e_dtmf,
    02303       e_hookflash,
    02304       e_extendedAlphanumeric,
    02305       e_encryptedBasicString,
    02306       e_encryptedIA5String,
    02307       e_encryptedGeneralString,
    02308       e_secureDTMF,
    02309       e_genericUserInputCapability
    02310     };
    02311
    02312 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02313     operator H245_ArrayOf_NonStandardParameter &() const;
    02314 #else
    02315     operator H245_ArrayOf_NonStandardParameter &();
    02316     operator const H245_ArrayOf_NonStandardParameter &() const;
    02317 #endif
    02318 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02319     operator H245_GenericCapability &() const;
    02320 #else
    02321     operator H245_GenericCapability &();
    02322     operator const H245_GenericCapability &() const;
    02323 #endif
    02324
    02325     PBoolean CreateObject();
    02326     PObject * Clone() const;
    02327 };
    02328
    02329
    02330 //
    02331 // CapabilityIdentifier
    02332 //
    02333
    02334 class H245_NonStandardParameter;
    02335
    02336 class H245_CapabilityIdentifier : public PASN_Choice
    02337 {
    02338 #ifndef PASN_LEANANDMEAN
    02339     PCLASSINFO(H245_CapabilityIdentifier, PASN_Choice);
    02340 #endif
    02341   public:
    02342     H245_CapabilityIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02343
    02344     enum Choices {
    02345       e_standard,
    02346       e_h221NonStandard,
    02347       e_uuid,
    02348       e_domainBased
    02349     };
    02350
    02351 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02352     operator H245_NonStandardParameter &() const;
    02353 #else
    02354     operator H245_NonStandardParameter &();
    02355     operator const H245_NonStandardParameter &() const;
    02356 #endif
    02357
    02358     PBoolean CreateObject();
    02359     PObject * Clone() const;
    02360 };
    02361
    02362
    02363 //
    02364 // ParameterIdentifier
    02365 //
    02366
    02367 class H245_NonStandardParameter;
    02368
    02369 class H245_ParameterIdentifier : public PASN_Choice
    02370 {
    02371 #ifndef PASN_LEANANDMEAN
    02372     PCLASSINFO(H245_ParameterIdentifier, PASN_Choice);
    02373 #endif
    02374   public:
    02375     H245_ParameterIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02376
    02377     enum Choices {
    02378       e_standard,
    02379       e_h221NonStandard,
    02380       e_uuid,
    02381       e_domainBased
    02382     };
    02383
    02384 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02385     operator H245_NonStandardParameter &() const;
    02386 #else
    02387     operator H245_NonStandardParameter &();
    02388     operator const H245_NonStandardParameter &() const;
    02389 #endif
    02390
    02391     PBoolean CreateObject();
    02392     PObject * Clone() const;
    02393 };
    02394
    02395
    02396 //
    02397 // ParameterValue
    02398 //
    02399
    02400 class H245_ArrayOf_GenericParameter;
    02401
    02402 class H245_ParameterValue : public PASN_Choice
    02403 {
    02404 #ifndef PASN_LEANANDMEAN
    02405     PCLASSINFO(H245_ParameterValue, PASN_Choice);
    02406 #endif
    02407   public:
    02408     H245_ParameterValue(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02409
    02410     enum Choices {
    02411       e_logical,
    02412       e_booleanArray,
    02413       e_unsignedMin,
    02414       e_unsignedMax,
    02415       e_unsigned32Min,
    02416       e_unsigned32Max,
    02417       e_octetString,
    02418       e_genericParameter
    02419     };
    02420
    02421 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02422     operator H245_ArrayOf_GenericParameter &() const;
    02423 #else
    02424     operator H245_ArrayOf_GenericParameter &();
    02425     operator const H245_ArrayOf_GenericParameter &() const;
    02426 #endif
    02427
    02428     PBoolean CreateObject();
    02429     PObject * Clone() const;
    02430 };
    02431
    02432
    02433 //
    02434 // MultiplexFormat
    02435 //
    02436
    02437 class H245_NonStandardParameter;
    02438 class H245_H222Capability;
    02439 class H245_H223Capability;
    02440
    02441 class H245_MultiplexFormat : public PASN_Choice
    02442 {
    02443 #ifndef PASN_LEANANDMEAN
    02444     PCLASSINFO(H245_MultiplexFormat, PASN_Choice);
    02445 #endif
    02446   public:
    02447     H245_MultiplexFormat(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02448
    02449     enum Choices {
    02450       e_nonStandard,
    02451       e_h222Capability,
    02452       e_h223Capability
    02453     };
    02454
    02455 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02456     operator H245_NonStandardParameter &() const;
    02457 #else
    02458     operator H245_NonStandardParameter &();
    02459     operator const H245_NonStandardParameter &() const;
    02460 #endif
    02461 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02462     operator H245_H222Capability &() const;
    02463 #else
    02464     operator H245_H222Capability &();
    02465     operator const H245_H222Capability &() const;
    02466 #endif
    02467 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02468     operator H245_H223Capability &() const;
    02469 #else
    02470     operator H245_H223Capability &();
    02471     operator const H245_H223Capability &() const;
    02472 #endif
    02473
    02474     PBoolean CreateObject();
    02475     PObject * Clone() const;
    02476 };
    02477
    02478
    02479 //
    02480 // AudioTelephonyEventCapability
    02481 //
    02482
    02483 class H245_AudioTelephonyEventCapability : public PASN_Sequence
    02484 {
    02485 #ifndef PASN_LEANANDMEAN
    02486     PCLASSINFO(H245_AudioTelephonyEventCapability, PASN_Sequence);
    02487 #endif
    02488   public:
    02489     H245_AudioTelephonyEventCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02490
    02491     PASN_Integer m_dynamicRTPPayloadType;
    02492     PASN_GeneralString m_audioTelephoneEvent;
    02493
    02494     PINDEX GetDataLength() const;
    02495     PBoolean Decode(PASN_Stream & strm);
    02496     void Encode(PASN_Stream & strm) const;
    02497 #ifndef PASN_NOPRINTON
    02498     void PrintOn(ostream & strm) const;
    02499 #endif
    02500     Comparison Compare(const PObject & obj) const;
    02501     PObject * Clone() const;
    02502 };
    02503
    02504
    02505 //
    02506 // AudioToneCapability
    02507 //
    02508
    02509 class H245_AudioToneCapability : public PASN_Sequence
    02510 {
    02511 #ifndef PASN_LEANANDMEAN
    02512     PCLASSINFO(H245_AudioToneCapability, PASN_Sequence);
    02513 #endif
    02514   public:
    02515     H245_AudioToneCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02516
    02517     PASN_Integer m_dynamicRTPPayloadType;
    02518
    02519     PINDEX GetDataLength() const;
    02520     PBoolean Decode(PASN_Stream & strm);
    02521     void Encode(PASN_Stream & strm) const;
    02522 #ifndef PASN_NOPRINTON
    02523     void PrintOn(ostream & strm) const;
    02524 #endif
    02525     Comparison Compare(const PObject & obj) const;
    02526     PObject * Clone() const;
    02527 };
    02528
    02529
    02530 //
    02531 // NoPTAudioTelephonyEventCapability
    02532 //
    02533
    02534 class H245_NoPTAudioTelephonyEventCapability : public PASN_Sequence
    02535 {
    02536 #ifndef PASN_LEANANDMEAN
    02537     PCLASSINFO(H245_NoPTAudioTelephonyEventCapability, PASN_Sequence);
    02538 #endif
    02539   public:
    02540     H245_NoPTAudioTelephonyEventCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02541
    02542     PASN_GeneralString m_audioTelephoneEvent;
    02543
    02544     PINDEX GetDataLength() const;
    02545     PBoolean Decode(PASN_Stream & strm);
    02546     void Encode(PASN_Stream & strm) const;
    02547 #ifndef PASN_NOPRINTON
    02548     void PrintOn(ostream & strm) const;
    02549 #endif
    02550     Comparison Compare(const PObject & obj) const;
    02551     PObject * Clone() const;
    02552 };
    02553
    02554
    02555 //
    02556 // NoPTAudioToneCapability
    02557 //
    02558
    02559 class H245_NoPTAudioToneCapability : public PASN_Sequence
    02560 {
    02561 #ifndef PASN_LEANANDMEAN
    02562     PCLASSINFO(H245_NoPTAudioToneCapability, PASN_Sequence);
    02563 #endif
    02564   public:
    02565     H245_NoPTAudioToneCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02566
    02567
    02568     PINDEX GetDataLength() const;
    02569     PBoolean Decode(PASN_Stream & strm);
    02570     void Encode(PASN_Stream & strm) const;
    02571 #ifndef PASN_NOPRINTON
    02572     void PrintOn(ostream & strm) const;
    02573 #endif
    02574     PObject * Clone() const;
    02575 };
    02576
    02577
    02578 //
    02579 // DepFECCapability
    02580 //
    02581
    02582 class H245_DepFECCapability_rfc2733;
    02583
    02584 class H245_DepFECCapability : public PASN_Choice
    02585 {
    02586 #ifndef PASN_LEANANDMEAN
    02587     PCLASSINFO(H245_DepFECCapability, PASN_Choice);
    02588 #endif
    02589   public:
    02590     H245_DepFECCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02591
    02592     enum Choices {
    02593       e_rfc2733
    02594     };
    02595
    02596 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02597     operator H245_DepFECCapability_rfc2733 &() const;
    02598 #else
    02599     operator H245_DepFECCapability_rfc2733 &();
    02600     operator const H245_DepFECCapability_rfc2733 &() const;
    02601 #endif
    02602
    02603     PBoolean CreateObject();
    02604     PObject * Clone() const;
    02605 };
    02606
    02607
    02608 //
    02609 // MaxRedundancy
    02610 //
    02611
    02612 class H245_MaxRedundancy : public PASN_Integer
    02613 {
    02614 #ifndef PASN_LEANANDMEAN
    02615     PCLASSINFO(H245_MaxRedundancy, PASN_Integer);
    02616 #endif
    02617   public:
    02618     H245_MaxRedundancy(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    02619
    02620     H245_MaxRedundancy & operator=(int v);
    02621     H245_MaxRedundancy & operator=(unsigned v);
    02622     PObject * Clone() const;
    02623 };
    02624
    02625
    02626 //
    02627 // LogicalChannelNumber
    02628 //
    02629
    02630 class H245_LogicalChannelNumber : public PASN_Integer
    02631 {
    02632 #ifndef PASN_LEANANDMEAN
    02633     PCLASSINFO(H245_LogicalChannelNumber, PASN_Integer);
    02634 #endif
    02635   public:
    02636     H245_LogicalChannelNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    02637
    02638     H245_LogicalChannelNumber & operator=(int v);
    02639     H245_LogicalChannelNumber & operator=(unsigned v);
    02640     PObject * Clone() const;
    02641 };
    02642
    02643
    02644 //
    02645 // V75Parameters
    02646 //
    02647
    02648 class H245_V75Parameters : public PASN_Sequence
    02649 {
    02650 #ifndef PASN_LEANANDMEAN
    02651     PCLASSINFO(H245_V75Parameters, PASN_Sequence);
    02652 #endif
    02653   public:
    02654     H245_V75Parameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02655
    02656     PASN_Boolean m_audioHeaderPresent;
    02657
    02658     PINDEX GetDataLength() const;
    02659     PBoolean Decode(PASN_Stream & strm);
    02660     void Encode(PASN_Stream & strm) const;
    02661 #ifndef PASN_NOPRINTON
    02662     void PrintOn(ostream & strm) const;
    02663 #endif
    02664     Comparison Compare(const PObject & obj) const;
    02665     PObject * Clone() const;
    02666 };
    02667
    02668
    02669 //
    02670 // DataType
    02671 //
    02672
    02673 class H245_NonStandardParameter;
    02674 class H245_VideoCapability;
    02675 class H245_AudioCapability;
    02676 class H245_DataApplicationCapability;
    02677 class H245_EncryptionMode;
    02678 class H245_H235Media;
    02679 class H245_MultiplexedStreamParameter;
    02680 class H245_RedundancyEncoding;
    02681 class H245_MultiplePayloadStream;
    02682 class H245_DepFECData;
    02683 class H245_FECData;
    02684
    02685 class H245_DataType : public PASN_Choice
    02686 {
    02687 #ifndef PASN_LEANANDMEAN
    02688     PCLASSINFO(H245_DataType, PASN_Choice);
    02689 #endif
    02690   public:
    02691     H245_DataType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02692
    02693     enum Choices {
    02694       e_nonStandard,
    02695       e_nullData,
    02696       e_videoData,
    02697       e_audioData,
    02698       e_data,
    02699       e_encryptionData,
    02700       e_h235Control,
    02701       e_h235Media,
    02702       e_multiplexedStream,
    02703       e_redundancyEncoding,
    02704       e_multiplePayloadStream,
    02705       e_depFec,
    02706       e_fec
    02707     };
    02708
    02709 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02710     operator H245_NonStandardParameter &() const;
    02711 #else
    02712     operator H245_NonStandardParameter &();
    02713     operator const H245_NonStandardParameter &() const;
    02714 #endif
    02715 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02716     operator H245_VideoCapability &() const;
    02717 #else
    02718     operator H245_VideoCapability &();
    02719     operator const H245_VideoCapability &() const;
    02720 #endif
    02721 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02722     operator H245_AudioCapability &() const;
    02723 #else
    02724     operator H245_AudioCapability &();
    02725     operator const H245_AudioCapability &() const;
    02726 #endif
    02727 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02728     operator H245_DataApplicationCapability &() const;
    02729 #else
    02730     operator H245_DataApplicationCapability &();
    02731     operator const H245_DataApplicationCapability &() const;
    02732 #endif
    02733 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02734     operator H245_EncryptionMode &() const;
    02735 #else
    02736     operator H245_EncryptionMode &();
    02737     operator const H245_EncryptionMode &() const;
    02738 #endif
    02739 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02740     operator H245_H235Media &() const;
    02741 #else
    02742     operator H245_H235Media &();
    02743     operator const H245_H235Media &() const;
    02744 #endif
    02745 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02746     operator H245_MultiplexedStreamParameter &() const;
    02747 #else
    02748     operator H245_MultiplexedStreamParameter &();
    02749     operator const H245_MultiplexedStreamParameter &() const;
    02750 #endif
    02751 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02752     operator H245_RedundancyEncoding &() const;
    02753 #else
    02754     operator H245_RedundancyEncoding &();
    02755     operator const H245_RedundancyEncoding &() const;
    02756 #endif
    02757 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02758     operator H245_MultiplePayloadStream &() const;
    02759 #else
    02760     operator H245_MultiplePayloadStream &();
    02761     operator const H245_MultiplePayloadStream &() const;
    02762 #endif
    02763 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02764     operator H245_DepFECData &() const;
    02765 #else
    02766     operator H245_DepFECData &();
    02767     operator const H245_DepFECData &() const;
    02768 #endif
    02769 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02770     operator H245_FECData &() const;
    02771 #else
    02772     operator H245_FECData &();
    02773     operator const H245_FECData &() const;
    02774 #endif
    02775
    02776     PBoolean CreateObject();
    02777     PObject * Clone() const;
    02778 };
    02779
    02780
    02781 //
    02782 // MultiplexedStreamParameter
    02783 //
    02784
    02785 class H245_MultiplexedStreamParameter : public PASN_Sequence
    02786 {
    02787 #ifndef PASN_LEANANDMEAN
    02788     PCLASSINFO(H245_MultiplexedStreamParameter, PASN_Sequence);
    02789 #endif
    02790   public:
    02791     H245_MultiplexedStreamParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02792
    02793     H245_MultiplexFormat m_multiplexFormat;
    02794     PASN_Boolean m_controlOnMuxStream;
    02795
    02796     PINDEX GetDataLength() const;
    02797     PBoolean Decode(PASN_Stream & strm);
    02798     void Encode(PASN_Stream & strm) const;
    02799 #ifndef PASN_NOPRINTON
    02800     void PrintOn(ostream & strm) const;
    02801 #endif
    02802     Comparison Compare(const PObject & obj) const;
    02803     PObject * Clone() const;
    02804 };
    02805
    02806
    02807 //
    02808 // H222LogicalChannelParameters
    02809 //
    02810
    02811 class H245_H222LogicalChannelParameters : public PASN_Sequence
    02812 {
    02813 #ifndef PASN_LEANANDMEAN
    02814     PCLASSINFO(H245_H222LogicalChannelParameters, PASN_Sequence);
    02815 #endif
    02816   public:
    02817     H245_H222LogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02818
    02819     enum OptionalFields {
    02820       e_pcr_pid,
    02821       e_programDescriptors,
    02822       e_streamDescriptors
    02823     };
    02824
    02825     PASN_Integer m_resourceID;
    02826     PASN_Integer m_subChannelID;
    02827     PASN_Integer m_pcr_pid;
    02828     PASN_OctetString m_programDescriptors;
    02829     PASN_OctetString m_streamDescriptors;
    02830
    02831     PINDEX GetDataLength() const;
    02832     PBoolean Decode(PASN_Stream & strm);
    02833     void Encode(PASN_Stream & strm) const;
    02834 #ifndef PASN_NOPRINTON
    02835     void PrintOn(ostream & strm) const;
    02836 #endif
    02837     Comparison Compare(const PObject & obj) const;
    02838     PObject * Clone() const;
    02839 };
    02840
    02841
    02842 //
    02843 // CRCLength
    02844 //
    02845
    02846 class H245_CRCLength : public PASN_Choice
    02847 {
    02848 #ifndef PASN_LEANANDMEAN
    02849     PCLASSINFO(H245_CRCLength, PASN_Choice);
    02850 #endif
    02851   public:
    02852     H245_CRCLength(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02853
    02854     enum Choices {
    02855       e_crc8bit,
    02856       e_crc16bit,
    02857       e_crc32bit
    02858     };
    02859
    02860     PBoolean CreateObject();
    02861     PObject * Clone() const;
    02862 };
    02863
    02864
    02865 //
    02866 // RedundancyEncodingElement
    02867 //
    02868
    02869 class H245_RedundancyEncodingElement : public PASN_Sequence
    02870 {
    02871 #ifndef PASN_LEANANDMEAN
    02872     PCLASSINFO(H245_RedundancyEncodingElement, PASN_Sequence);
    02873 #endif
    02874   public:
    02875     H245_RedundancyEncodingElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02876
    02877     enum OptionalFields {
    02878       e_payloadType
    02879     };
    02880
    02881     H245_DataType m_dataType;
    02882     PASN_Integer m_payloadType;
    02883
    02884     PINDEX GetDataLength() const;
    02885     PBoolean Decode(PASN_Stream & strm);
    02886     void Encode(PASN_Stream & strm) const;
    02887 #ifndef PASN_NOPRINTON
    02888     void PrintOn(ostream & strm) const;
    02889 #endif
    02890     Comparison Compare(const PObject & obj) const;
    02891     PObject * Clone() const;
    02892 };
    02893
    02894
    02895 //
    02896 // MultiplePayloadStreamElement
    02897 //
    02898
    02899 class H245_MultiplePayloadStreamElement : public PASN_Sequence
    02900 {
    02901 #ifndef PASN_LEANANDMEAN
    02902     PCLASSINFO(H245_MultiplePayloadStreamElement, PASN_Sequence);
    02903 #endif
    02904   public:
    02905     H245_MultiplePayloadStreamElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02906
    02907     enum OptionalFields {
    02908       e_payloadType
    02909     };
    02910
    02911     H245_DataType m_dataType;
    02912     PASN_Integer m_payloadType;
    02913
    02914     PINDEX GetDataLength() const;
    02915     PBoolean Decode(PASN_Stream & strm);
    02916     void Encode(PASN_Stream & strm) const;
    02917 #ifndef PASN_NOPRINTON
    02918     void PrintOn(ostream & strm) const;
    02919 #endif
    02920     Comparison Compare(const PObject & obj) const;
    02921     PObject * Clone() const;
    02922 };
    02923
    02924
    02925 //
    02926 // DepFECData
    02927 //
    02928
    02929 class H245_DepFECData_rfc2733;
    02930
    02931 class H245_DepFECData : public PASN_Choice
    02932 {
    02933 #ifndef PASN_LEANANDMEAN
    02934     PCLASSINFO(H245_DepFECData, PASN_Choice);
    02935 #endif
    02936   public:
    02937     H245_DepFECData(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02938
    02939     enum Choices {
    02940       e_rfc2733
    02941     };
    02942
    02943 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02944     operator H245_DepFECData_rfc2733 &() const;
    02945 #else
    02946     operator H245_DepFECData_rfc2733 &();
    02947     operator const H245_DepFECData_rfc2733 &() const;
    02948 #endif
    02949
    02950     PBoolean CreateObject();
    02951     PObject * Clone() const;
    02952 };
    02953
    02954
    02955 //
    02956 // FECData
    02957 //
    02958
    02959 class H245_FECData_rfc2733;
    02960
    02961 class H245_FECData : public PASN_Choice
    02962 {
    02963 #ifndef PASN_LEANANDMEAN
    02964     PCLASSINFO(H245_FECData, PASN_Choice);
    02965 #endif
    02966   public:
    02967     H245_FECData(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02968
    02969     enum Choices {
    02970       e_rfc2733
    02971     };
    02972
    02973 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02974     operator H245_FECData_rfc2733 &() const;
    02975 #else
    02976     operator H245_FECData_rfc2733 &();
    02977     operator const H245_FECData_rfc2733 &() const;
    02978 #endif
    02979
    02980     PBoolean CreateObject();
    02981     PObject * Clone() const;
    02982 };
    02983
    02984
    02985 //
    02986 // TransportAddress
    02987 //
    02988
    02989 class H245_UnicastAddress;
    02990 class H245_MulticastAddress;
    02991
    02992 class H245_TransportAddress : public PASN_Choice
    02993 {
    02994 #ifndef PASN_LEANANDMEAN
    02995     PCLASSINFO(H245_TransportAddress, PASN_Choice);
    02996 #endif
    02997   public:
    02998     H245_TransportAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02999
    03000     enum Choices {
    03001       e_unicastAddress,
    03002       e_multicastAddress
    03003     };
    03004
    03005 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03006     operator H245_UnicastAddress &() const;
    03007 #else
    03008     operator H245_UnicastAddress &();
    03009     operator const H245_UnicastAddress &() const;
    03010 #endif
    03011 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03012     operator H245_MulticastAddress &() const;
    03013 #else
    03014     operator H245_MulticastAddress &();
    03015     operator const H245_MulticastAddress &() const;
    03016 #endif
    03017
    03018     PBoolean CreateObject();
    03019     PObject * Clone() const;
    03020 };
    03021
    03022
    03023 //
    03024 // UnicastAddress
    03025 //
    03026
    03027 class H245_UnicastAddress_iPAddress;
    03028 class H245_UnicastAddress_iPXAddress;
    03029 class H245_UnicastAddress_iP6Address;
    03030 class H245_UnicastAddress_iPSourceRouteAddress;
    03031 class H245_NonStandardParameter;
    03032
    03033 class H245_UnicastAddress : public PASN_Choice
    03034 {
    03035 #ifndef PASN_LEANANDMEAN
    03036     PCLASSINFO(H245_UnicastAddress, PASN_Choice);
    03037 #endif
    03038   public:
    03039     H245_UnicastAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03040
    03041     enum Choices {
    03042       e_iPAddress,
    03043       e_iPXAddress,
    03044       e_iP6Address,
    03045       e_netBios,
    03046       e_iPSourceRouteAddress,
    03047       e_nsap,
    03048       e_nonStandardAddress
    03049     };
    03050
    03051 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03052     operator H245_UnicastAddress_iPAddress &() const;
    03053 #else
    03054     operator H245_UnicastAddress_iPAddress &();
    03055     operator const H245_UnicastAddress_iPAddress &() const;
    03056 #endif
    03057 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03058     operator H245_UnicastAddress_iPXAddress &() const;
    03059 #else
    03060     operator H245_UnicastAddress_iPXAddress &();
    03061     operator const H245_UnicastAddress_iPXAddress &() const;
    03062 #endif
    03063 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03064     operator H245_UnicastAddress_iP6Address &() const;
    03065 #else
    03066     operator H245_UnicastAddress_iP6Address &();
    03067     operator const H245_UnicastAddress_iP6Address &() const;
    03068 #endif
    03069 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03070     operator H245_UnicastAddress_iPSourceRouteAddress &() const;
    03071 #else
    03072     operator H245_UnicastAddress_iPSourceRouteAddress &();
    03073     operator const H245_UnicastAddress_iPSourceRouteAddress &() const;
    03074 #endif
    03075 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03076     operator H245_NonStandardParameter &() const;
    03077 #else
    03078     operator H245_NonStandardParameter &();
    03079     operator const H245_NonStandardParameter &() const;
    03080 #endif
    03081
    03082     PBoolean CreateObject();
    03083     PObject * Clone() const;
    03084 };
    03085
    03086
    03087 //
    03088 // MulticastAddress
    03089 //
    03090
    03091 class H245_MulticastAddress_iPAddress;
    03092 class H245_MulticastAddress_iP6Address;
    03093 class H245_NonStandardParameter;
    03094
    03095 class H245_MulticastAddress : public PASN_Choice
    03096 {
    03097 #ifndef PASN_LEANANDMEAN
    03098     PCLASSINFO(H245_MulticastAddress, PASN_Choice);
    03099 #endif
    03100   public:
    03101     H245_MulticastAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03102
    03103     enum Choices {
    03104       e_iPAddress,
    03105       e_iP6Address,
    03106       e_nsap,
    03107       e_nonStandardAddress
    03108     };
    03109
    03110 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03111     operator H245_MulticastAddress_iPAddress &() const;
    03112 #else
    03113     operator H245_MulticastAddress_iPAddress &();
    03114     operator const H245_MulticastAddress_iPAddress &() const;
    03115 #endif
    03116 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03117     operator H245_MulticastAddress_iP6Address &() const;
    03118 #else
    03119     operator H245_MulticastAddress_iP6Address &();
    03120     operator const H245_MulticastAddress_iP6Address &() const;
    03121 #endif
    03122 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03123     operator H245_NonStandardParameter &() const;
    03124 #else
    03125     operator H245_NonStandardParameter &();
    03126     operator const H245_NonStandardParameter &() const;
    03127 #endif
    03128
    03129     PBoolean CreateObject();
    03130     PObject * Clone() const;
    03131 };
    03132
    03133
    03134 //
    03135 // EscrowData
    03136 //
    03137
    03138 class H245_EscrowData : public PASN_Sequence
    03139 {
    03140 #ifndef PASN_LEANANDMEAN
    03141     PCLASSINFO(H245_EscrowData, PASN_Sequence);
    03142 #endif
    03143   public:
    03144     H245_EscrowData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03145
    03146     PASN_ObjectId m_escrowID;
    03147     PASN_BitString m_escrowValue;
    03148
    03149     PINDEX GetDataLength() const;
    03150     PBoolean Decode(PASN_Stream & strm);
    03151     void Encode(PASN_Stream & strm) const;
    03152 #ifndef PASN_NOPRINTON
    03153     void PrintOn(ostream & strm) const;
    03154 #endif
    03155     Comparison Compare(const PObject & obj) const;
    03156     PObject * Clone() const;
    03157 };
    03158
    03159
    03160 //
    03161 // CloseLogicalChannelAck
    03162 //
    03163
    03164 class H245_CloseLogicalChannelAck : public PASN_Sequence
    03165 {
    03166 #ifndef PASN_LEANANDMEAN
    03167     PCLASSINFO(H245_CloseLogicalChannelAck, PASN_Sequence);
    03168 #endif
    03169   public:
    03170     H245_CloseLogicalChannelAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03171
    03172     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
    03173
    03174     PINDEX GetDataLength() const;
    03175     PBoolean Decode(PASN_Stream & strm);
    03176     void Encode(PASN_Stream & strm) const;
    03177 #ifndef PASN_NOPRINTON
    03178     void PrintOn(ostream & strm) const;
    03179 #endif
    03180     Comparison Compare(const PObject & obj) const;
    03181     PObject * Clone() const;
    03182 };
    03183
    03184
    03185 //
    03186 // RequestChannelCloseAck
    03187 //
    03188
    03189 class H245_RequestChannelCloseAck : public PASN_Sequence
    03190 {
    03191 #ifndef PASN_LEANANDMEAN
    03192     PCLASSINFO(H245_RequestChannelCloseAck, PASN_Sequence);
    03193 #endif
    03194   public:
    03195     H245_RequestChannelCloseAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03196
    03197     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
    03198
    03199     PINDEX GetDataLength() const;
    03200     PBoolean Decode(PASN_Stream & strm);
    03201     void Encode(PASN_Stream & strm) const;
    03202 #ifndef PASN_NOPRINTON
    03203     void PrintOn(ostream & strm) const;
    03204 #endif
    03205     Comparison Compare(const PObject & obj) const;
    03206     PObject * Clone() const;
    03207 };
    03208
    03209
    03210 //
    03211 // RequestChannelCloseRelease
    03212 //
    03213
    03214 class H245_RequestChannelCloseRelease : public PASN_Sequence
    03215 {
    03216 #ifndef PASN_LEANANDMEAN
    03217     PCLASSINFO(H245_RequestChannelCloseRelease, PASN_Sequence);
    03218 #endif
    03219   public:
    03220     H245_RequestChannelCloseRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03221
    03222     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
    03223
    03224     PINDEX GetDataLength() const;
    03225     PBoolean Decode(PASN_Stream & strm);
    03226     void Encode(PASN_Stream & strm) const;
    03227 #ifndef PASN_NOPRINTON
    03228     void PrintOn(ostream & strm) const;
    03229 #endif
    03230     Comparison Compare(const PObject & obj) const;
    03231     PObject * Clone() const;
    03232 };
    03233
    03234
    03235 //
    03236 // MultiplexTableEntryNumber
    03237 //
    03238
    03239 class H245_MultiplexTableEntryNumber : public PASN_Integer
    03240 {
    03241 #ifndef PASN_LEANANDMEAN
    03242     PCLASSINFO(H245_MultiplexTableEntryNumber, PASN_Integer);
    03243 #endif
    03244   public:
    03245     H245_MultiplexTableEntryNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    03246
    03247     H245_MultiplexTableEntryNumber & operator=(int v);
    03248     H245_MultiplexTableEntryNumber & operator=(unsigned v);
    03249     PObject * Clone() const;
    03250 };
    03251
    03252
    03253 //
    03254 // RequestModeRelease
    03255 //
    03256
    03257 class H245_RequestModeRelease : public PASN_Sequence
    03258 {
    03259 #ifndef PASN_LEANANDMEAN
    03260     PCLASSINFO(H245_RequestModeRelease, PASN_Sequence);
    03261 #endif
    03262   public:
    03263     H245_RequestModeRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03264
    03265
    03266     PINDEX GetDataLength() const;
    03267     PBoolean Decode(PASN_Stream & strm);
    03268     void Encode(PASN_Stream & strm) const;
    03269 #ifndef PASN_NOPRINTON
    03270     void PrintOn(ostream & strm) const;
    03271 #endif
    03272     PObject * Clone() const;
    03273 };
    03274
    03275
    03276 //
    03277 // ModeDescription
    03278 //
    03279
    03280 class H245_ModeElement;
    03281
    03282 class H245_ModeDescription : public PASN_Array
    03283 {
    03284 #ifndef PASN_LEANANDMEAN
    03285     PCLASSINFO(H245_ModeDescription, PASN_Array);
    03286 #endif
    03287   public:
    03288     H245_ModeDescription(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    03289
    03290     PASN_Object * CreateObject() const;
    03291     H245_ModeElement & operator[](PINDEX i) const;
    03292     PObject * Clone() const;
    03293 };
    03294
    03295
    03296 //
    03297 // ModeElementType
    03298 //
    03299
    03300 class H245_NonStandardParameter;
    03301 class H245_VideoMode;
    03302 class H245_AudioMode;
    03303 class H245_DataMode;
    03304 class H245_EncryptionMode;
    03305 class H245_H235Mode;
    03306 class H245_MultiplexedStreamParameter;
    03307 class H245_RedundancyEncodingDTMode;
    03308 class H245_MultiplePayloadStreamMode;
    03309 class H245_DepFECMode;
    03310 class H245_FECMode;
    03311
    03312 class H245_ModeElementType : public PASN_Choice
    03313 {
    03314 #ifndef PASN_LEANANDMEAN
    03315     PCLASSINFO(H245_ModeElementType, PASN_Choice);
    03316 #endif
    03317   public:
    03318     H245_ModeElementType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03319
    03320     enum Choices {
    03321       e_nonStandard,
    03322       e_videoMode,
    03323       e_audioMode,
    03324       e_dataMode,
    03325       e_encryptionMode,
    03326       e_h235Mode,
    03327       e_multiplexedStreamMode,
    03328       e_redundancyEncodingDTMode,
    03329       e_multiplePayloadStreamMode,
    03330       e_depFecMode,
    03331       e_fecMode
    03332     };
    03333
    03334 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03335     operator H245_NonStandardParameter &() const;
    03336 #else
    03337     operator H245_NonStandardParameter &();
    03338     operator const H245_NonStandardParameter &() const;
    03339 #endif
    03340 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03341     operator H245_VideoMode &() const;
    03342 #else
    03343     operator H245_VideoMode &();
    03344     operator const H245_VideoMode &() const;
    03345 #endif
    03346 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03347     operator H245_AudioMode &() const;
    03348 #else
    03349     operator H245_AudioMode &();
    03350     operator const H245_AudioMode &() const;
    03351 #endif
    03352 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03353     operator H245_DataMode &() const;
    03354 #else
    03355     operator H245_DataMode &();
    03356     operator const H245_DataMode &() const;
    03357 #endif
    03358 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03359     operator H245_EncryptionMode &() const;
    03360 #else
    03361     operator H245_EncryptionMode &();
    03362     operator const H245_EncryptionMode &() const;
    03363 #endif
    03364 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03365     operator H245_H235Mode &() const;
    03366 #else
    03367     operator H245_H235Mode &();
    03368     operator const H245_H235Mode &() const;
    03369 #endif
    03370 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03371     operator H245_MultiplexedStreamParameter &() const;
    03372 #else
    03373     operator H245_MultiplexedStreamParameter &();
    03374     operator const H245_MultiplexedStreamParameter &() const;
    03375 #endif
    03376 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03377     operator H245_RedundancyEncodingDTMode &() const;
    03378 #else
    03379     operator H245_RedundancyEncodingDTMode &();
    03380     operator const H245_RedundancyEncodingDTMode &() const;
    03381 #endif
    03382 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03383     operator H245_MultiplePayloadStreamMode &() const;
    03384 #else
    03385     operator H245_MultiplePayloadStreamMode &();
    03386     operator const H245_MultiplePayloadStreamMode &() const;
    03387 #endif
    03388 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03389     operator H245_DepFECMode &() const;
    03390 #else
    03391     operator H245_DepFECMode &();
    03392     operator const H245_DepFECMode &() const;
    03393 #endif
    03394 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03395     operator H245_FECMode &() const;
    03396 #else
    03397     operator H245_FECMode &();
    03398     operator const H245_FECMode &() const;
    03399 #endif
    03400
    03401     PBoolean CreateObject();
    03402     PObject * Clone() const;
    03403 };
    03404
    03405
    03406 //
    03407 // MultiplexedStreamModeParameters
    03408 //
    03409
    03410 class H245_MultiplexedStreamModeParameters : public PASN_Sequence
    03411 {
    03412 #ifndef PASN_LEANANDMEAN
    03413     PCLASSINFO(H245_MultiplexedStreamModeParameters, PASN_Sequence);
    03414 #endif
    03415   public:
    03416     H245_MultiplexedStreamModeParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03417
    03418     H245_LogicalChannelNumber m_logicalChannelNumber;
    03419
    03420     PINDEX GetDataLength() const;
    03421     PBoolean Decode(PASN_Stream & strm);
    03422     void Encode(PASN_Stream & strm) const;
    03423 #ifndef PASN_NOPRINTON
    03424     void PrintOn(ostream & strm) const;
    03425 #endif
    03426     Comparison Compare(const PObject & obj) const;
    03427     PObject * Clone() const;
    03428 };
    03429
    03430
    03431 //
    03432 // MultiplePayloadStreamElementMode
    03433 //
    03434
    03435 class H245_MultiplePayloadStreamElementMode : public PASN_Sequence
    03436 {
    03437 #ifndef PASN_LEANANDMEAN
    03438     PCLASSINFO(H245_MultiplePayloadStreamElementMode, PASN_Sequence);
    03439 #endif
    03440   public:
    03441     H245_MultiplePayloadStreamElementMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03442
    03443     H245_ModeElementType m_type;
    03444
    03445     PINDEX GetDataLength() const;
    03446     PBoolean Decode(PASN_Stream & strm);
    03447     void Encode(PASN_Stream & strm) const;
    03448 #ifndef PASN_NOPRINTON
    03449     void PrintOn(ostream & strm) const;
    03450 #endif
    03451     Comparison Compare(const PObject & obj) const;
    03452     PObject * Clone() const;
    03453 };
    03454
    03455
    03456 //
    03457 // DepFECMode
    03458 //
    03459
    03460 class H245_DepFECMode_rfc2733Mode;
    03461
    03462 class H245_DepFECMode : public PASN_Choice
    03463 {
    03464 #ifndef PASN_LEANANDMEAN
    03465     PCLASSINFO(H245_DepFECMode, PASN_Choice);
    03466 #endif
    03467   public:
    03468     H245_DepFECMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03469
    03470     enum Choices {
    03471       e_rfc2733Mode
    03472     };
    03473
    03474 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03475     operator H245_DepFECMode_rfc2733Mode &() const;
    03476 #else
    03477     operator H245_DepFECMode_rfc2733Mode &();
    03478     operator const H245_DepFECMode_rfc2733Mode &() const;
    03479 #endif
    03480
    03481     PBoolean CreateObject();
    03482     PObject * Clone() const;
    03483 };
    03484
    03485
    03486 //
    03487 // V76ModeParameters
    03488 //
    03489
    03490 class H245_V76ModeParameters : public PASN_Choice
    03491 {
    03492 #ifndef PASN_LEANANDMEAN
    03493     PCLASSINFO(H245_V76ModeParameters, PASN_Choice);
    03494 #endif
    03495   public:
    03496     H245_V76ModeParameters(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03497
    03498     enum Choices {
    03499       e_suspendResumewAddress,
    03500       e_suspendResumewoAddress
    03501     };
    03502
    03503     PBoolean CreateObject();
    03504     PObject * Clone() const;
    03505 };
    03506
    03507
    03508 //
    03509 // VideoMode
    03510 //
    03511
    03512 class H245_NonStandardParameter;
    03513 class H245_H261VideoMode;
    03514 class H245_H262VideoMode;
    03515 class H245_H263VideoMode;
    03516 class H245_IS11172VideoMode;
    03517 class H245_GenericCapability;
    03518
    03519 class H245_VideoMode : public PASN_Choice
    03520 {
    03521 #ifndef PASN_LEANANDMEAN
    03522     PCLASSINFO(H245_VideoMode, PASN_Choice);
    03523 #endif
    03524   public:
    03525     H245_VideoMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03526
    03527     enum Choices {
    03528       e_nonStandard,
    03529       e_h261VideoMode,
    03530       e_h262VideoMode,
    03531       e_h263VideoMode,
    03532       e_is11172VideoMode,
    03533       e_genericVideoMode
    03534     };
    03535
    03536 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03537     operator H245_NonStandardParameter &() const;
    03538 #else
    03539     operator H245_NonStandardParameter &();
    03540     operator const H245_NonStandardParameter &() const;
    03541 #endif
    03542 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03543     operator H245_H261VideoMode &() const;
    03544 #else
    03545     operator H245_H261VideoMode &();
    03546     operator const H245_H261VideoMode &() const;
    03547 #endif
    03548 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03549     operator H245_H262VideoMode &() const;
    03550 #else
    03551     operator H245_H262VideoMode &();
    03552     operator const H245_H262VideoMode &() const;
    03553 #endif
    03554 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03555     operator H245_H263VideoMode &() const;
    03556 #else
    03557     operator H245_H263VideoMode &();
    03558     operator const H245_H263VideoMode &() const;
    03559 #endif
    03560 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03561     operator H245_IS11172VideoMode &() const;
    03562 #else
    03563     operator H245_IS11172VideoMode &();
    03564     operator const H245_IS11172VideoMode &() const;
    03565 #endif
    03566 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03567     operator H245_GenericCapability &() const;
    03568 #else
    03569     operator H245_GenericCapability &();
    03570     operator const H245_GenericCapability &() const;
    03571 #endif
    03572
    03573     PBoolean CreateObject();
    03574     PObject * Clone() const;
    03575 };
    03576
    03577
    03578 //
    03579 // IS11172VideoMode
    03580 //
    03581
    03582 class H245_IS11172VideoMode : public PASN_Sequence
    03583 {
    03584 #ifndef PASN_LEANANDMEAN
    03585     PCLASSINFO(H245_IS11172VideoMode, PASN_Sequence);
    03586 #endif
    03587   public:
    03588     H245_IS11172VideoMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03589
    03590     enum OptionalFields {
    03591       e_videoBitRate,
    03592       e_vbvBufferSize,
    03593       e_samplesPerLine,
    03594       e_linesPerFrame,
    03595       e_pictureRate,
    03596       e_luminanceSampleRate
    03597     };
    03598
    03599     PASN_Boolean m_constrainedBitstream;
    03600     PASN_Integer m_videoBitRate;
    03601     PASN_Integer m_vbvBufferSize;
    03602     PASN_Integer m_samplesPerLine;
    03603     PASN_Integer m_linesPerFrame;
    03604     PASN_Integer m_pictureRate;
    03605     PASN_Integer m_luminanceSampleRate;
    03606
    03607     PINDEX GetDataLength() const;
    03608     PBoolean Decode(PASN_Stream & strm);
    03609     void Encode(PASN_Stream & strm) const;
    03610 #ifndef PASN_NOPRINTON
    03611     void PrintOn(ostream & strm) const;
    03612 #endif
    03613     Comparison Compare(const PObject & obj) const;
    03614     PObject * Clone() const;
    03615 };
    03616
    03617
    03618 //
    03619 // AudioMode
    03620 //
    03621
    03622 class H245_NonStandardParameter;
    03623 class H245_AudioMode_g7231;
    03624 class H245_IS11172AudioMode;
    03625 class H245_IS13818AudioMode;
    03626 class H245_G7231AnnexCMode;
    03627 class H245_GSMAudioCapability;
    03628 class H245_GenericCapability;
    03629 class H245_G729Extensions;
    03630 class H245_VBDMode;
    03631
    03632 class H245_AudioMode : public PASN_Choice
    03633 {
    03634 #ifndef PASN_LEANANDMEAN
    03635     PCLASSINFO(H245_AudioMode, PASN_Choice);
    03636 #endif
    03637   public:
    03638     H245_AudioMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03639
    03640     enum Choices {
    03641       e_nonStandard,
    03642       e_g711Alaw64k,
    03643       e_g711Alaw56k,
    03644       e_g711Ulaw64k,
    03645       e_g711Ulaw56k,
    03646       e_g722_64k,
    03647       e_g722_56k,
    03648       e_g722_48k,
    03649       e_g728,
    03650       e_g729,
    03651       e_g729AnnexA,
    03652       e_g7231,
    03653       e_is11172AudioMode,
    03654       e_is13818AudioMode,
    03655       e_g729wAnnexB,
    03656       e_g729AnnexAwAnnexB,
    03657       e_g7231AnnexCMode,
    03658       e_gsmFullRate,
    03659       e_gsmHalfRate,
    03660       e_gsmEnhancedFullRate,
    03661       e_genericAudioMode,
    03662       e_g729Extensions,
    03663       e_vbd
    03664     };
    03665
    03666 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03667     operator H245_NonStandardParameter &() const;
    03668 #else
    03669     operator H245_NonStandardParameter &();
    03670     operator const H245_NonStandardParameter &() const;
    03671 #endif
    03672 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03673     operator H245_AudioMode_g7231 &() const;
    03674 #else
    03675     operator H245_AudioMode_g7231 &();
    03676     operator const H245_AudioMode_g7231 &() const;
    03677 #endif
    03678 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03679     operator H245_IS11172AudioMode &() const;
    03680 #else
    03681     operator H245_IS11172AudioMode &();
    03682     operator const H245_IS11172AudioMode &() const;
    03683 #endif
    03684 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03685     operator H245_IS13818AudioMode &() const;
    03686 #else
    03687     operator H245_IS13818AudioMode &();
    03688     operator const H245_IS13818AudioMode &() const;
    03689 #endif
    03690 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03691     operator H245_G7231AnnexCMode &() const;
    03692 #else
    03693     operator H245_G7231AnnexCMode &();
    03694     operator const H245_G7231AnnexCMode &() const;
    03695 #endif
    03696 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03697     operator H245_GSMAudioCapability &() const;
    03698 #else
    03699     operator H245_GSMAudioCapability &();
    03700     operator const H245_GSMAudioCapability &() const;
    03701 #endif
    03702 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03703     operator H245_GenericCapability &() const;
    03704 #else
    03705     operator H245_GenericCapability &();
    03706     operator const H245_GenericCapability &() const;
    03707 #endif
    03708 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03709     operator H245_G729Extensions &() const;
    03710 #else
    03711     operator H245_G729Extensions &();
    03712     operator const H245_G729Extensions &() const;
    03713 #endif
    03714 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03715     operator H245_VBDMode &() const;
    03716 #else
    03717     operator H245_VBDMode &();
    03718     operator const H245_VBDMode &() const;
    03719 #endif
    03720
    03721     PBoolean CreateObject();
    03722     PObject * Clone() const;
    03723 };
    03724
    03725
    03726 //
    03727 // VBDMode
    03728 //
    03729
    03730 class H245_VBDMode : public PASN_Sequence
    03731 {
    03732 #ifndef PASN_LEANANDMEAN
    03733     PCLASSINFO(H245_VBDMode, PASN_Sequence);
    03734 #endif
    03735   public:
    03736     H245_VBDMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03737
    03738     H245_AudioMode m_type;
    03739
    03740     PINDEX GetDataLength() const;
    03741     PBoolean Decode(PASN_Stream & strm);
    03742     void Encode(PASN_Stream & strm) const;
    03743 #ifndef PASN_NOPRINTON
    03744     void PrintOn(ostream & strm) const;
    03745 #endif
    03746     Comparison Compare(const PObject & obj) const;
    03747     PObject * Clone() const;
    03748 };
    03749
    03750
    03751 //
    03752 // EncryptionMode
    03753 //
    03754
    03755 class H245_NonStandardParameter;
    03756
    03757 class H245_EncryptionMode : public PASN_Choice
    03758 {
    03759 #ifndef PASN_LEANANDMEAN
    03760     PCLASSINFO(H245_EncryptionMode, PASN_Choice);
    03761 #endif
    03762   public:
    03763     H245_EncryptionMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03764
    03765     enum Choices {
    03766       e_nonStandard,
    03767       e_h233Encryption
    03768     };
    03769
    03770 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03771     operator H245_NonStandardParameter &() const;
    03772 #else
    03773     operator H245_NonStandardParameter &();
    03774     operator const H245_NonStandardParameter &() const;
    03775 #endif
    03776
    03777     PBoolean CreateObject();
    03778     PObject * Clone() const;
    03779 };
    03780
    03781
    03782 //
    03783 // RoundTripDelayRequest
    03784 //
    03785
    03786 class H245_RoundTripDelayRequest : public PASN_Sequence
    03787 {
    03788 #ifndef PASN_LEANANDMEAN
    03789     PCLASSINFO(H245_RoundTripDelayRequest, PASN_Sequence);
    03790 #endif
    03791   public:
    03792     H245_RoundTripDelayRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03793
    03794     H245_SequenceNumber m_sequenceNumber;
    03795
    03796     PINDEX GetDataLength() const;
    03797     PBoolean Decode(PASN_Stream & strm);
    03798     void Encode(PASN_Stream & strm) const;
    03799 #ifndef PASN_NOPRINTON
    03800     void PrintOn(ostream & strm) const;
    03801 #endif
    03802     Comparison Compare(const PObject & obj) const;
    03803     PObject * Clone() const;
    03804 };
    03805
    03806
    03807 //
    03808 // RoundTripDelayResponse
    03809 //
    03810
    03811 class H245_RoundTripDelayResponse : public PASN_Sequence
    03812 {
    03813 #ifndef PASN_LEANANDMEAN
    03814     PCLASSINFO(H245_RoundTripDelayResponse, PASN_Sequence);
    03815 #endif
    03816   public:
    03817     H245_RoundTripDelayResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03818
    03819     H245_SequenceNumber m_sequenceNumber;
    03820
    03821     PINDEX GetDataLength() const;
    03822     PBoolean Decode(PASN_Stream & strm);
    03823     void Encode(PASN_Stream & strm) const;
    03824 #ifndef PASN_NOPRINTON
    03825     void PrintOn(ostream & strm) const;
    03826 #endif
    03827     Comparison Compare(const PObject & obj) const;
    03828     PObject * Clone() const;
    03829 };
    03830
    03831
    03832 //
    03833 // MaintenanceLoopOffCommand
    03834 //
    03835
    03836 class H245_MaintenanceLoopOffCommand : public PASN_Sequence
    03837 {
    03838 #ifndef PASN_LEANANDMEAN
    03839     PCLASSINFO(H245_MaintenanceLoopOffCommand, PASN_Sequence);
    03840 #endif
    03841   public:
    03842     H245_MaintenanceLoopOffCommand(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03843
    03844
    03845     PINDEX GetDataLength() const;
    03846     PBoolean Decode(PASN_Stream & strm);
    03847     void Encode(PASN_Stream & strm) const;
    03848 #ifndef PASN_NOPRINTON
    03849     void PrintOn(ostream & strm) const;
    03850 #endif
    03851     PObject * Clone() const;
    03852 };
    03853
    03854
    03855 //
    03856 // CommunicationModeRequest
    03857 //
    03858
    03859 class H245_CommunicationModeRequest : public PASN_Sequence
    03860 {
    03861 #ifndef PASN_LEANANDMEAN
    03862     PCLASSINFO(H245_CommunicationModeRequest, PASN_Sequence);
    03863 #endif
    03864   public:
    03865     H245_CommunicationModeRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03866
    03867
    03868     PINDEX GetDataLength() const;
    03869     PBoolean Decode(PASN_Stream & strm);
    03870     void Encode(PASN_Stream & strm) const;
    03871 #ifndef PASN_NOPRINTON
    03872     void PrintOn(ostream & strm) const;
    03873 #endif
    03874     PObject * Clone() const;
    03875 };
    03876
    03877
    03878 //
    03879 // CommunicationModeResponse
    03880 //
    03881
    03882 class H245_ArrayOf_CommunicationModeTableEntry;
    03883
    03884 class H245_CommunicationModeResponse : public PASN_Choice
    03885 {
    03886 #ifndef PASN_LEANANDMEAN
    03887     PCLASSINFO(H245_CommunicationModeResponse, PASN_Choice);
    03888 #endif
    03889   public:
    03890     H245_CommunicationModeResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03891
    03892     enum Choices {
    03893       e_communicationModeTable
    03894     };
    03895
    03896 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03897     operator H245_ArrayOf_CommunicationModeTableEntry &() const;
    03898 #else
    03899     operator H245_ArrayOf_CommunicationModeTableEntry &();
    03900     operator const H245_ArrayOf_CommunicationModeTableEntry &() const;
    03901 #endif
    03902
    03903     PBoolean CreateObject();
    03904     PObject * Clone() const;
    03905 };
    03906
    03907
    03908 //
    03909 // ConferenceRequest
    03910 //
    03911
    03912 class H245_TerminalLabel;
    03913 class H245_ConferenceRequest_requestTerminalCertificate;
    03914 class H245_LogicalChannelNumber;
    03915 class H245_RemoteMCRequest;
    03916
    03917 class H245_ConferenceRequest : public PASN_Choice
    03918 {
    03919 #ifndef PASN_LEANANDMEAN
    03920     PCLASSINFO(H245_ConferenceRequest, PASN_Choice);
    03921 #endif
    03922   public:
    03923     H245_ConferenceRequest(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    03924
    03925     enum Choices {
    03926       e_terminalListRequest,
    03927       e_makeMeChair,
    03928       e_cancelMakeMeChair,
    03929       e_dropTerminal,
    03930       e_requestTerminalID,
    03931       e_enterH243Password,
    03932       e_enterH243TerminalID,
    03933       e_enterH243ConferenceID,
    03934       e_enterExtensionAddress,
    03935       e_requestChairTokenOwner,
    03936       e_requestTerminalCertificate,
    03937       e_broadcastMyLogicalChannel,
    03938       e_makeTerminalBroadcaster,
    03939       e_sendThisSource,
    03940       e_requestAllTerminalIDs,
    03941       e_remoteMCRequest
    03942     };
    03943
    03944 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03945     operator H245_TerminalLabel &() const;
    03946 #else
    03947     operator H245_TerminalLabel &();
    03948     operator const H245_TerminalLabel &() const;
    03949 #endif
    03950 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03951     operator H245_ConferenceRequest_requestTerminalCertificate &() const;
    03952 #else
    03953     operator H245_ConferenceRequest_requestTerminalCertificate &();
    03954     operator const H245_ConferenceRequest_requestTerminalCertificate &() const;
    03955 #endif
    03956 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03957     operator H245_LogicalChannelNumber &() const;
    03958 #else
    03959     operator H245_LogicalChannelNumber &();
    03960     operator const H245_LogicalChannelNumber &() const;
    03961 #endif
    03962 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    03963     operator H245_RemoteMCRequest &() const;
    03964 #else
    03965     operator H245_RemoteMCRequest &();
    03966     operator const H245_RemoteMCRequest &() const;
    03967 #endif
    03968
    03969     PBoolean CreateObject();
    03970     PObject * Clone() const;
    03971 };
    03972
    03973
    03974 //
    03975 // CertSelectionCriteria
    03976 //
    03977
    03978 class H245_Criteria;
    03979
    03980 class H245_CertSelectionCriteria : public PASN_Array
    03981 {
    03982 #ifndef PASN_LEANANDMEAN
    03983     PCLASSINFO(H245_CertSelectionCriteria, PASN_Array);
    03984 #endif
    03985   public:
    03986     H245_CertSelectionCriteria(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03987
    03988     PASN_Object * CreateObject() const;
    03989     H245_Criteria & operator[](PINDEX i) const;
    03990     PObject * Clone() const;
    03991 };
    03992
    03993
    03994 //
    03995 // Criteria
    03996 //
    03997
    03998 class H245_Criteria : public PASN_Sequence
    03999 {
    04000 #ifndef PASN_LEANANDMEAN
    04001     PCLASSINFO(H245_Criteria, PASN_Sequence);
    04002 #endif
    04003   public:
    04004     H245_Criteria(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04005
    04006     PASN_ObjectId m_field;
    04007     PASN_OctetString m_value;
    04008
    04009     PINDEX GetDataLength() const;
    04010     PBoolean Decode(PASN_Stream & strm);
    04011     void Encode(PASN_Stream & strm) const;
    04012 #ifndef PASN_NOPRINTON
    04013     void PrintOn(ostream & strm) const;
    04014 #endif
    04015     Comparison Compare(const PObject & obj) const;
    04016     PObject * Clone() const;
    04017 };
    04018
    04019
    04020 //
    04021 // McuNumber
    04022 //
    04023
    04024 class H245_McuNumber : public PASN_Integer
    04025 {
    04026 #ifndef PASN_LEANANDMEAN
    04027     PCLASSINFO(H245_McuNumber, PASN_Integer);
    04028 #endif
    04029   public:
    04030     H245_McuNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    04031
    04032     H245_McuNumber & operator=(int v);
    04033     H245_McuNumber & operator=(unsigned v);
    04034     PObject * Clone() const;
    04035 };
    04036
    04037
    04038 //
    04039 // TerminalNumber
    04040 //
    04041
    04042 class H245_TerminalNumber : public PASN_Integer
    04043 {
    04044 #ifndef PASN_LEANANDMEAN
    04045     PCLASSINFO(H245_TerminalNumber, PASN_Integer);
    04046 #endif
    04047   public:
    04048     H245_TerminalNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    04049
    04050     H245_TerminalNumber & operator=(int v);
    04051     H245_TerminalNumber & operator=(unsigned v);
    04052     PObject * Clone() const;
    04053 };
    04054
    04055
    04056 //
    04057 // ConferenceResponse
    04058 //
    04059
    04060 class H245_ConferenceResponse_mCTerminalIDResponse;
    04061 class H245_ConferenceResponse_terminalIDResponse;
    04062 class H245_ConferenceResponse_conferenceIDResponse;
    04063 class H245_ConferenceResponse_passwordResponse;
    04064 class H245_ArrayOf_TerminalLabel;
    04065 class H245_ConferenceResponse_makeMeChairResponse;
    04066 class H245_ConferenceResponse_extensionAddressResponse;
    04067 class H245_ConferenceResponse_chairTokenOwnerResponse;
    04068 class H245_ConferenceResponse_terminalCertificateResponse;
    04069 class H245_ConferenceResponse_broadcastMyLogicalChannelResponse;
    04070 class H245_ConferenceResponse_makeTerminalBroadcasterResponse;
    04071 class H245_ConferenceResponse_sendThisSourceResponse;
    04072 class H245_RequestAllTerminalIDsResponse;
    04073 class H245_RemoteMCResponse;
    04074
    04075 class H245_ConferenceResponse : public PASN_Choice
    04076 {
    04077 #ifndef PASN_LEANANDMEAN
    04078     PCLASSINFO(H245_ConferenceResponse, PASN_Choice);
    04079 #endif
    04080   public:
    04081     H245_ConferenceResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04082
    04083     enum Choices {
    04084       e_mCTerminalIDResponse,
    04085       e_terminalIDResponse,
    04086       e_conferenceIDResponse,
    04087       e_passwordResponse,
    04088       e_terminalListResponse,
    04089       e_videoCommandReject,
    04090       e_terminalDropReject,
    04091       e_makeMeChairResponse,
    04092       e_extensionAddressResponse,
    04093       e_chairTokenOwnerResponse,
    04094       e_terminalCertificateResponse,
    04095       e_broadcastMyLogicalChannelResponse,
    04096       e_makeTerminalBroadcasterResponse,
    04097       e_sendThisSourceResponse,
    04098       e_requestAllTerminalIDsResponse,
    04099       e_remoteMCResponse
    04100     };
    04101
    04102 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04103     operator H245_ConferenceResponse_mCTerminalIDResponse &() const;
    04104 #else
    04105     operator H245_ConferenceResponse_mCTerminalIDResponse &();
    04106     operator const H245_ConferenceResponse_mCTerminalIDResponse &() const;
    04107 #endif
    04108 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04109     operator H245_ConferenceResponse_terminalIDResponse &() const;
    04110 #else
    04111     operator H245_ConferenceResponse_terminalIDResponse &();
    04112     operator const H245_ConferenceResponse_terminalIDResponse &() const;
    04113 #endif
    04114 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04115     operator H245_ConferenceResponse_conferenceIDResponse &() const;
    04116 #else
    04117     operator H245_ConferenceResponse_conferenceIDResponse &();
    04118     operator const H245_ConferenceResponse_conferenceIDResponse &() const;
    04119 #endif
    04120 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04121     operator H245_ConferenceResponse_passwordResponse &() const;
    04122 #else
    04123     operator H245_ConferenceResponse_passwordResponse &();
    04124     operator const H245_ConferenceResponse_passwordResponse &() const;
    04125 #endif
    04126 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04127     operator H245_ArrayOf_TerminalLabel &() const;
    04128 #else
    04129     operator H245_ArrayOf_TerminalLabel &();
    04130     operator const H245_ArrayOf_TerminalLabel &() const;
    04131 #endif
    04132 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04133     operator H245_ConferenceResponse_makeMeChairResponse &() const;
    04134 #else
    04135     operator H245_ConferenceResponse_makeMeChairResponse &();
    04136     operator const H245_ConferenceResponse_makeMeChairResponse &() const;
    04137 #endif
    04138 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04139     operator H245_ConferenceResponse_extensionAddressResponse &() const;
    04140 #else
    04141     operator H245_ConferenceResponse_extensionAddressResponse &();
    04142     operator const H245_ConferenceResponse_extensionAddressResponse &() const;
    04143 #endif
    04144 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04145     operator H245_ConferenceResponse_chairTokenOwnerResponse &() const;
    04146 #else
    04147     operator H245_ConferenceResponse_chairTokenOwnerResponse &();
    04148     operator const H245_ConferenceResponse_chairTokenOwnerResponse &() const;
    04149 #endif
    04150 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04151     operator H245_ConferenceResponse_terminalCertificateResponse &() const;
    04152 #else
    04153     operator H245_ConferenceResponse_terminalCertificateResponse &();
    04154     operator const H245_ConferenceResponse_terminalCertificateResponse &() const;
    04155 #endif
    04156 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04157     operator H245_ConferenceResponse_broadcastMyLogicalChannelResponse &() const;
    04158 #else
    04159     operator H245_ConferenceResponse_broadcastMyLogicalChannelResponse &();
    04160     operator const H245_ConferenceResponse_broadcastMyLogicalChannelResponse &() const;
    04161 #endif
    04162 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04163     operator H245_ConferenceResponse_makeTerminalBroadcasterResponse &() const;
    04164 #else
    04165     operator H245_ConferenceResponse_makeTerminalBroadcasterResponse &();
    04166     operator const H245_ConferenceResponse_makeTerminalBroadcasterResponse &() const;
    04167 #endif
    04168 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04169     operator H245_ConferenceResponse_sendThisSourceResponse &() const;
    04170 #else
    04171     operator H245_ConferenceResponse_sendThisSourceResponse &();
    04172     operator const H245_ConferenceResponse_sendThisSourceResponse &() const;
    04173 #endif
    04174 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04175     operator H245_RequestAllTerminalIDsResponse &() const;
    04176 #else
    04177     operator H245_RequestAllTerminalIDsResponse &();
    04178     operator const H245_RequestAllTerminalIDsResponse &() const;
    04179 #endif
    04180 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04181     operator H245_RemoteMCResponse &() const;
    04182 #else
    04183     operator H245_RemoteMCResponse &();
    04184     operator const H245_RemoteMCResponse &() const;
    04185 #endif
    04186
    04187     PBoolean CreateObject();
    04188     PObject * Clone() const;
    04189 };
    04190
    04191
    04192 //
    04193 // TerminalID
    04194 //
    04195
    04196 class H245_TerminalID : public PASN_OctetString
    04197 {
    04198 #ifndef PASN_LEANANDMEAN
    04199     PCLASSINFO(H245_TerminalID, PASN_OctetString);
    04200 #endif
    04201   public:
    04202     H245_TerminalID(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    04203
    04204     H245_TerminalID(const char * v);
    04205     H245_TerminalID(const PString & v);
    04206     H245_TerminalID(const PBYTEArray & v);
    04207
    04208     H245_TerminalID & operator=(const char * v);
    04209     H245_TerminalID & operator=(const PString & v);
    04210     H245_TerminalID & operator=(const PBYTEArray & v);
    04211     PObject * Clone() const;
    04212 };
    04213
    04214
    04215 //
    04216 // ConferenceID
    04217 //
    04218
    04219 class H245_ConferenceID : public PASN_OctetString
    04220 {
    04221 #ifndef PASN_LEANANDMEAN
    04222     PCLASSINFO(H245_ConferenceID, PASN_OctetString);
    04223 #endif
    04224   public:
    04225     H245_ConferenceID(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    04226
    04227     H245_ConferenceID(const char * v);
    04228     H245_ConferenceID(const PString & v);
    04229     H245_ConferenceID(const PBYTEArray & v);
    04230
    04231     H245_ConferenceID & operator=(const char * v);
    04232     H245_ConferenceID & operator=(const PString & v);
    04233     H245_ConferenceID & operator=(const PBYTEArray & v);
    04234     PObject * Clone() const;
    04235 };
    04236
    04237
    04238 //
    04239 // Password
    04240 //
    04241
    04242 class H245_Password : public PASN_OctetString
    04243 {
    04244 #ifndef PASN_LEANANDMEAN
    04245     PCLASSINFO(H245_Password, PASN_OctetString);
    04246 #endif
    04247   public:
    04248     H245_Password(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    04249
    04250     H245_Password(const char * v);
    04251     H245_Password(const PString & v);
    04252     H245_Password(const PBYTEArray & v);
    04253
    04254     H245_Password & operator=(const char * v);
    04255     H245_Password & operator=(const PString & v);
    04256     H245_Password & operator=(const PBYTEArray & v);
    04257     PObject * Clone() const;
    04258 };
    04259
    04260
    04261 //
    04262 // RemoteMCRequest
    04263 //
    04264
    04265 class H245_RemoteMCRequest : public PASN_Choice
    04266 {
    04267 #ifndef PASN_LEANANDMEAN
    04268     PCLASSINFO(H245_RemoteMCRequest, PASN_Choice);
    04269 #endif
    04270   public:
    04271     H245_RemoteMCRequest(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04272
    04273     enum Choices {
    04274       e_masterActivate,
    04275       e_slaveActivate,
    04276       e_deActivate
    04277     };
    04278
    04279     PBoolean CreateObject();
    04280     PObject * Clone() const;
    04281 };
    04282
    04283
    04284 //
    04285 // RemoteMCResponse
    04286 //
    04287
    04288 class H245_RemoteMCResponse_reject;
    04289
    04290 class H245_RemoteMCResponse : public PASN_Choice
    04291 {
    04292 #ifndef PASN_LEANANDMEAN
    04293     PCLASSINFO(H245_RemoteMCResponse, PASN_Choice);
    04294 #endif
    04295   public:
    04296     H245_RemoteMCResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04297
    04298     enum Choices {
    04299       e_accept,
    04300       e_reject
    04301     };
    04302
    04303 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04304     operator H245_RemoteMCResponse_reject &() const;
    04305 #else
    04306     operator H245_RemoteMCResponse_reject &();
    04307     operator const H245_RemoteMCResponse_reject &() const;
    04308 #endif
    04309
    04310     PBoolean CreateObject();
    04311     PObject * Clone() const;
    04312 };
    04313
    04314
    04315 //
    04316 // MultilinkRequest
    04317 //
    04318
    04319 class H245_NonStandardMessage;
    04320 class H245_MultilinkRequest_callInformation;
    04321 class H245_MultilinkRequest_addConnection;
    04322 class H245_MultilinkRequest_removeConnection;
    04323 class H245_MultilinkRequest_maximumHeaderInterval;
    04324
    04325 class H245_MultilinkRequest : public PASN_Choice
    04326 {
    04327 #ifndef PASN_LEANANDMEAN
    04328     PCLASSINFO(H245_MultilinkRequest, PASN_Choice);
    04329 #endif
    04330   public:
    04331     H245_MultilinkRequest(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04332
    04333     enum Choices {
    04334       e_nonStandard,
    04335       e_callInformation,
    04336       e_addConnection,
    04337       e_removeConnection,
    04338       e_maximumHeaderInterval
    04339     };
    04340
    04341 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04342     operator H245_NonStandardMessage &() const;
    04343 #else
    04344     operator H245_NonStandardMessage &();
    04345     operator const H245_NonStandardMessage &() const;
    04346 #endif
    04347 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04348     operator H245_MultilinkRequest_callInformation &() const;
    04349 #else
    04350     operator H245_MultilinkRequest_callInformation &();
    04351     operator const H245_MultilinkRequest_callInformation &() const;
    04352 #endif
    04353 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04354     operator H245_MultilinkRequest_addConnection &() const;
    04355 #else
    04356     operator H245_MultilinkRequest_addConnection &();
    04357     operator const H245_MultilinkRequest_addConnection &() const;
    04358 #endif
    04359 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04360     operator H245_MultilinkRequest_removeConnection &() const;
    04361 #else
    04362     operator H245_MultilinkRequest_removeConnection &();
    04363     operator const H245_MultilinkRequest_removeConnection &() const;
    04364 #endif
    04365 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04366     operator H245_MultilinkRequest_maximumHeaderInterval &() const;
    04367 #else
    04368     operator H245_MultilinkRequest_maximumHeaderInterval &();
    04369     operator const H245_MultilinkRequest_maximumHeaderInterval &() const;
    04370 #endif
    04371
    04372     PBoolean CreateObject();
    04373     PObject * Clone() const;
    04374 };
    04375
    04376
    04377 //
    04378 // MultilinkResponse
    04379 //
    04380
    04381 class H245_NonStandardMessage;
    04382 class H245_MultilinkResponse_callInformation;
    04383 class H245_MultilinkResponse_addConnection;
    04384 class H245_MultilinkResponse_removeConnection;
    04385 class H245_MultilinkResponse_maximumHeaderInterval;
    04386
    04387 class H245_MultilinkResponse : public PASN_Choice
    04388 {
    04389 #ifndef PASN_LEANANDMEAN
    04390     PCLASSINFO(H245_MultilinkResponse, PASN_Choice);
    04391 #endif
    04392   public:
    04393     H245_MultilinkResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04394
    04395     enum Choices {
    04396       e_nonStandard,
    04397       e_callInformation,
    04398       e_addConnection,
    04399       e_removeConnection,
    04400       e_maximumHeaderInterval
    04401     };
    04402
    04403 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04404     operator H245_NonStandardMessage &() const;
    04405 #else
    04406     operator H245_NonStandardMessage &();
    04407     operator const H245_NonStandardMessage &() const;
    04408 #endif
    04409 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04410     operator H245_MultilinkResponse_callInformation &() const;
    04411 #else
    04412     operator H245_MultilinkResponse_callInformation &();
    04413     operator const H245_MultilinkResponse_callInformation &() const;
    04414 #endif
    04415 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04416     operator H245_MultilinkResponse_addConnection &() const;
    04417 #else
    04418     operator H245_MultilinkResponse_addConnection &();
    04419     operator const H245_MultilinkResponse_addConnection &() const;
    04420 #endif
    04421 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04422     operator H245_MultilinkResponse_removeConnection &() const;
    04423 #else
    04424     operator H245_MultilinkResponse_removeConnection &();
    04425     operator const H245_MultilinkResponse_removeConnection &() const;
    04426 #endif
    04427 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04428     operator H245_MultilinkResponse_maximumHeaderInterval &() const;
    04429 #else
    04430     operator H245_MultilinkResponse_maximumHeaderInterval &();
    04431     operator const H245_MultilinkResponse_maximumHeaderInterval &() const;
    04432 #endif
    04433
    04434     PBoolean CreateObject();
    04435     PObject * Clone() const;
    04436 };
    04437
    04438
    04439 //
    04440 // MultilinkIndication
    04441 //
    04442
    04443 class H245_NonStandardMessage;
    04444 class H245_MultilinkIndication_crcDesired;
    04445 class H245_MultilinkIndication_excessiveError;
    04446
    04447 class H245_MultilinkIndication : public PASN_Choice
    04448 {
    04449 #ifndef PASN_LEANANDMEAN
    04450     PCLASSINFO(H245_MultilinkIndication, PASN_Choice);
    04451 #endif
    04452   public:
    04453     H245_MultilinkIndication(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04454
    04455     enum Choices {
    04456       e_nonStandard,
    04457       e_crcDesired,
    04458       e_excessiveError
    04459     };
    04460
    04461 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04462     operator H245_NonStandardMessage &() const;
    04463 #else
    04464     operator H245_NonStandardMessage &();
    04465     operator const H245_NonStandardMessage &() const;
    04466 #endif
    04467 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04468     operator H245_MultilinkIndication_crcDesired &() const;
    04469 #else
    04470     operator H245_MultilinkIndication_crcDesired &();
    04471     operator const H245_MultilinkIndication_crcDesired &() const;
    04472 #endif
    04473 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04474     operator H245_MultilinkIndication_excessiveError &() const;
    04475 #else
    04476     operator H245_MultilinkIndication_excessiveError &();
    04477     operator const H245_MultilinkIndication_excessiveError &() const;
    04478 #endif
    04479
    04480     PBoolean CreateObject();
    04481     PObject * Clone() const;
    04482 };
    04483
    04484
    04485 //
    04486 // DialingInformation
    04487 //
    04488
    04489 class H245_NonStandardMessage;
    04490 class H245_ArrayOf_DialingInformationNumber;
    04491
    04492 class H245_DialingInformation : public PASN_Choice
    04493 {
    04494 #ifndef PASN_LEANANDMEAN
    04495     PCLASSINFO(H245_DialingInformation, PASN_Choice);
    04496 #endif
    04497   public:
    04498     H245_DialingInformation(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04499
    04500     enum Choices {
    04501       e_nonStandard,
    04502       e_differential,
    04503       e_infoNotAvailable
    04504     };
    04505
    04506 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04507     operator H245_NonStandardMessage &() const;
    04508 #else
    04509     operator H245_NonStandardMessage &();
    04510     operator const H245_NonStandardMessage &() const;
    04511 #endif
    04512 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04513     operator H245_ArrayOf_DialingInformationNumber &() const;
    04514 #else
    04515     operator H245_ArrayOf_DialingInformationNumber &();
    04516     operator const H245_ArrayOf_DialingInformationNumber &() const;
    04517 #endif
    04518
    04519     PBoolean CreateObject();
    04520     PObject * Clone() const;
    04521 };
    04522
    04523
    04524 //
    04525 // DialingInformationNetworkType
    04526 //
    04527
    04528 class H245_NonStandardMessage;
    04529
    04530 class H245_DialingInformationNetworkType : public PASN_Choice
    04531 {
    04532 #ifndef PASN_LEANANDMEAN
    04533     PCLASSINFO(H245_DialingInformationNetworkType, PASN_Choice);
    04534 #endif
    04535   public:
    04536     H245_DialingInformationNetworkType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04537
    04538     enum Choices {
    04539       e_nonStandard,
    04540       e_n_isdn,
    04541       e_gstn,
    04542       e_mobile
    04543     };
    04544
    04545 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04546     operator H245_NonStandardMessage &() const;
    04547 #else
    04548     operator H245_NonStandardMessage &();
    04549     operator const H245_NonStandardMessage &() const;
    04550 #endif
    04551
    04552     PBoolean CreateObject();
    04553     PObject * Clone() const;
    04554 };
    04555
    04556
    04557 //
    04558 // ConnectionIdentifier
    04559 //
    04560
    04561 class H245_ConnectionIdentifier : public PASN_Sequence
    04562 {
    04563 #ifndef PASN_LEANANDMEAN
    04564     PCLASSINFO(H245_ConnectionIdentifier, PASN_Sequence);
    04565 #endif
    04566   public:
    04567     H245_ConnectionIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04568
    04569     PASN_Integer m_channelTag;
    04570     PASN_Integer m_sequenceNumber;
    04571
    04572     PINDEX GetDataLength() const;
    04573     PBoolean Decode(PASN_Stream & strm);
    04574     void Encode(PASN_Stream & strm) const;
    04575 #ifndef PASN_NOPRINTON
    04576     void PrintOn(ostream & strm) const;
    04577 #endif
    04578     Comparison Compare(const PObject & obj) const;
    04579     PObject * Clone() const;
    04580 };
    04581
    04582
    04583 //
    04584 // MaximumBitRate
    04585 //
    04586
    04587 class H245_MaximumBitRate : public PASN_Integer
    04588 {
    04589 #ifndef PASN_LEANANDMEAN
    04590     PCLASSINFO(H245_MaximumBitRate, PASN_Integer);
    04591 #endif
    04592   public:
    04593     H245_MaximumBitRate(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    04594
    04595     H245_MaximumBitRate & operator=(int v);
    04596     H245_MaximumBitRate & operator=(unsigned v);
    04597     PObject * Clone() const;
    04598 };
    04599
    04600
    04601 //
    04602 // LogicalChannelRateRequest
    04603 //
    04604
    04605 class H245_LogicalChannelRateRequest : public PASN_Sequence
    04606 {
    04607 #ifndef PASN_LEANANDMEAN
    04608     PCLASSINFO(H245_LogicalChannelRateRequest, PASN_Sequence);
    04609 #endif
    04610   public:
    04611     H245_LogicalChannelRateRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04612
    04613     H245_SequenceNumber m_sequenceNumber;
    04614     H245_LogicalChannelNumber m_logicalChannelNumber;
    04615     H245_MaximumBitRate m_maximumBitRate;
    04616
    04617     PINDEX GetDataLength() const;
    04618     PBoolean Decode(PASN_Stream & strm);
    04619     void Encode(PASN_Stream & strm) const;
    04620 #ifndef PASN_NOPRINTON
    04621     void PrintOn(ostream & strm) const;
    04622 #endif
    04623     Comparison Compare(const PObject & obj) const;
    04624     PObject * Clone() const;
    04625 };
    04626
    04627
    04628 //
    04629 // LogicalChannelRateAcknowledge
    04630 //
    04631
    04632 class H245_LogicalChannelRateAcknowledge : public PASN_Sequence
    04633 {
    04634 #ifndef PASN_LEANANDMEAN
    04635     PCLASSINFO(H245_LogicalChannelRateAcknowledge, PASN_Sequence);
    04636 #endif
    04637   public:
    04638     H245_LogicalChannelRateAcknowledge(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04639
    04640     H245_SequenceNumber m_sequenceNumber;
    04641     H245_LogicalChannelNumber m_logicalChannelNumber;
    04642     H245_MaximumBitRate m_maximumBitRate;
    04643
    04644     PINDEX GetDataLength() const;
    04645     PBoolean Decode(PASN_Stream & strm);
    04646     void Encode(PASN_Stream & strm) const;
    04647 #ifndef PASN_NOPRINTON
    04648     void PrintOn(ostream & strm) const;
    04649 #endif
    04650     Comparison Compare(const PObject & obj) const;
    04651     PObject * Clone() const;
    04652 };
    04653
    04654
    04655 //
    04656 // LogicalChannelRateRejectReason
    04657 //
    04658
    04659 class H245_LogicalChannelRateRejectReason : public PASN_Choice
    04660 {
    04661 #ifndef PASN_LEANANDMEAN
    04662     PCLASSINFO(H245_LogicalChannelRateRejectReason, PASN_Choice);
    04663 #endif
    04664   public:
    04665     H245_LogicalChannelRateRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04666
    04667     enum Choices {
    04668       e_undefinedReason,
    04669       e_insufficientResources
    04670     };
    04671
    04672     PBoolean CreateObject();
    04673     PObject * Clone() const;
    04674 };
    04675
    04676
    04677 //
    04678 // LogicalChannelRateRelease
    04679 //
    04680
    04681 class H245_LogicalChannelRateRelease : public PASN_Sequence
    04682 {
    04683 #ifndef PASN_LEANANDMEAN
    04684     PCLASSINFO(H245_LogicalChannelRateRelease, PASN_Sequence);
    04685 #endif
    04686   public:
    04687     H245_LogicalChannelRateRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04688
    04689
    04690     PINDEX GetDataLength() const;
    04691     PBoolean Decode(PASN_Stream & strm);
    04692     void Encode(PASN_Stream & strm) const;
    04693 #ifndef PASN_NOPRINTON
    04694     void PrintOn(ostream & strm) const;
    04695 #endif
    04696     PObject * Clone() const;
    04697 };
    04698
    04699
    04700 //
    04701 // SendTerminalCapabilitySet
    04702 //
    04703
    04704 class H245_SendTerminalCapabilitySet_specificRequest;
    04705
    04706 class H245_SendTerminalCapabilitySet : public PASN_Choice
    04707 {
    04708 #ifndef PASN_LEANANDMEAN
    04709     PCLASSINFO(H245_SendTerminalCapabilitySet, PASN_Choice);
    04710 #endif
    04711   public:
    04712     H245_SendTerminalCapabilitySet(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04713
    04714     enum Choices {
    04715       e_specificRequest,
    04716       e_genericRequest
    04717     };
    04718
    04719 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04720     operator H245_SendTerminalCapabilitySet_specificRequest &() const;
    04721 #else
    04722     operator H245_SendTerminalCapabilitySet_specificRequest &();
    04723     operator const H245_SendTerminalCapabilitySet_specificRequest &() const;
    04724 #endif
    04725
    04726     PBoolean CreateObject();
    04727     PObject * Clone() const;
    04728 };
    04729
    04730
    04731 //
    04732 // EncryptionCommand
    04733 //
    04734
    04735 class H245_EncryptionCommand_encryptionAlgorithmID;
    04736
    04737 class H245_EncryptionCommand : public PASN_Choice
    04738 {
    04739 #ifndef PASN_LEANANDMEAN
    04740     PCLASSINFO(H245_EncryptionCommand, PASN_Choice);
    04741 #endif
    04742   public:
    04743     H245_EncryptionCommand(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04744
    04745     enum Choices {
    04746       e_encryptionSE,
    04747       e_encryptionIVRequest,
    04748       e_encryptionAlgorithmID
    04749     };
    04750
    04751 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04752     operator H245_EncryptionCommand_encryptionAlgorithmID &() const;
    04753 #else
    04754     operator H245_EncryptionCommand_encryptionAlgorithmID &();
    04755     operator const H245_EncryptionCommand_encryptionAlgorithmID &() const;
    04756 #endif
    04757
    04758     PBoolean CreateObject();
    04759     PObject * Clone() const;
    04760 };
    04761
    04762
    04763 //
    04764 // EndSessionCommand
    04765 //
    04766
    04767 class H245_NonStandardParameter;
    04768 class H245_EndSessionCommand_gstnOptions;
    04769 class H245_EndSessionCommand_isdnOptions;
    04770 class H245_ArrayOf_GenericInformation;
    04771
    04772 class H245_EndSessionCommand : public PASN_Choice
    04773 {
    04774 #ifndef PASN_LEANANDMEAN
    04775     PCLASSINFO(H245_EndSessionCommand, PASN_Choice);
    04776 #endif
    04777   public:
    04778     H245_EndSessionCommand(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04779
    04780     enum Choices {
    04781       e_nonStandard,
    04782       e_disconnect,
    04783       e_gstnOptions,
    04784       e_isdnOptions,
    04785       e_genericInformation
    04786     };
    04787
    04788 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04789     operator H245_NonStandardParameter &() const;
    04790 #else
    04791     operator H245_NonStandardParameter &();
    04792     operator const H245_NonStandardParameter &() const;
    04793 #endif
    04794 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04795     operator H245_EndSessionCommand_gstnOptions &() const;
    04796 #else
    04797     operator H245_EndSessionCommand_gstnOptions &();
    04798     operator const H245_EndSessionCommand_gstnOptions &() const;
    04799 #endif
    04800 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04801     operator H245_EndSessionCommand_isdnOptions &() const;
    04802 #else
    04803     operator H245_EndSessionCommand_isdnOptions &();
    04804     operator const H245_EndSessionCommand_isdnOptions &() const;
    04805 #endif
    04806 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04807     operator H245_ArrayOf_GenericInformation &() const;
    04808 #else
    04809     operator H245_ArrayOf_GenericInformation &();
    04810     operator const H245_ArrayOf_GenericInformation &() const;
    04811 #endif
    04812
    04813     PBoolean CreateObject();
    04814     PObject * Clone() const;
    04815 };
    04816
    04817
    04818 //
    04819 // ConferenceCommand
    04820 //
    04821
    04822 class H245_LogicalChannelNumber;
    04823 class H245_TerminalLabel;
    04824 class H245_SubstituteConferenceIDCommand;
    04825
    04826 class H245_ConferenceCommand : public PASN_Choice
    04827 {
    04828 #ifndef PASN_LEANANDMEAN
    04829     PCLASSINFO(H245_ConferenceCommand, PASN_Choice);
    04830 #endif
    04831   public:
    04832     H245_ConferenceCommand(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04833
    04834     enum Choices {
    04835       e_broadcastMyLogicalChannel,
    04836       e_cancelBroadcastMyLogicalChannel,
    04837       e_makeTerminalBroadcaster,
    04838       e_cancelMakeTerminalBroadcaster,
    04839       e_sendThisSource,
    04840       e_cancelSendThisSource,
    04841       e_dropConference,
    04842       e_substituteConferenceIDCommand
    04843     };
    04844
    04845 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04846     operator H245_LogicalChannelNumber &() const;
    04847 #else
    04848     operator H245_LogicalChannelNumber &();
    04849     operator const H245_LogicalChannelNumber &() const;
    04850 #endif
    04851 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04852     operator H245_TerminalLabel &() const;
    04853 #else
    04854     operator H245_TerminalLabel &();
    04855     operator const H245_TerminalLabel &() const;
    04856 #endif
    04857 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    04858     operator H245_SubstituteConferenceIDCommand &() const;
    04859 #else
    04860     operator H245_SubstituteConferenceIDCommand &();
    04861     operator const H245_SubstituteConferenceIDCommand &() const;
    04862 #endif
    04863
    04864     PBoolean CreateObject();
    04865     PObject * Clone() const;
    04866 };
    04867
    04868
    04869 //
    04870 // SubstituteConferenceIDCommand
    04871 //
    04872
    04873 class H245_SubstituteConferenceIDCommand : public PASN_Sequence
    04874 {
    04875 #ifndef PASN_LEANANDMEAN
    04876     PCLASSINFO(H245_SubstituteConferenceIDCommand, PASN_Sequence);
    04877 #endif
    04878   public:
    04879     H245_SubstituteConferenceIDCommand(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04880
    04881     PASN_OctetString m_conferenceIdentifier;
    04882
    04883     PINDEX GetDataLength() const;
    04884     PBoolean Decode(PASN_Stream & strm);
    04885     void Encode(PASN_Stream & strm) const;
    04886 #ifndef PASN_NOPRINTON
    04887     void PrintOn(ostream & strm) const;
    04888 #endif
    04889     Comparison Compare(const PObject & obj) const;
    04890     PObject * Clone() const;
    04891 };
    04892
    04893
    04894 //
    04895 // EncryptionUpdateDirection
    04896 //
    04897
    04898 class H245_EncryptionUpdateDirection : public PASN_Choice
    04899 {
    04900 #ifndef PASN_LEANANDMEAN
    04901     PCLASSINFO(H245_EncryptionUpdateDirection, PASN_Choice);
    04902 #endif
    04903   public:
    04904     H245_EncryptionUpdateDirection(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04905
    04906     enum Choices {
    04907       e_masterToSlave,
    04908       e_slaveToMaster
    04909     };
    04910
    04911     PBoolean CreateObject();
    04912     PObject * Clone() const;
    04913 };
    04914
    04915
    04916 //
    04917 // KeyProtectionMethod
    04918 //
    04919
    04920 class H245_KeyProtectionMethod : public PASN_Sequence
    04921 {
    04922 #ifndef PASN_LEANANDMEAN
    04923     PCLASSINFO(H245_KeyProtectionMethod, PASN_Sequence);
    04924 #endif
    04925   public:
    04926     H245_KeyProtectionMethod(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04927
    04928     PASN_Boolean m_secureChannel;
    04929     PASN_Boolean m_sharedSecret;
    04930     PASN_Boolean m_certProtectedKey;
    04931
    04932     PINDEX GetDataLength() const;
    04933     PBoolean Decode(PASN_Stream & strm);
    04934     void Encode(PASN_Stream & strm) const;
    04935 #ifndef PASN_NOPRINTON
    04936     void PrintOn(ostream & strm) const;
    04937 #endif
    04938     Comparison Compare(const PObject & obj) const;
    04939     PObject * Clone() const;
    04940 };
    04941
    04942
    04943 //
    04944 // EncryptionUpdateRequest
    04945 //
    04946
    04947 class H245_EncryptionUpdateRequest : public PASN_Sequence
    04948 {
    04949 #ifndef PASN_LEANANDMEAN
    04950     PCLASSINFO(H245_EncryptionUpdateRequest, PASN_Sequence);
    04951 #endif
    04952   public:
    04953     H245_EncryptionUpdateRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04954
    04955     enum OptionalFields {
    04956       e_keyProtectionMethod,
    04957       e_synchFlag
    04958     };
    04959
    04960     H245_KeyProtectionMethod m_keyProtectionMethod;
    04961     PASN_Integer m_synchFlag;
    04962
    04963     PINDEX GetDataLength() const;
    04964     PBoolean Decode(PASN_Stream & strm);
    04965     void Encode(PASN_Stream & strm) const;
    04966 #ifndef PASN_NOPRINTON
    04967     void PrintOn(ostream & strm) const;
    04968 #endif
    04969     Comparison Compare(const PObject & obj) const;
    04970     PObject * Clone() const;
    04971 };
    04972
    04973
    04974 //
    04975 // PictureReference
    04976 //
    04977
    04978 class H245_PictureReference : public PASN_Choice
    04979 {
    04980 #ifndef PASN_LEANANDMEAN
    04981     PCLASSINFO(H245_PictureReference, PASN_Choice);
    04982 #endif
    04983   public:
    04984     H245_PictureReference(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    04985
    04986     enum Choices {
    04987       e_pictureNumber,
    04988       e_longTermPictureIndex
    04989     };
    04990
    04991     PBoolean CreateObject();
    04992     PObject * Clone() const;
    04993 };
    04994
    04995
    04996 //
    04997 // H223MultiplexReconfiguration
    04998 //
    04999
    05000 class H245_H223MultiplexReconfiguration_h223ModeChange;
    05001 class H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag;
    05002
    05003 class H245_H223MultiplexReconfiguration : public PASN_Choice
    05004 {
    05005 #ifndef PASN_LEANANDMEAN
    05006     PCLASSINFO(H245_H223MultiplexReconfiguration, PASN_Choice);
    05007 #endif
    05008   public:
    05009     H245_H223MultiplexReconfiguration(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    05010
    05011     enum Choices {
    05012       e_h223ModeChange,
    05013       e_h223AnnexADoubleFlag
    05014     };
    05015
    05016 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05017     operator H245_H223MultiplexReconfiguration_h223ModeChange &() const;
    05018 #else
    05019     operator H245_H223MultiplexReconfiguration_h223ModeChange &();
    05020     operator const H245_H223MultiplexReconfiguration_h223ModeChange &() const;
    05021 #endif
    05022 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05023     operator H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag &() const;
    05024 #else
    05025     operator H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag &();
    05026     operator const H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag &() const;
    05027 #endif
    05028
    05029     PBoolean CreateObject();
    05030     PObject * Clone() const;
    05031 };
    05032
    05033
    05034 //
    05035 // FunctionNotUnderstood
    05036 //
    05037
    05038 class H245_RequestMessage;
    05039 class H245_ResponseMessage;
    05040 class H245_CommandMessage;
    05041
    05042 class H245_FunctionNotUnderstood : public PASN_Choice
    05043 {
    05044 #ifndef PASN_LEANANDMEAN
    05045     PCLASSINFO(H245_FunctionNotUnderstood, PASN_Choice);
    05046 #endif
    05047   public:
    05048     H245_FunctionNotUnderstood(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    05049
    05050     enum Choices {
    05051       e_request,
    05052       e_response,
    05053       e_command
    05054     };
    05055
    05056 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05057     operator H245_RequestMessage &() const;
    05058 #else
    05059     operator H245_RequestMessage &();
    05060     operator const H245_RequestMessage &() const;
    05061 #endif
    05062 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05063     operator H245_ResponseMessage &() const;
    05064 #else
    05065     operator H245_ResponseMessage &();
    05066     operator const H245_ResponseMessage &() const;
    05067 #endif
    05068 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05069     operator H245_CommandMessage &() const;
    05070 #else
    05071     operator H245_CommandMessage &();
    05072     operator const H245_CommandMessage &() const;
    05073 #endif
    05074
    05075     PBoolean CreateObject();
    05076     PObject * Clone() const;
    05077 };
    05078
    05079
    05080 //
    05081 // ConferenceIndication
    05082 //
    05083
    05084 class H245_TerminalLabel;
    05085 class H245_TerminalYouAreSeeingInSubPictureNumber;
    05086 class H245_VideoIndicateCompose;
    05087
    05088 class H245_ConferenceIndication : public PASN_Choice
    05089 {
    05090 #ifndef PASN_LEANANDMEAN
    05091     PCLASSINFO(H245_ConferenceIndication, PASN_Choice);
    05092 #endif
    05093   public:
    05094     H245_ConferenceIndication(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    05095
    05096     enum Choices {
    05097       e_sbeNumber,
    05098       e_terminalNumberAssign,
    05099       e_terminalJoinedConference,
    05100       e_terminalLeftConference,
    05101       e_seenByAtLeastOneOther,
    05102       e_cancelSeenByAtLeastOneOther,
    05103       e_seenByAll,
    05104       e_cancelSeenByAll,
    05105       e_terminalYouAreSeeing,
    05106       e_requestForFloor,
    05107       e_withdrawChairToken,
    05108       e_floorRequested,
    05109       e_terminalYouAreSeeingInSubPictureNumber,
    05110       e_videoIndicateCompose
    05111     };
    05112
    05113 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05114     operator H245_TerminalLabel &() const;
    05115 #else
    05116     operator H245_TerminalLabel &();
    05117     operator const H245_TerminalLabel &() const;
    05118 #endif
    05119 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05120     operator H245_TerminalYouAreSeeingInSubPictureNumber &() const;
    05121 #else
    05122     operator H245_TerminalYouAreSeeingInSubPictureNumber &();
    05123     operator const H245_TerminalYouAreSeeingInSubPictureNumber &() const;
    05124 #endif
    05125 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05126     operator H245_VideoIndicateCompose &() const;
    05127 #else
    05128     operator H245_VideoIndicateCompose &();
    05129     operator const H245_VideoIndicateCompose &() const;
    05130 #endif
    05131
    05132     PBoolean CreateObject();
    05133     PObject * Clone() const;
    05134 };
    05135
    05136
    05137 //
    05138 // TerminalYouAreSeeingInSubPictureNumber
    05139 //
    05140
    05141 class H245_TerminalYouAreSeeingInSubPictureNumber : public PASN_Sequence
    05142 {
    05143 #ifndef PASN_LEANANDMEAN
    05144     PCLASSINFO(H245_TerminalYouAreSeeingInSubPictureNumber, PASN_Sequence);
    05145 #endif
    05146   public:
    05147     H245_TerminalYouAreSeeingInSubPictureNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05148
    05149     H245_TerminalNumber m_terminalNumber;
    05150     PASN_Integer m_subPictureNumber;
    05151
    05152     PINDEX GetDataLength() const;
    05153     PBoolean Decode(PASN_Stream & strm);
    05154     void Encode(PASN_Stream & strm) const;
    05155 #ifndef PASN_NOPRINTON
    05156     void PrintOn(ostream & strm) const;
    05157 #endif
    05158     Comparison Compare(const PObject & obj) const;
    05159     PObject * Clone() const;
    05160 };
    05161
    05162
    05163 //
    05164 // VideoIndicateCompose
    05165 //
    05166
    05167 class H245_VideoIndicateCompose : public PASN_Sequence
    05168 {
    05169 #ifndef PASN_LEANANDMEAN
    05170     PCLASSINFO(H245_VideoIndicateCompose, PASN_Sequence);
    05171 #endif
    05172   public:
    05173     H245_VideoIndicateCompose(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05174
    05175     PASN_Integer m_compositionNumber;
    05176
    05177     PINDEX GetDataLength() const;
    05178     PBoolean Decode(PASN_Stream & strm);
    05179     void Encode(PASN_Stream & strm) const;
    05180 #ifndef PASN_NOPRINTON
    05181     void PrintOn(ostream & strm) const;
    05182 #endif
    05183     Comparison Compare(const PObject & obj) const;
    05184     PObject * Clone() const;
    05185 };
    05186
    05187
    05188 //
    05189 // H223SkewIndication
    05190 //
    05191
    05192 class H245_H223SkewIndication : public PASN_Sequence
    05193 {
    05194 #ifndef PASN_LEANANDMEAN
    05195     PCLASSINFO(H245_H223SkewIndication, PASN_Sequence);
    05196 #endif
    05197   public:
    05198     H245_H223SkewIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05199
    05200     H245_LogicalChannelNumber m_logicalChannelNumber1;
    05201     H245_LogicalChannelNumber m_logicalChannelNumber2;
    05202     PASN_Integer m_skew;
    05203
    05204     PINDEX GetDataLength() const;
    05205     PBoolean Decode(PASN_Stream & strm);
    05206     void Encode(PASN_Stream & strm) const;
    05207 #ifndef PASN_NOPRINTON
    05208     void PrintOn(ostream & strm) const;
    05209 #endif
    05210     Comparison Compare(const PObject & obj) const;
    05211     PObject * Clone() const;
    05212 };
    05213
    05214
    05215 //
    05216 // H2250MaximumSkewIndication
    05217 //
    05218
    05219 class H245_H2250MaximumSkewIndication : public PASN_Sequence
    05220 {
    05221 #ifndef PASN_LEANANDMEAN
    05222     PCLASSINFO(H245_H2250MaximumSkewIndication, PASN_Sequence);
    05223 #endif
    05224   public:
    05225     H245_H2250MaximumSkewIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05226
    05227     H245_LogicalChannelNumber m_logicalChannelNumber1;
    05228     H245_LogicalChannelNumber m_logicalChannelNumber2;
    05229     PASN_Integer m_maximumSkew;
    05230
    05231     PINDEX GetDataLength() const;
    05232     PBoolean Decode(PASN_Stream & strm);
    05233     void Encode(PASN_Stream & strm) const;
    05234 #ifndef PASN_NOPRINTON
    05235     void PrintOn(ostream & strm) const;
    05236 #endif
    05237     Comparison Compare(const PObject & obj) const;
    05238     PObject * Clone() const;
    05239 };
    05240
    05241
    05242 //
    05243 // MCLocationIndication
    05244 //
    05245
    05246 class H245_MCLocationIndication : public PASN_Sequence
    05247 {
    05248 #ifndef PASN_LEANANDMEAN
    05249     PCLASSINFO(H245_MCLocationIndication, PASN_Sequence);
    05250 #endif
    05251   public:
    05252     H245_MCLocationIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05253
    05254     H245_TransportAddress m_signalAddress;
    05255
    05256     PINDEX GetDataLength() const;
    05257     PBoolean Decode(PASN_Stream & strm);
    05258     void Encode(PASN_Stream & strm) const;
    05259 #ifndef PASN_NOPRINTON
    05260     void PrintOn(ostream & strm) const;
    05261 #endif
    05262     Comparison Compare(const PObject & obj) const;
    05263     PObject * Clone() const;
    05264 };
    05265
    05266
    05267 //
    05268 // VendorIdentification
    05269 //
    05270
    05271 class H245_VendorIdentification : public PASN_Sequence
    05272 {
    05273 #ifndef PASN_LEANANDMEAN
    05274     PCLASSINFO(H245_VendorIdentification, PASN_Sequence);
    05275 #endif
    05276   public:
    05277     H245_VendorIdentification(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05278
    05279     enum OptionalFields {
    05280       e_productNumber,
    05281       e_versionNumber
    05282     };
    05283
    05284     H245_NonStandardIdentifier m_vendor;
    05285     PASN_OctetString m_productNumber;
    05286     PASN_OctetString m_versionNumber;
    05287
    05288     PINDEX GetDataLength() const;
    05289     PBoolean Decode(PASN_Stream & strm);
    05290     void Encode(PASN_Stream & strm) const;
    05291 #ifndef PASN_NOPRINTON
    05292     void PrintOn(ostream & strm) const;
    05293 #endif
    05294     Comparison Compare(const PObject & obj) const;
    05295     PObject * Clone() const;
    05296 };
    05297
    05298
    05299 //
    05300 // IV8
    05301 //
    05302
    05303 class H245_IV8 : public PASN_OctetString
    05304 {
    05305 #ifndef PASN_LEANANDMEAN
    05306     PCLASSINFO(H245_IV8, PASN_OctetString);
    05307 #endif
    05308   public:
    05309     H245_IV8(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    05310
    05311     H245_IV8(const char * v);
    05312     H245_IV8(const PString & v);
    05313     H245_IV8(const PBYTEArray & v);
    05314
    05315     H245_IV8 & operator=(const char * v);
    05316     H245_IV8 & operator=(const PString & v);
    05317     H245_IV8 & operator=(const PBYTEArray & v);
    05318     PObject * Clone() const;
    05319 };
    05320
    05321
    05322 //
    05323 // IV16
    05324 //
    05325
    05326 class H245_IV16 : public PASN_OctetString
    05327 {
    05328 #ifndef PASN_LEANANDMEAN
    05329     PCLASSINFO(H245_IV16, PASN_OctetString);
    05330 #endif
    05331   public:
    05332     H245_IV16(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    05333
    05334     H245_IV16(const char * v);
    05335     H245_IV16(const PString & v);
    05336     H245_IV16(const PBYTEArray & v);
    05337
    05338     H245_IV16 & operator=(const char * v);
    05339     H245_IV16 & operator=(const PString & v);
    05340     H245_IV16 & operator=(const PBYTEArray & v);
    05341     PObject * Clone() const;
    05342 };
    05343
    05344
    05345 //
    05346 // Params
    05347 //
    05348
    05349 class H245_Params : public PASN_Sequence
    05350 {
    05351 #ifndef PASN_LEANANDMEAN
    05352     PCLASSINFO(H245_Params, PASN_Sequence);
    05353 #endif
    05354   public:
    05355     H245_Params(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05356
    05357     enum OptionalFields {
    05358       e_iv8,
    05359       e_iv16,
    05360       e_iv
    05361     };
    05362
    05363     H245_IV8 m_iv8;
    05364     H245_IV16 m_iv16;
    05365     PASN_OctetString m_iv;
    05366
    05367     PINDEX GetDataLength() const;
    05368     PBoolean Decode(PASN_Stream & strm);
    05369     void Encode(PASN_Stream & strm) const;
    05370 #ifndef PASN_NOPRINTON
    05371     void PrintOn(ostream & strm) const;
    05372 #endif
    05373     Comparison Compare(const PObject & obj) const;
    05374     PObject * Clone() const;
    05375 };
    05376
    05377
    05378 //
    05379 // UserInputIndication
    05380 //
    05381
    05382 class H245_NonStandardParameter;
    05383 class H245_UserInputIndication_userInputSupportIndication;
    05384 class H245_UserInputIndication_signal;
    05385 class H245_UserInputIndication_signalUpdate;
    05386 class H245_UserInputIndication_extendedAlphanumeric;
    05387 class H245_UserInputIndication_encryptedAlphanumeric;
    05388 class H245_ArrayOf_GenericInformation;
    05389
    05390 class H245_UserInputIndication : public PASN_Choice
    05391 {
    05392 #ifndef PASN_LEANANDMEAN
    05393     PCLASSINFO(H245_UserInputIndication, PASN_Choice);
    05394 #endif
    05395   public:
    05396     H245_UserInputIndication(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    05397
    05398     enum Choices {
    05399       e_nonStandard,
    05400       e_alphanumeric,
    05401       e_userInputSupportIndication,
    05402       e_signal,
    05403       e_signalUpdate,
    05404       e_extendedAlphanumeric,
    05405       e_encryptedAlphanumeric,
    05406       e_genericInformation
    05407     };
    05408
    05409 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05410     operator H245_NonStandardParameter &() const;
    05411 #else
    05412     operator H245_NonStandardParameter &();
    05413     operator const H245_NonStandardParameter &() const;
    05414 #endif
    05415 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05416     operator H245_UserInputIndication_userInputSupportIndication &() const;
    05417 #else
    05418     operator H245_UserInputIndication_userInputSupportIndication &();
    05419     operator const H245_UserInputIndication_userInputSupportIndication &() const;
    05420 #endif
    05421 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05422     operator H245_UserInputIndication_signal &() const;
    05423 #else
    05424     operator H245_UserInputIndication_signal &();
    05425     operator const H245_UserInputIndication_signal &() const;
    05426 #endif
    05427 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05428     operator H245_UserInputIndication_signalUpdate &() const;
    05429 #else
    05430     operator H245_UserInputIndication_signalUpdate &();
    05431     operator const H245_UserInputIndication_signalUpdate &() const;
    05432 #endif
    05433 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05434     operator H245_UserInputIndication_extendedAlphanumeric &() const;
    05435 #else
    05436     operator H245_UserInputIndication_extendedAlphanumeric &();
    05437     operator const H245_UserInputIndication_extendedAlphanumeric &() const;
    05438 #endif
    05439 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05440     operator H245_UserInputIndication_encryptedAlphanumeric &() const;
    05441 #else
    05442     operator H245_UserInputIndication_encryptedAlphanumeric &();
    05443     operator const H245_UserInputIndication_encryptedAlphanumeric &() const;
    05444 #endif
    05445 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05446     operator H245_ArrayOf_GenericInformation &() const;
    05447 #else
    05448     operator H245_ArrayOf_GenericInformation &();
    05449     operator const H245_ArrayOf_GenericInformation &() const;
    05450 #endif
    05451
    05452     PBoolean CreateObject();
    05453     PObject * Clone() const;
    05454 };
    05455
    05456
    05457 //
    05458 // MobileMultilinkReconfigurationIndication
    05459 //
    05460
    05461 class H245_MobileMultilinkReconfigurationIndication : public PASN_Sequence
    05462 {
    05463 #ifndef PASN_LEANANDMEAN
    05464     PCLASSINFO(H245_MobileMultilinkReconfigurationIndication, PASN_Sequence);
    05465 #endif
    05466   public:
    05467     H245_MobileMultilinkReconfigurationIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05468
    05469     PASN_Integer m_sampleSize;
    05470     PASN_Integer m_samplesPerFrame;
    05471
    05472     PINDEX GetDataLength() const;
    05473     PBoolean Decode(PASN_Stream & strm);
    05474     void Encode(PASN_Stream & strm) const;
    05475 #ifndef PASN_NOPRINTON
    05476     void PrintOn(ostream & strm) const;
    05477 #endif
    05478     Comparison Compare(const PObject & obj) const;
    05479     PObject * Clone() const;
    05480 };
    05481
    05482
    05483 //
    05484 // ArrayOf_GenericParameter
    05485 //
    05486
    05487 class H245_GenericParameter;
    05488
    05489 class H245_ArrayOf_GenericParameter : public PASN_Array
    05490 {
    05491 #ifndef PASN_LEANANDMEAN
    05492     PCLASSINFO(H245_ArrayOf_GenericParameter, PASN_Array);
    05493 #endif
    05494   public:
    05495     H245_ArrayOf_GenericParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05496
    05497     PASN_Object * CreateObject() const;
    05498     H245_GenericParameter & operator[](PINDEX i) const;
    05499     PObject * Clone() const;
    05500 };
    05501
    05502
    05503 //
    05504 // NonStandardIdentifier_h221NonStandard
    05505 //
    05506
    05507 class H245_NonStandardIdentifier_h221NonStandard : public PASN_Sequence
    05508 {
    05509 #ifndef PASN_LEANANDMEAN
    05510     PCLASSINFO(H245_NonStandardIdentifier_h221NonStandard, PASN_Sequence);
    05511 #endif
    05512   public:
    05513     H245_NonStandardIdentifier_h221NonStandard(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05514
    05515     PASN_Integer m_t35CountryCode;
    05516     PASN_Integer m_t35Extension;
    05517     PASN_Integer m_manufacturerCode;
    05518
    05519     PINDEX GetDataLength() const;
    05520     PBoolean Decode(PASN_Stream & strm);
    05521     void Encode(PASN_Stream & strm) const;
    05522 #ifndef PASN_NOPRINTON
    05523     void PrintOn(ostream & strm) const;
    05524 #endif
    05525     Comparison Compare(const PObject & obj) const;
    05526     PObject * Clone() const;
    05527 };
    05528
    05529
    05530 //
    05531 // MasterSlaveDeterminationAck_decision
    05532 //
    05533
    05534 class H245_MasterSlaveDeterminationAck_decision : public PASN_Choice
    05535 {
    05536 #ifndef PASN_LEANANDMEAN
    05537     PCLASSINFO(H245_MasterSlaveDeterminationAck_decision, PASN_Choice);
    05538 #endif
    05539   public:
    05540     H245_MasterSlaveDeterminationAck_decision(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    05541
    05542     enum Choices {
    05543       e_master,
    05544       e_slave
    05545     };
    05546
    05547     PBoolean CreateObject();
    05548     PObject * Clone() const;
    05549 };
    05550
    05551
    05552 //
    05553 // MasterSlaveDeterminationReject_cause
    05554 //
    05555
    05556 class H245_MasterSlaveDeterminationReject_cause : public PASN_Choice
    05557 {
    05558 #ifndef PASN_LEANANDMEAN
    05559     PCLASSINFO(H245_MasterSlaveDeterminationReject_cause, PASN_Choice);
    05560 #endif
    05561   public:
    05562     H245_MasterSlaveDeterminationReject_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    05563
    05564     enum Choices {
    05565       e_identicalNumbers
    05566     };
    05567
    05568     PBoolean CreateObject();
    05569     PObject * Clone() const;
    05570 };
    05571
    05572
    05573 //
    05574 // ArrayOf_CapabilityTableEntry
    05575 //
    05576
    05577 class H245_CapabilityTableEntry;
    05578
    05579 class H245_ArrayOf_CapabilityTableEntry : public PASN_Array
    05580 {
    05581 #ifndef PASN_LEANANDMEAN
    05582     PCLASSINFO(H245_ArrayOf_CapabilityTableEntry, PASN_Array);
    05583 #endif
    05584   public:
    05585     H245_ArrayOf_CapabilityTableEntry(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    05586
    05587     PASN_Object * CreateObject() const;
    05588     H245_CapabilityTableEntry & operator[](PINDEX i) const;
    05589     PObject * Clone() const;
    05590 };
    05591
    05592
    05593 //
    05594 // ArrayOf_CapabilityDescriptor
    05595 //
    05596
    05597 class H245_CapabilityDescriptor;
    05598
    05599 class H245_ArrayOf_CapabilityDescriptor : public PASN_Array
    05600 {
    05601 #ifndef PASN_LEANANDMEAN
    05602     PCLASSINFO(H245_ArrayOf_CapabilityDescriptor, PASN_Array);
    05603 #endif
    05604   public:
    05605     H245_ArrayOf_CapabilityDescriptor(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    05606
    05607     PASN_Object * CreateObject() const;
    05608     H245_CapabilityDescriptor & operator[](PINDEX i) const;
    05609     PObject * Clone() const;
    05610 };
    05611
    05612
    05613 //
    05614 // ArrayOf_GenericInformation
    05615 //
    05616
    05617 class H245_GenericInformation;
    05618
    05619 class H245_ArrayOf_GenericInformation : public PASN_Array
    05620 {
    05621 #ifndef PASN_LEANANDMEAN
    05622     PCLASSINFO(H245_ArrayOf_GenericInformation, PASN_Array);
    05623 #endif
    05624   public:
    05625     H245_ArrayOf_GenericInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05626
    05627     PASN_Object * CreateObject() const;
    05628     H245_GenericInformation & operator[](PINDEX i) const;
    05629     PObject * Clone() const;
    05630 };
    05631
    05632
    05633 //
    05634 // ArrayOf_AlternativeCapabilitySet
    05635 //
    05636
    05637 class H245_AlternativeCapabilitySet;
    05638
    05639 class H245_ArrayOf_AlternativeCapabilitySet : public PASN_Array
    05640 {
    05641 #ifndef PASN_LEANANDMEAN
    05642     PCLASSINFO(H245_ArrayOf_AlternativeCapabilitySet, PASN_Array);
    05643 #endif
    05644   public:
    05645     H245_ArrayOf_AlternativeCapabilitySet(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    05646
    05647     PASN_Object * CreateObject() const;
    05648     H245_AlternativeCapabilitySet & operator[](PINDEX i) const;
    05649     PObject * Clone() const;
    05650 };
    05651
    05652
    05653 //
    05654 // TerminalCapabilitySetReject_cause
    05655 //
    05656
    05657 class H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded;
    05658
    05659 class H245_TerminalCapabilitySetReject_cause : public PASN_Choice
    05660 {
    05661 #ifndef PASN_LEANANDMEAN
    05662     PCLASSINFO(H245_TerminalCapabilitySetReject_cause, PASN_Choice);
    05663 #endif
    05664   public:
    05665     H245_TerminalCapabilitySetReject_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    05666
    05667     enum Choices {
    05668       e_unspecified,
    05669       e_undefinedTableEntryUsed,
    05670       e_descriptorCapacityExceeded,
    05671       e_tableEntryCapacityExceeded
    05672     };
    05673
    05674 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05675     operator H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded &() const;
    05676 #else
    05677     operator H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded &();
    05678     operator const H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded &() const;
    05679 #endif
    05680
    05681     PBoolean CreateObject();
    05682     PObject * Clone() const;
    05683 };
    05684
    05685
    05686 //
    05687 // Capability_h233EncryptionReceiveCapability
    05688 //
    05689
    05690 class H245_Capability_h233EncryptionReceiveCapability : public PASN_Sequence
    05691 {
    05692 #ifndef PASN_LEANANDMEAN
    05693     PCLASSINFO(H245_Capability_h233EncryptionReceiveCapability, PASN_Sequence);
    05694 #endif
    05695   public:
    05696     H245_Capability_h233EncryptionReceiveCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05697
    05698     PASN_Integer m_h233IVResponseTime;
    05699
    05700     PINDEX GetDataLength() const;
    05701     PBoolean Decode(PASN_Stream & strm);
    05702     void Encode(PASN_Stream & strm) const;
    05703 #ifndef PASN_NOPRINTON
    05704     void PrintOn(ostream & strm) const;
    05705 #endif
    05706     Comparison Compare(const PObject & obj) const;
    05707     PObject * Clone() const;
    05708 };
    05709
    05710
    05711 //
    05712 // ArrayOf_VCCapability
    05713 //
    05714
    05715 class H245_VCCapability;
    05716
    05717 class H245_ArrayOf_VCCapability : public PASN_Array
    05718 {
    05719 #ifndef PASN_LEANANDMEAN
    05720     PCLASSINFO(H245_ArrayOf_VCCapability, PASN_Array);
    05721 #endif
    05722   public:
    05723     H245_ArrayOf_VCCapability(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    05724
    05725     PASN_Object * CreateObject() const;
    05726     H245_VCCapability & operator[](PINDEX i) const;
    05727     PObject * Clone() const;
    05728 };
    05729
    05730
    05731 //
    05732 // VCCapability_aal1
    05733 //
    05734
    05735 class H245_VCCapability_aal1 : public PASN_Sequence
    05736 {
    05737 #ifndef PASN_LEANANDMEAN
    05738     PCLASSINFO(H245_VCCapability_aal1, PASN_Sequence);
    05739 #endif
    05740   public:
    05741     H245_VCCapability_aal1(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05742
    05743     PASN_Boolean m_nullClockRecovery;
    05744     PASN_Boolean m_srtsClockRecovery;
    05745     PASN_Boolean m_adaptiveClockRecovery;
    05746     PASN_Boolean m_nullErrorCorrection;
    05747     PASN_Boolean m_longInterleaver;
    05748     PASN_Boolean m_shortInterleaver;
    05749     PASN_Boolean m_errorCorrectionOnly;
    05750     PASN_Boolean m_structuredDataTransfer;
    05751     PASN_Boolean m_partiallyFilledCells;
    05752
    05753     PINDEX GetDataLength() const;
    05754     PBoolean Decode(PASN_Stream & strm);
    05755     void Encode(PASN_Stream & strm) const;
    05756 #ifndef PASN_NOPRINTON
    05757     void PrintOn(ostream & strm) const;
    05758 #endif
    05759     Comparison Compare(const PObject & obj) const;
    05760     PObject * Clone() const;
    05761 };
    05762
    05763
    05764 //
    05765 // VCCapability_aal5
    05766 //
    05767
    05768 class H245_VCCapability_aal5 : public PASN_Sequence
    05769 {
    05770 #ifndef PASN_LEANANDMEAN
    05771     PCLASSINFO(H245_VCCapability_aal5, PASN_Sequence);
    05772 #endif
    05773   public:
    05774     H245_VCCapability_aal5(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05775
    05776     PASN_Integer m_forwardMaximumSDUSize;
    05777     PASN_Integer m_backwardMaximumSDUSize;
    05778
    05779     PINDEX GetDataLength() const;
    05780     PBoolean Decode(PASN_Stream & strm);
    05781     void Encode(PASN_Stream & strm) const;
    05782 #ifndef PASN_NOPRINTON
    05783     void PrintOn(ostream & strm) const;
    05784 #endif
    05785     Comparison Compare(const PObject & obj) const;
    05786     PObject * Clone() const;
    05787 };
    05788
    05789
    05790 //
    05791 // H223Capability_h223MultiplexTableCapability
    05792 //
    05793
    05794 class H245_H223Capability_h223MultiplexTableCapability_enhanced;
    05795
    05796 class H245_H223Capability_h223MultiplexTableCapability : public PASN_Choice
    05797 {
    05798 #ifndef PASN_LEANANDMEAN
    05799     PCLASSINFO(H245_H223Capability_h223MultiplexTableCapability, PASN_Choice);
    05800 #endif
    05801   public:
    05802     H245_H223Capability_h223MultiplexTableCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    05803
    05804     enum Choices {
    05805       e_basic,
    05806       e_enhanced
    05807     };
    05808
    05809 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    05810     operator H245_H223Capability_h223MultiplexTableCapability_enhanced &() const;
    05811 #else
    05812     operator H245_H223Capability_h223MultiplexTableCapability_enhanced &();
    05813     operator const H245_H223Capability_h223MultiplexTableCapability_enhanced &() const;
    05814 #endif
    05815
    05816     PBoolean CreateObject();
    05817     PObject * Clone() const;
    05818 };
    05819
    05820
    05821 //
    05822 // H223Capability_mobileOperationTransmitCapability
    05823 //
    05824
    05825 class H245_H223Capability_mobileOperationTransmitCapability : public PASN_Sequence
    05826 {
    05827 #ifndef PASN_LEANANDMEAN
    05828     PCLASSINFO(H245_H223Capability_mobileOperationTransmitCapability, PASN_Sequence);
    05829 #endif
    05830   public:
    05831     H245_H223Capability_mobileOperationTransmitCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05832
    05833     PASN_Boolean m_modeChangeCapability;
    05834     PASN_Boolean m_h223AnnexA;
    05835     PASN_Boolean m_h223AnnexADoubleFlag;
    05836     PASN_Boolean m_h223AnnexB;
    05837     PASN_Boolean m_h223AnnexBwithHeader;
    05838
    05839     PINDEX GetDataLength() const;
    05840     PBoolean Decode(PASN_Stream & strm);
    05841     void Encode(PASN_Stream & strm) const;
    05842 #ifndef PASN_NOPRINTON
    05843     void PrintOn(ostream & strm) const;
    05844 #endif
    05845     Comparison Compare(const PObject & obj) const;
    05846     PObject * Clone() const;
    05847 };
    05848
    05849
    05850 //
    05851 // H223Capability_mobileMultilinkFrameCapability
    05852 //
    05853
    05854 class H245_H223Capability_mobileMultilinkFrameCapability : public PASN_Sequence
    05855 {
    05856 #ifndef PASN_LEANANDMEAN
    05857     PCLASSINFO(H245_H223Capability_mobileMultilinkFrameCapability, PASN_Sequence);
    05858 #endif
    05859   public:
    05860     H245_H223Capability_mobileMultilinkFrameCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05861
    05862     PASN_Integer m_maximumSampleSize;
    05863     PASN_Integer m_maximumPayloadLength;
    05864
    05865     PINDEX GetDataLength() const;
    05866     PBoolean Decode(PASN_Stream & strm);
    05867     void Encode(PASN_Stream & strm) const;
    05868 #ifndef PASN_NOPRINTON
    05869     void PrintOn(ostream & strm) const;
    05870 #endif
    05871     Comparison Compare(const PObject & obj) const;
    05872     PObject * Clone() const;
    05873 };
    05874
    05875
    05876 //
    05877 // H2250Capability_mcCapability
    05878 //
    05879
    05880 class H245_H2250Capability_mcCapability : public PASN_Sequence
    05881 {
    05882 #ifndef PASN_LEANANDMEAN
    05883     PCLASSINFO(H245_H2250Capability_mcCapability, PASN_Sequence);
    05884 #endif
    05885   public:
    05886     H245_H2250Capability_mcCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05887
    05888     PASN_Boolean m_centralizedConferenceMC;
    05889     PASN_Boolean m_decentralizedConferenceMC;
    05890
    05891     PINDEX GetDataLength() const;
    05892     PBoolean Decode(PASN_Stream & strm);
    05893     void Encode(PASN_Stream & strm) const;
    05894 #ifndef PASN_NOPRINTON
    05895     void PrintOn(ostream & strm) const;
    05896 #endif
    05897     Comparison Compare(const PObject & obj) const;
    05898     PObject * Clone() const;
    05899 };
    05900
    05901
    05902 //
    05903 // ArrayOf_RedundancyEncodingCapability
    05904 //
    05905
    05906 class H245_RedundancyEncodingCapability;
    05907
    05908 class H245_ArrayOf_RedundancyEncodingCapability : public PASN_Array
    05909 {
    05910 #ifndef PASN_LEANANDMEAN
    05911     PCLASSINFO(H245_ArrayOf_RedundancyEncodingCapability, PASN_Array);
    05912 #endif
    05913   public:
    05914     H245_ArrayOf_RedundancyEncodingCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05915
    05916     PASN_Object * CreateObject() const;
    05917     H245_RedundancyEncodingCapability & operator[](PINDEX i) const;
    05918     PObject * Clone() const;
    05919 };
    05920
    05921
    05922 //
    05923 // ArrayOf_RTPPayloadType
    05924 //
    05925
    05926 class H245_RTPPayloadType;
    05927
    05928 class H245_ArrayOf_RTPPayloadType : public PASN_Array
    05929 {
    05930 #ifndef PASN_LEANANDMEAN
    05931     PCLASSINFO(H245_ArrayOf_RTPPayloadType, PASN_Array);
    05932 #endif
    05933   public:
    05934     H245_ArrayOf_RTPPayloadType(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05935
    05936     PASN_Object * CreateObject() const;
    05937     H245_RTPPayloadType & operator[](PINDEX i) const;
    05938     PObject * Clone() const;
    05939 };
    05940
    05941
    05942 //
    05943 // MediaTransportType_atm-AAL5-compressed
    05944 //
    05945
    05946 class H245_MediaTransportType_atm_AAL5_compressed : public PASN_Sequence
    05947 {
    05948 #ifndef PASN_LEANANDMEAN
    05949     PCLASSINFO(H245_MediaTransportType_atm_AAL5_compressed, PASN_Sequence);
    05950 #endif
    05951   public:
    05952     H245_MediaTransportType_atm_AAL5_compressed(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05953
    05954     PASN_Boolean m_variable_delta;
    05955
    05956     PINDEX GetDataLength() const;
    05957     PBoolean Decode(PASN_Stream & strm);
    05958     void Encode(PASN_Stream & strm) const;
    05959 #ifndef PASN_NOPRINTON
    05960     void PrintOn(ostream & strm) const;
    05961 #endif
    05962     Comparison Compare(const PObject & obj) const;
    05963     PObject * Clone() const;
    05964 };
    05965
    05966
    05967 //
    05968 // ArrayOf_QOSCapability
    05969 //
    05970
    05971 class H245_QOSCapability;
    05972
    05973 class H245_ArrayOf_QOSCapability : public PASN_Array
    05974 {
    05975 #ifndef PASN_LEANANDMEAN
    05976     PCLASSINFO(H245_ArrayOf_QOSCapability, PASN_Array);
    05977 #endif
    05978   public:
    05979     H245_ArrayOf_QOSCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    05980
    05981     PASN_Object * CreateObject() const;
    05982     H245_QOSCapability & operator[](PINDEX i) const;
    05983     PObject * Clone() const;
    05984 };
    05985
    05986
    05987 //
    05988 // ArrayOf_MediaChannelCapability
    05989 //
    05990
    05991 class H245_MediaChannelCapability;
    05992
    05993 class H245_ArrayOf_MediaChannelCapability : public PASN_Array
    05994 {
    05995 #ifndef PASN_LEANANDMEAN
    05996     PCLASSINFO(H245_ArrayOf_MediaChannelCapability, PASN_Array);
    05997 #endif
    05998   public:
    05999     H245_ArrayOf_MediaChannelCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06000
    06001     PASN_Object * CreateObject() const;
    06002     H245_MediaChannelCapability & operator[](PINDEX i) const;
    06003     PObject * Clone() const;
    06004 };
    06005
    06006
    06007 //
    06008 // ArrayOf_CapabilityTableEntryNumber
    06009 //
    06010
    06011 class H245_CapabilityTableEntryNumber;
    06012
    06013 class H245_ArrayOf_CapabilityTableEntryNumber : public PASN_Array
    06014 {
    06015 #ifndef PASN_LEANANDMEAN
    06016     PCLASSINFO(H245_ArrayOf_CapabilityTableEntryNumber, PASN_Array);
    06017 #endif
    06018   public:
    06019     H245_ArrayOf_CapabilityTableEntryNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06020
    06021     PASN_Object * CreateObject() const;
    06022     H245_CapabilityTableEntryNumber & operator[](PINDEX i) const;
    06023     PObject * Clone() const;
    06024 };
    06025
    06026
    06027 //
    06028 // RTPH263VideoRedundancyEncoding_frameToThreadMapping
    06029 //
    06030
    06031 class H245_ArrayOf_RTPH263VideoRedundancyFrameMapping;
    06032
    06033 class H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping : public PASN_Choice
    06034 {
    06035 #ifndef PASN_LEANANDMEAN
    06036     PCLASSINFO(H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping, PASN_Choice);
    06037 #endif
    06038   public:
    06039     H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    06040
    06041     enum Choices {
    06042       e_roundrobin,
    06043       e_custom
    06044     };
    06045
    06046 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06047     operator H245_ArrayOf_RTPH263VideoRedundancyFrameMapping &() const;
    06048 #else
    06049     operator H245_ArrayOf_RTPH263VideoRedundancyFrameMapping &();
    06050     operator const H245_ArrayOf_RTPH263VideoRedundancyFrameMapping &() const;
    06051 #endif
    06052
    06053     PBoolean CreateObject();
    06054     PObject * Clone() const;
    06055 };
    06056
    06057
    06058 //
    06059 // RTPH263VideoRedundancyEncoding_containedThreads
    06060 //
    06061
    06062 class H245_RTPH263VideoRedundancyEncoding_containedThreads : public PASN_Array
    06063 {
    06064 #ifndef PASN_LEANANDMEAN
    06065     PCLASSINFO(H245_RTPH263VideoRedundancyEncoding_containedThreads, PASN_Array);
    06066 #endif
    06067   public:
    06068     H245_RTPH263VideoRedundancyEncoding_containedThreads(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06069
    06070     PASN_Object * CreateObject() const;
    06071     PASN_Integer & operator[](PINDEX i) const;
    06072     PObject * Clone() const;
    06073 };
    06074
    06075
    06076 //
    06077 // RTPH263VideoRedundancyFrameMapping_frameSequence
    06078 //
    06079
    06080 class H245_RTPH263VideoRedundancyFrameMapping_frameSequence : public PASN_Array
    06081 {
    06082 #ifndef PASN_LEANANDMEAN
    06083     PCLASSINFO(H245_RTPH263VideoRedundancyFrameMapping_frameSequence, PASN_Array);
    06084 #endif
    06085   public:
    06086     H245_RTPH263VideoRedundancyFrameMapping_frameSequence(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06087
    06088     PASN_Object * CreateObject() const;
    06089     PASN_Integer & operator[](PINDEX i) const;
    06090     PObject * Clone() const;
    06091 };
    06092
    06093
    06094 //
    06095 // ArrayOf_MediaDistributionCapability
    06096 //
    06097
    06098 class H245_MediaDistributionCapability;
    06099
    06100 class H245_ArrayOf_MediaDistributionCapability : public PASN_Array
    06101 {
    06102 #ifndef PASN_LEANANDMEAN
    06103     PCLASSINFO(H245_ArrayOf_MediaDistributionCapability, PASN_Array);
    06104 #endif
    06105   public:
    06106     H245_ArrayOf_MediaDistributionCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06107
    06108     PASN_Object * CreateObject() const;
    06109     H245_MediaDistributionCapability & operator[](PINDEX i) const;
    06110     PObject * Clone() const;
    06111 };
    06112
    06113
    06114 //
    06115 // ArrayOf_DataApplicationCapability
    06116 //
    06117
    06118 class H245_DataApplicationCapability;
    06119
    06120 class H245_ArrayOf_DataApplicationCapability : public PASN_Array
    06121 {
    06122 #ifndef PASN_LEANANDMEAN
    06123     PCLASSINFO(H245_ArrayOf_DataApplicationCapability, PASN_Array);
    06124 #endif
    06125   public:
    06126     H245_ArrayOf_DataApplicationCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06127
    06128     PASN_Object * CreateObject() const;
    06129     H245_DataApplicationCapability & operator[](PINDEX i) const;
    06130     PObject * Clone() const;
    06131 };
    06132
    06133
    06134 //
    06135 // ArrayOf_VideoCapability
    06136 //
    06137
    06138 class H245_VideoCapability;
    06139
    06140 class H245_ArrayOf_VideoCapability : public PASN_Array
    06141 {
    06142 #ifndef PASN_LEANANDMEAN
    06143     PCLASSINFO(H245_ArrayOf_VideoCapability, PASN_Array);
    06144 #endif
    06145   public:
    06146     H245_ArrayOf_VideoCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06147
    06148     PASN_Object * CreateObject() const;
    06149     H245_VideoCapability & operator[](PINDEX i) const;
    06150     PObject * Clone() const;
    06151 };
    06152
    06153
    06154 //
    06155 // ArrayOf_GenericCapability
    06156 //
    06157
    06158 class H245_GenericCapability;
    06159
    06160 class H245_ArrayOf_GenericCapability : public PASN_Array
    06161 {
    06162 #ifndef PASN_LEANANDMEAN
    06163     PCLASSINFO(H245_ArrayOf_GenericCapability, PASN_Array);
    06164 #endif
    06165   public:
    06166     H245_ArrayOf_GenericCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06167
    06168     PASN_Object * CreateObject() const;
    06169     H245_GenericCapability & operator[](PINDEX i) const;
    06170     PObject * Clone() const;
    06171 };
    06172
    06173
    06174 //
    06175 // ArrayOf_EnhancementOptions
    06176 //
    06177
    06178 class H245_EnhancementOptions;
    06179
    06180 class H245_ArrayOf_EnhancementOptions : public PASN_Array
    06181 {
    06182 #ifndef PASN_LEANANDMEAN
    06183     PCLASSINFO(H245_ArrayOf_EnhancementOptions, PASN_Array);
    06184 #endif
    06185   public:
    06186     H245_ArrayOf_EnhancementOptions(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    06187
    06188     PASN_Object * CreateObject() const;
    06189     H245_EnhancementOptions & operator[](PINDEX i) const;
    06190     PObject * Clone() const;
    06191 };
    06192
    06193
    06194 //
    06195 // ArrayOf_BEnhancementParameters
    06196 //
    06197
    06198 class H245_BEnhancementParameters;
    06199
    06200 class H245_ArrayOf_BEnhancementParameters : public PASN_Array
    06201 {
    06202 #ifndef PASN_LEANANDMEAN
    06203     PCLASSINFO(H245_ArrayOf_BEnhancementParameters, PASN_Array);
    06204 #endif
    06205   public:
    06206     H245_ArrayOf_BEnhancementParameters(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    06207
    06208     PASN_Object * CreateObject() const;
    06209     H245_BEnhancementParameters & operator[](PINDEX i) const;
    06210     PObject * Clone() const;
    06211 };
    06212
    06213
    06214 //
    06215 // ArrayOf_CustomPictureClockFrequency
    06216 //
    06217
    06218 class H245_CustomPictureClockFrequency;
    06219
    06220 class H245_ArrayOf_CustomPictureClockFrequency : public PASN_Array
    06221 {
    06222 #ifndef PASN_LEANANDMEAN
    06223     PCLASSINFO(H245_ArrayOf_CustomPictureClockFrequency, PASN_Array);
    06224 #endif
    06225   public:
    06226     H245_ArrayOf_CustomPictureClockFrequency(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    06227
    06228     PASN_Object * CreateObject() const;
    06229     H245_CustomPictureClockFrequency & operator[](PINDEX i) const;
    06230     PObject * Clone() const;
    06231 };
    06232
    06233
    06234 //
    06235 // ArrayOf_CustomPictureFormat
    06236 //
    06237
    06238 class H245_CustomPictureFormat;
    06239
    06240 class H245_ArrayOf_CustomPictureFormat : public PASN_Array
    06241 {
    06242 #ifndef PASN_LEANANDMEAN
    06243     PCLASSINFO(H245_ArrayOf_CustomPictureFormat, PASN_Array);
    06244 #endif
    06245   public:
    06246     H245_ArrayOf_CustomPictureFormat(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    06247
    06248     PASN_Object * CreateObject() const;
    06249     H245_CustomPictureFormat & operator[](PINDEX i) const;
    06250     PObject * Clone() const;
    06251 };
    06252
    06253
    06254 //
    06255 // ArrayOf_H263VideoModeCombos
    06256 //
    06257
    06258 class H245_H263VideoModeCombos;
    06259
    06260 class H245_ArrayOf_H263VideoModeCombos : public PASN_Array
    06261 {
    06262 #ifndef PASN_LEANANDMEAN
    06263     PCLASSINFO(H245_ArrayOf_H263VideoModeCombos, PASN_Array);
    06264 #endif
    06265   public:
    06266     H245_ArrayOf_H263VideoModeCombos(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    06267
    06268     PASN_Object * CreateObject() const;
    06269     H245_H263VideoModeCombos & operator[](PINDEX i) const;
    06270     PObject * Clone() const;
    06271 };
    06272
    06273
    06274 //
    06275 // RefPictureSelection_additionalPictureMemory
    06276 //
    06277
    06278 class H245_RefPictureSelection_additionalPictureMemory : public PASN_Sequence
    06279 {
    06280 #ifndef PASN_LEANANDMEAN
    06281     PCLASSINFO(H245_RefPictureSelection_additionalPictureMemory, PASN_Sequence);
    06282 #endif
    06283   public:
    06284     H245_RefPictureSelection_additionalPictureMemory(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06285
    06286     enum OptionalFields {
    06287       e_sqcifAdditionalPictureMemory,
    06288       e_qcifAdditionalPictureMemory,
    06289       e_cifAdditionalPictureMemory,
    06290       e_cif4AdditionalPictureMemory,
    06291       e_cif16AdditionalPictureMemory,
    06292       e_bigCpfAdditionalPictureMemory
    06293     };
    06294
    06295     PASN_Integer m_sqcifAdditionalPictureMemory;
    06296     PASN_Integer m_qcifAdditionalPictureMemory;
    06297     PASN_Integer m_cifAdditionalPictureMemory;
    06298     PASN_Integer m_cif4AdditionalPictureMemory;
    06299     PASN_Integer m_cif16AdditionalPictureMemory;
    06300     PASN_Integer m_bigCpfAdditionalPictureMemory;
    06301
    06302     PINDEX GetDataLength() const;
    06303     PBoolean Decode(PASN_Stream & strm);
    06304     void Encode(PASN_Stream & strm) const;
    06305 #ifndef PASN_NOPRINTON
    06306     void PrintOn(ostream & strm) const;
    06307 #endif
    06308     Comparison Compare(const PObject & obj) const;
    06309     PObject * Clone() const;
    06310 };
    06311
    06312
    06313 //
    06314 // RefPictureSelection_videoBackChannelSend
    06315 //
    06316
    06317 class H245_RefPictureSelection_videoBackChannelSend : public PASN_Choice
    06318 {
    06319 #ifndef PASN_LEANANDMEAN
    06320     PCLASSINFO(H245_RefPictureSelection_videoBackChannelSend, PASN_Choice);
    06321 #endif
    06322   public:
    06323     H245_RefPictureSelection_videoBackChannelSend(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    06324
    06325     enum Choices {
    06326       e_none,
    06327       e_ackMessageOnly,
    06328       e_nackMessageOnly,
    06329       e_ackOrNackMessageOnly,
    06330       e_ackAndNackMessage
    06331     };
    06332
    06333     PBoolean CreateObject();
    06334     PObject * Clone() const;
    06335 };
    06336
    06337
    06338 //
    06339 // CustomPictureFormat_pixelAspectInformation
    06340 //
    06341
    06342 class H245_CustomPictureFormat_pixelAspectInformation_pixelAspectCode;
    06343 class H245_CustomPictureFormat_pixelAspectInformation_extendedPAR;
    06344
    06345 class H245_CustomPictureFormat_pixelAspectInformation : public PASN_Choice
    06346 {
    06347 #ifndef PASN_LEANANDMEAN
    06348     PCLASSINFO(H245_CustomPictureFormat_pixelAspectInformation, PASN_Choice);
    06349 #endif
    06350   public:
    06351     H245_CustomPictureFormat_pixelAspectInformation(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    06352
    06353     enum Choices {
    06354       e_anyPixelAspectRatio,
    06355       e_pixelAspectCode,
    06356       e_extendedPAR
    06357     };
    06358
    06359 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06360     operator H245_CustomPictureFormat_pixelAspectInformation_pixelAspectCode &() const;
    06361 #else
    06362     operator H245_CustomPictureFormat_pixelAspectInformation_pixelAspectCode &();
    06363     operator const H245_CustomPictureFormat_pixelAspectInformation_pixelAspectCode &() const;
    06364 #endif
    06365 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06366     operator H245_CustomPictureFormat_pixelAspectInformation_extendedPAR &() const;
    06367 #else
    06368     operator H245_CustomPictureFormat_pixelAspectInformation_extendedPAR &();
    06369     operator const H245_CustomPictureFormat_pixelAspectInformation_extendedPAR &() const;
    06370 #endif
    06371
    06372     PBoolean CreateObject();
    06373     PObject * Clone() const;
    06374 };
    06375
    06376
    06377 //
    06378 // ArrayOf_H263ModeComboFlags
    06379 //
    06380
    06381 class H245_H263ModeComboFlags;
    06382
    06383 class H245_ArrayOf_H263ModeComboFlags : public PASN_Array
    06384 {
    06385 #ifndef PASN_LEANANDMEAN
    06386     PCLASSINFO(H245_ArrayOf_H263ModeComboFlags, PASN_Array);
    06387 #endif
    06388   public:
    06389     H245_ArrayOf_H263ModeComboFlags(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    06390
    06391     PASN_Object * CreateObject() const;
    06392     H245_H263ModeComboFlags & operator[](PINDEX i) const;
    06393     PObject * Clone() const;
    06394 };
    06395
    06396
    06397 //
    06398 // AudioCapability_g7231
    06399 //
    06400
    06401 class H245_AudioCapability_g7231 : public PASN_Sequence
    06402 {
    06403 #ifndef PASN_LEANANDMEAN
    06404     PCLASSINFO(H245_AudioCapability_g7231, PASN_Sequence);
    06405 #endif
    06406   public:
    06407     H245_AudioCapability_g7231(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06408
    06409     PASN_Integer m_maxAl_sduAudioFrames;
    06410     PASN_Boolean m_silenceSuppression;
    06411
    06412     PINDEX GetDataLength() const;
    06413     PBoolean Decode(PASN_Stream & strm);
    06414     void Encode(PASN_Stream & strm) const;
    06415 #ifndef PASN_NOPRINTON
    06416     void PrintOn(ostream & strm) const;
    06417 #endif
    06418     Comparison Compare(const PObject & obj) const;
    06419     PObject * Clone() const;
    06420 };
    06421
    06422
    06423 //
    06424 // G7231AnnexCCapability_g723AnnexCAudioMode
    06425 //
    06426
    06427 class H245_G7231AnnexCCapability_g723AnnexCAudioMode : public PASN_Sequence
    06428 {
    06429 #ifndef PASN_LEANANDMEAN
    06430     PCLASSINFO(H245_G7231AnnexCCapability_g723AnnexCAudioMode, PASN_Sequence);
    06431 #endif
    06432   public:
    06433     H245_G7231AnnexCCapability_g723AnnexCAudioMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06434
    06435     PASN_Integer m_highRateMode0;
    06436     PASN_Integer m_highRateMode1;
    06437     PASN_Integer m_lowRateMode0;
    06438     PASN_Integer m_lowRateMode1;
    06439     PASN_Integer m_sidMode0;
    06440     PASN_Integer m_sidMode1;
    06441
    06442     PINDEX GetDataLength() const;
    06443     PBoolean Decode(PASN_Stream & strm);
    06444     void Encode(PASN_Stream & strm) const;
    06445 #ifndef PASN_NOPRINTON
    06446     void PrintOn(ostream & strm) const;
    06447 #endif
    06448     Comparison Compare(const PObject & obj) const;
    06449     PObject * Clone() const;
    06450 };
    06451
    06452
    06453 //
    06454 // DataApplicationCapability_application
    06455 //
    06456
    06457 class H245_NonStandardParameter;
    06458 class H245_DataProtocolCapability;
    06459 class H245_DataApplicationCapability_application_t84;
    06460 class H245_DataApplicationCapability_application_nlpid;
    06461 class H245_DataApplicationCapability_application_t38fax;
    06462 class H245_GenericCapability;
    06463
    06464 class H245_DataApplicationCapability_application : public PASN_Choice
    06465 {
    06466 #ifndef PASN_LEANANDMEAN
    06467     PCLASSINFO(H245_DataApplicationCapability_application, PASN_Choice);
    06468 #endif
    06469   public:
    06470     H245_DataApplicationCapability_application(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    06471
    06472     enum Choices {
    06473       e_nonStandard,
    06474       e_t120,
    06475       e_dsm_cc,
    06476       e_userData,
    06477       e_t84,
    06478       e_t434,
    06479       e_h224,
    06480       e_nlpid,
    06481       e_dsvdControl,
    06482       e_h222DataPartitioning,
    06483       e_t30fax,
    06484       e_t140,
    06485       e_t38fax,
    06486       e_genericDataCapability
    06487     };
    06488
    06489 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06490     operator H245_NonStandardParameter &() const;
    06491 #else
    06492     operator H245_NonStandardParameter &();
    06493     operator const H245_NonStandardParameter &() const;
    06494 #endif
    06495 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06496     operator H245_DataProtocolCapability &() const;
    06497 #else
    06498     operator H245_DataProtocolCapability &();
    06499     operator const H245_DataProtocolCapability &() const;
    06500 #endif
    06501 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06502     operator H245_DataApplicationCapability_application_t84 &() const;
    06503 #else
    06504     operator H245_DataApplicationCapability_application_t84 &();
    06505     operator const H245_DataApplicationCapability_application_t84 &() const;
    06506 #endif
    06507 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06508     operator H245_DataApplicationCapability_application_nlpid &() const;
    06509 #else
    06510     operator H245_DataApplicationCapability_application_nlpid &();
    06511     operator const H245_DataApplicationCapability_application_nlpid &() const;
    06512 #endif
    06513 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06514     operator H245_DataApplicationCapability_application_t38fax &() const;
    06515 #else
    06516     operator H245_DataApplicationCapability_application_t38fax &();
    06517     operator const H245_DataApplicationCapability_application_t38fax &() const;
    06518 #endif
    06519 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06520     operator H245_GenericCapability &() const;
    06521 #else
    06522     operator H245_GenericCapability &();
    06523     operator const H245_GenericCapability &() const;
    06524 #endif
    06525
    06526     PBoolean CreateObject();
    06527     PObject * Clone() const;
    06528 };
    06529
    06530
    06531 //
    06532 // DataProtocolCapability_v76wCompression
    06533 //
    06534
    06535 class H245_CompressionType;
    06536
    06537 class H245_DataProtocolCapability_v76wCompression : public PASN_Choice
    06538 {
    06539 #ifndef PASN_LEANANDMEAN
    06540     PCLASSINFO(H245_DataProtocolCapability_v76wCompression, PASN_Choice);
    06541 #endif
    06542   public:
    06543     H245_DataProtocolCapability_v76wCompression(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    06544
    06545     enum Choices {
    06546       e_transmitCompression,
    06547       e_receiveCompression,
    06548       e_transmitAndReceiveCompression
    06549     };
    06550
    06551 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06552     operator H245_CompressionType &() const;
    06553 #else
    06554     operator H245_CompressionType &();
    06555     operator const H245_CompressionType &() const;
    06556 #endif
    06557
    06558     PBoolean CreateObject();
    06559     PObject * Clone() const;
    06560 };
    06561
    06562
    06563 //
    06564 // T84Profile_t84Restricted
    06565 //
    06566
    06567 class H245_T84Profile_t84Restricted : public PASN_Sequence
    06568 {
    06569 #ifndef PASN_LEANANDMEAN
    06570     PCLASSINFO(H245_T84Profile_t84Restricted, PASN_Sequence);
    06571 #endif
    06572   public:
    06573     H245_T84Profile_t84Restricted(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06574
    06575     PASN_Boolean m_qcif;
    06576     PASN_Boolean m_cif;
    06577     PASN_Boolean m_ccir601Seq;
    06578     PASN_Boolean m_ccir601Prog;
    06579     PASN_Boolean m_hdtvSeq;
    06580     PASN_Boolean m_hdtvProg;
    06581     PASN_Boolean m_g3FacsMH200x100;
    06582     PASN_Boolean m_g3FacsMH200x200;
    06583     PASN_Boolean m_g4FacsMMR200x100;
    06584     PASN_Boolean m_g4FacsMMR200x200;
    06585     PASN_Boolean m_jbig200x200Seq;
    06586     PASN_Boolean m_jbig200x200Prog;
    06587     PASN_Boolean m_jbig300x300Seq;
    06588     PASN_Boolean m_jbig300x300Prog;
    06589     PASN_Boolean m_digPhotoLow;
    06590     PASN_Boolean m_digPhotoMedSeq;
    06591     PASN_Boolean m_digPhotoMedProg;
    06592     PASN_Boolean m_digPhotoHighSeq;
    06593     PASN_Boolean m_digPhotoHighProg;
    06594
    06595     PINDEX GetDataLength() const;
    06596     PBoolean Decode(PASN_Stream & strm);
    06597     void Encode(PASN_Stream & strm) const;
    06598 #ifndef PASN_NOPRINTON
    06599     void PrintOn(ostream & strm) const;
    06600 #endif
    06601     Comparison Compare(const PObject & obj) const;
    06602     PObject * Clone() const;
    06603 };
    06604
    06605
    06606 //
    06607 // T38FaxUdpOptions_t38FaxUdpEC
    06608 //
    06609
    06610 class H245_T38FaxUdpOptions_t38FaxUdpEC : public PASN_Choice
    06611 {
    06612 #ifndef PASN_LEANANDMEAN
    06613     PCLASSINFO(H245_T38FaxUdpOptions_t38FaxUdpEC, PASN_Choice);
    06614 #endif
    06615   public:
    06616     H245_T38FaxUdpOptions_t38FaxUdpEC(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    06617
    06618     enum Choices {
    06619       e_t38UDPFEC,
    06620       e_t38UDPRedundancy
    06621     };
    06622
    06623     PBoolean CreateObject();
    06624     PObject * Clone() const;
    06625 };
    06626
    06627
    06628 //
    06629 // ArrayOf_NonStandardParameter
    06630 //
    06631
    06632 class H245_NonStandardParameter;
    06633
    06634 class H245_ArrayOf_NonStandardParameter : public PASN_Array
    06635 {
    06636 #ifndef PASN_LEANANDMEAN
    06637     PCLASSINFO(H245_ArrayOf_NonStandardParameter, PASN_Array);
    06638 #endif
    06639   public:
    06640     H245_ArrayOf_NonStandardParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06641
    06642     PASN_Object * CreateObject() const;
    06643     H245_NonStandardParameter & operator[](PINDEX i) const;
    06644     PObject * Clone() const;
    06645 };
    06646
    06647
    06648 //
    06649 // ArrayOf_ParameterIdentifier
    06650 //
    06651
    06652 class H245_ParameterIdentifier;
    06653
    06654 class H245_ArrayOf_ParameterIdentifier : public PASN_Array
    06655 {
    06656 #ifndef PASN_LEANANDMEAN
    06657     PCLASSINFO(H245_ArrayOf_ParameterIdentifier, PASN_Array);
    06658 #endif
    06659   public:
    06660     H245_ArrayOf_ParameterIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    06661
    06662     PASN_Object * CreateObject() const;
    06663     H245_ParameterIdentifier & operator[](PINDEX i) const;
    06664     PObject * Clone() const;
    06665 };
    06666
    06667
    06668 //
    06669 // FECCapability_rfc2733Format
    06670 //
    06671
    06672 class H245_MaxRedundancy;
    06673
    06674 class H245_FECCapability_rfc2733Format : public PASN_Choice
    06675 {
    06676 #ifndef PASN_LEANANDMEAN
    06677     PCLASSINFO(H245_FECCapability_rfc2733Format, PASN_Choice);
    06678 #endif
    06679   public:
    06680     H245_FECCapability_rfc2733Format(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    06681
    06682     enum Choices {
    06683       e_rfc2733rfc2198,
    06684       e_rfc2733sameport,
    06685       e_rfc2733diffport
    06686     };
    06687
    06688 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06689     operator H245_MaxRedundancy &() const;
    06690 #else
    06691     operator H245_MaxRedundancy &();
    06692     operator const H245_MaxRedundancy &() const;
    06693 #endif
    06694
    06695     PBoolean CreateObject();
    06696     PObject * Clone() const;
    06697 };
    06698
    06699
    06700 //
    06701 // NetworkAccessParameters_distribution
    06702 //
    06703
    06704 class H245_NetworkAccessParameters_distribution : public PASN_Choice
    06705 {
    06706 #ifndef PASN_LEANANDMEAN
    06707     PCLASSINFO(H245_NetworkAccessParameters_distribution, PASN_Choice);
    06708 #endif
    06709   public:
    06710     H245_NetworkAccessParameters_distribution(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    06711
    06712     enum Choices {
    06713       e_unicast,
    06714       e_multicast
    06715     };
    06716
    06717     PBoolean CreateObject();
    06718     PObject * Clone() const;
    06719 };
    06720
    06721
    06722 //
    06723 // NetworkAccessParameters_networkAddress
    06724 //
    06725
    06726 class H245_Q2931Address;
    06727 class H245_TransportAddress;
    06728
    06729 class H245_NetworkAccessParameters_networkAddress : public PASN_Choice
    06730 {
    06731 #ifndef PASN_LEANANDMEAN
    06732     PCLASSINFO(H245_NetworkAccessParameters_networkAddress, PASN_Choice);
    06733 #endif
    06734   public:
    06735     H245_NetworkAccessParameters_networkAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    06736
    06737     enum Choices {
    06738       e_q2931Address,
    06739       e_e164Address,
    06740       e_localAreaAddress
    06741     };
    06742
    06743 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06744     operator H245_Q2931Address &() const;
    06745 #else
    06746     operator H245_Q2931Address &();
    06747     operator const H245_Q2931Address &() const;
    06748 #endif
    06749 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06750     operator H245_TransportAddress &() const;
    06751 #else
    06752     operator H245_TransportAddress &();
    06753     operator const H245_TransportAddress &() const;
    06754 #endif
    06755
    06756     PBoolean CreateObject();
    06757     PObject * Clone() const;
    06758 };
    06759
    06760
    06761 //
    06762 // NetworkAccessParameters_t120SetupProcedure
    06763 //
    06764
    06765 class H245_NetworkAccessParameters_t120SetupProcedure : public PASN_Choice
    06766 {
    06767 #ifndef PASN_LEANANDMEAN
    06768     PCLASSINFO(H245_NetworkAccessParameters_t120SetupProcedure, PASN_Choice);
    06769 #endif
    06770   public:
    06771     H245_NetworkAccessParameters_t120SetupProcedure(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    06772
    06773     enum Choices {
    06774       e_originateCall,
    06775       e_waitForCall,
    06776       e_issueQuery
    06777     };
    06778
    06779     PBoolean CreateObject();
    06780     PObject * Clone() const;
    06781 };
    06782
    06783
    06784 //
    06785 // Q2931Address_address
    06786 //
    06787
    06788 class H245_Q2931Address_address : public PASN_Choice
    06789 {
    06790 #ifndef PASN_LEANANDMEAN
    06791     PCLASSINFO(H245_Q2931Address_address, PASN_Choice);
    06792 #endif
    06793   public:
    06794     H245_Q2931Address_address(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    06795
    06796     enum Choices {
    06797       e_internationalNumber,
    06798       e_nsapAddress
    06799     };
    06800
    06801     PBoolean CreateObject();
    06802     PObject * Clone() const;
    06803 };
    06804
    06805
    06806 //
    06807 // H235Media_mediaType
    06808 //
    06809
    06810 class H245_NonStandardParameter;
    06811 class H245_VideoCapability;
    06812 class H245_AudioCapability;
    06813 class H245_DataApplicationCapability;
    06814 class H245_RedundancyEncoding;
    06815 class H245_MultiplePayloadStream;
    06816 class H245_DepFECData;
    06817 class H245_FECData;
    06818
    06819 class H245_H235Media_mediaType : public PASN_Choice
    06820 {
    06821 #ifndef PASN_LEANANDMEAN
    06822     PCLASSINFO(H245_H235Media_mediaType, PASN_Choice);
    06823 #endif
    06824   public:
    06825     H245_H235Media_mediaType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    06826
    06827     enum Choices {
    06828       e_nonStandard,
    06829       e_videoData,
    06830       e_audioData,
    06831       e_data,
    06832       e_redundancyEncoding,
    06833       e_multiplePayloadStream,
    06834       e_depFec,
    06835       e_fec
    06836     };
    06837
    06838 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06839     operator H245_NonStandardParameter &() const;
    06840 #else
    06841     operator H245_NonStandardParameter &();
    06842     operator const H245_NonStandardParameter &() const;
    06843 #endif
    06844 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06845     operator H245_VideoCapability &() const;
    06846 #else
    06847     operator H245_VideoCapability &();
    06848     operator const H245_VideoCapability &() const;
    06849 #endif
    06850 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06851     operator H245_AudioCapability &() const;
    06852 #else
    06853     operator H245_AudioCapability &();
    06854     operator const H245_AudioCapability &() const;
    06855 #endif
    06856 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06857     operator H245_DataApplicationCapability &() const;
    06858 #else
    06859     operator H245_DataApplicationCapability &();
    06860     operator const H245_DataApplicationCapability &() const;
    06861 #endif
    06862 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06863     operator H245_RedundancyEncoding &() const;
    06864 #else
    06865     operator H245_RedundancyEncoding &();
    06866     operator const H245_RedundancyEncoding &() const;
    06867 #endif
    06868 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06869     operator H245_MultiplePayloadStream &() const;
    06870 #else
    06871     operator H245_MultiplePayloadStream &();
    06872     operator const H245_MultiplePayloadStream &() const;
    06873 #endif
    06874 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06875     operator H245_DepFECData &() const;
    06876 #else
    06877     operator H245_DepFECData &();
    06878     operator const H245_DepFECData &() const;
    06879 #endif
    06880 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06881     operator H245_FECData &() const;
    06882 #else
    06883     operator H245_FECData &();
    06884     operator const H245_FECData &() const;
    06885 #endif
    06886
    06887     PBoolean CreateObject();
    06888     PObject * Clone() const;
    06889 };
    06890
    06891
    06892 //
    06893 // H223LogicalChannelParameters_adaptationLayerType
    06894 //
    06895
    06896 class H245_NonStandardParameter;
    06897 class H245_H223LogicalChannelParameters_adaptationLayerType_al3;
    06898 class H245_H223AL1MParameters;
    06899 class H245_H223AL2MParameters;
    06900 class H245_H223AL3MParameters;
    06901
    06902 class H245_H223LogicalChannelParameters_adaptationLayerType : public PASN_Choice
    06903 {
    06904 #ifndef PASN_LEANANDMEAN
    06905     PCLASSINFO(H245_H223LogicalChannelParameters_adaptationLayerType, PASN_Choice);
    06906 #endif
    06907   public:
    06908     H245_H223LogicalChannelParameters_adaptationLayerType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    06909
    06910     enum Choices {
    06911       e_nonStandard,
    06912       e_al1Framed,
    06913       e_al1NotFramed,
    06914       e_al2WithoutSequenceNumbers,
    06915       e_al2WithSequenceNumbers,
    06916       e_al3,
    06917       e_al1M,
    06918       e_al2M,
    06919       e_al3M
    06920     };
    06921
    06922 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06923     operator H245_NonStandardParameter &() const;
    06924 #else
    06925     operator H245_NonStandardParameter &();
    06926     operator const H245_NonStandardParameter &() const;
    06927 #endif
    06928 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06929     operator H245_H223LogicalChannelParameters_adaptationLayerType_al3 &() const;
    06930 #else
    06931     operator H245_H223LogicalChannelParameters_adaptationLayerType_al3 &();
    06932     operator const H245_H223LogicalChannelParameters_adaptationLayerType_al3 &() const;
    06933 #endif
    06934 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06935     operator H245_H223AL1MParameters &() const;
    06936 #else
    06937     operator H245_H223AL1MParameters &();
    06938     operator const H245_H223AL1MParameters &() const;
    06939 #endif
    06940 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06941     operator H245_H223AL2MParameters &() const;
    06942 #else
    06943     operator H245_H223AL2MParameters &();
    06944     operator const H245_H223AL2MParameters &() const;
    06945 #endif
    06946 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    06947     operator H245_H223AL3MParameters &() const;
    06948 #else
    06949     operator H245_H223AL3MParameters &();
    06950     operator const H245_H223AL3MParameters &() const;
    06951 #endif
    06952
    06953     PBoolean CreateObject();
    06954     PObject * Clone() const;
    06955 };
    06956
    06957
    06958 //
    06959 // H223AL1MParameters_transferMode
    06960 //
    06961
    06962 class H245_H223AL1MParameters_transferMode : public PASN_Choice
    06963 {
    06964 #ifndef PASN_LEANANDMEAN
    06965     PCLASSINFO(H245_H223AL1MParameters_transferMode, PASN_Choice);
    06966 #endif
    06967   public:
    06968     H245_H223AL1MParameters_transferMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    06969
    06970     enum Choices {
    06971       e_framed,
    06972       e_unframed
    06973     };
    06974
    06975     PBoolean CreateObject();
    06976     PObject * Clone() const;
    06977 };
    06978
    06979
    06980 //
    06981 // H223AL1MParameters_headerFEC
    06982 //
    06983
    06984 class H245_H223AL1MParameters_headerFEC : public PASN_Choice
    06985 {
    06986 #ifndef PASN_LEANANDMEAN
    06987     PCLASSINFO(H245_H223AL1MParameters_headerFEC, PASN_Choice);
    06988 #endif
    06989   public:
    06990     H245_H223AL1MParameters_headerFEC(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    06991
    06992     enum Choices {
    06993       e_sebch16_7,
    06994       e_golay24_12
    06995     };
    06996
    06997     PBoolean CreateObject();
    06998     PObject * Clone() const;
    06999 };
    07000
    07001
    07002 //
    07003 // H223AL1MParameters_crcLength
    07004 //
    07005
    07006 class H245_H223AL1MParameters_crcLength : public PASN_Choice
    07007 {
    07008 #ifndef PASN_LEANANDMEAN
    07009     PCLASSINFO(H245_H223AL1MParameters_crcLength, PASN_Choice);
    07010 #endif
    07011   public:
    07012     H245_H223AL1MParameters_crcLength(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07013
    07014     enum Choices {
    07015       e_crc4bit,
    07016       e_crc12bit,
    07017       e_crc20bit,
    07018       e_crc28bit,
    07019       e_crc8bit,
    07020       e_crc16bit,
    07021       e_crc32bit,
    07022       e_crcNotUsed
    07023     };
    07024
    07025     PBoolean CreateObject();
    07026     PObject * Clone() const;
    07027 };
    07028
    07029
    07030 //
    07031 // H223AL1MParameters_arqType
    07032 //
    07033
    07034 class H245_H223AnnexCArqParameters;
    07035
    07036 class H245_H223AL1MParameters_arqType : public PASN_Choice
    07037 {
    07038 #ifndef PASN_LEANANDMEAN
    07039     PCLASSINFO(H245_H223AL1MParameters_arqType, PASN_Choice);
    07040 #endif
    07041   public:
    07042     H245_H223AL1MParameters_arqType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07043
    07044     enum Choices {
    07045       e_noArq,
    07046       e_typeIArq,
    07047       e_typeIIArq
    07048     };
    07049
    07050 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    07051     operator H245_H223AnnexCArqParameters &() const;
    07052 #else
    07053     operator H245_H223AnnexCArqParameters &();
    07054     operator const H245_H223AnnexCArqParameters &() const;
    07055 #endif
    07056
    07057     PBoolean CreateObject();
    07058     PObject * Clone() const;
    07059 };
    07060
    07061
    07062 //
    07063 // H223AL2MParameters_headerFEC
    07064 //
    07065
    07066 class H245_H223AL2MParameters_headerFEC : public PASN_Choice
    07067 {
    07068 #ifndef PASN_LEANANDMEAN
    07069     PCLASSINFO(H245_H223AL2MParameters_headerFEC, PASN_Choice);
    07070 #endif
    07071   public:
    07072     H245_H223AL2MParameters_headerFEC(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07073
    07074     enum Choices {
    07075       e_sebch16_5,
    07076       e_golay24_12
    07077     };
    07078
    07079     PBoolean CreateObject();
    07080     PObject * Clone() const;
    07081 };
    07082
    07083
    07084 //
    07085 // H223AL3MParameters_headerFormat
    07086 //
    07087
    07088 class H245_H223AL3MParameters_headerFormat : public PASN_Choice
    07089 {
    07090 #ifndef PASN_LEANANDMEAN
    07091     PCLASSINFO(H245_H223AL3MParameters_headerFormat, PASN_Choice);
    07092 #endif
    07093   public:
    07094     H245_H223AL3MParameters_headerFormat(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07095
    07096     enum Choices {
    07097       e_sebch16_7,
    07098       e_golay24_12
    07099     };
    07100
    07101     PBoolean CreateObject();
    07102     PObject * Clone() const;
    07103 };
    07104
    07105
    07106 //
    07107 // H223AL3MParameters_crcLength
    07108 //
    07109
    07110 class H245_H223AL3MParameters_crcLength : public PASN_Choice
    07111 {
    07112 #ifndef PASN_LEANANDMEAN
    07113     PCLASSINFO(H245_H223AL3MParameters_crcLength, PASN_Choice);
    07114 #endif
    07115   public:
    07116     H245_H223AL3MParameters_crcLength(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07117
    07118     enum Choices {
    07119       e_crc4bit,
    07120       e_crc12bit,
    07121       e_crc20bit,
    07122       e_crc28bit,
    07123       e_crc8bit,
    07124       e_crc16bit,
    07125       e_crc32bit,
    07126       e_crcNotUsed
    07127     };
    07128
    07129     PBoolean CreateObject();
    07130     PObject * Clone() const;
    07131 };
    07132
    07133
    07134 //
    07135 // H223AL3MParameters_arqType
    07136 //
    07137
    07138 class H245_H223AnnexCArqParameters;
    07139
    07140 class H245_H223AL3MParameters_arqType : public PASN_Choice
    07141 {
    07142 #ifndef PASN_LEANANDMEAN
    07143     PCLASSINFO(H245_H223AL3MParameters_arqType, PASN_Choice);
    07144 #endif
    07145   public:
    07146     H245_H223AL3MParameters_arqType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07147
    07148     enum Choices {
    07149       e_noArq,
    07150       e_typeIArq,
    07151       e_typeIIArq
    07152     };
    07153
    07154 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    07155     operator H245_H223AnnexCArqParameters &() const;
    07156 #else
    07157     operator H245_H223AnnexCArqParameters &();
    07158     operator const H245_H223AnnexCArqParameters &() const;
    07159 #endif
    07160
    07161     PBoolean CreateObject();
    07162     PObject * Clone() const;
    07163 };
    07164
    07165
    07166 //
    07167 // H223AnnexCArqParameters_numberOfRetransmissions
    07168 //
    07169
    07170 class H245_H223AnnexCArqParameters_numberOfRetransmissions : public PASN_Choice
    07171 {
    07172 #ifndef PASN_LEANANDMEAN
    07173     PCLASSINFO(H245_H223AnnexCArqParameters_numberOfRetransmissions, PASN_Choice);
    07174 #endif
    07175   public:
    07176     H245_H223AnnexCArqParameters_numberOfRetransmissions(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07177
    07178     enum Choices {
    07179       e_finite,
    07180       e_infinite
    07181     };
    07182
    07183     PBoolean CreateObject();
    07184     PObject * Clone() const;
    07185 };
    07186
    07187
    07188 //
    07189 // V76LogicalChannelParameters_suspendResume
    07190 //
    07191
    07192 class H245_V76LogicalChannelParameters_suspendResume : public PASN_Choice
    07193 {
    07194 #ifndef PASN_LEANANDMEAN
    07195     PCLASSINFO(H245_V76LogicalChannelParameters_suspendResume, PASN_Choice);
    07196 #endif
    07197   public:
    07198     H245_V76LogicalChannelParameters_suspendResume(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07199
    07200     enum Choices {
    07201       e_noSuspendResume,
    07202       e_suspendResumewAddress,
    07203       e_suspendResumewoAddress
    07204     };
    07205
    07206     PBoolean CreateObject();
    07207     PObject * Clone() const;
    07208 };
    07209
    07210
    07211 //
    07212 // V76LogicalChannelParameters_mode
    07213 //
    07214
    07215 class H245_V76LogicalChannelParameters_mode_eRM;
    07216
    07217 class H245_V76LogicalChannelParameters_mode : public PASN_Choice
    07218 {
    07219 #ifndef PASN_LEANANDMEAN
    07220     PCLASSINFO(H245_V76LogicalChannelParameters_mode, PASN_Choice);
    07221 #endif
    07222   public:
    07223     H245_V76LogicalChannelParameters_mode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07224
    07225     enum Choices {
    07226       e_eRM,
    07227       e_uNERM
    07228     };
    07229
    07230 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    07231     operator H245_V76LogicalChannelParameters_mode_eRM &() const;
    07232 #else
    07233     operator H245_V76LogicalChannelParameters_mode_eRM &();
    07234     operator const H245_V76LogicalChannelParameters_mode_eRM &() const;
    07235 #endif
    07236
    07237     PBoolean CreateObject();
    07238     PObject * Clone() const;
    07239 };
    07240
    07241
    07242 //
    07243 // H2250LogicalChannelParameters_mediaPacketization
    07244 //
    07245
    07246 class H245_RTPPayloadType;
    07247
    07248 class H245_H2250LogicalChannelParameters_mediaPacketization : public PASN_Choice
    07249 {
    07250 #ifndef PASN_LEANANDMEAN
    07251     PCLASSINFO(H245_H2250LogicalChannelParameters_mediaPacketization, PASN_Choice);
    07252 #endif
    07253   public:
    07254     H245_H2250LogicalChannelParameters_mediaPacketization(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07255
    07256     enum Choices {
    07257       e_h261aVideoPacketization,
    07258       e_rtpPayloadType
    07259     };
    07260
    07261 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    07262     operator H245_RTPPayloadType &() const;
    07263 #else
    07264     operator H245_RTPPayloadType &();
    07265     operator const H245_RTPPayloadType &() const;
    07266 #endif
    07267
    07268     PBoolean CreateObject();
    07269     PObject * Clone() const;
    07270 };
    07271
    07272
    07273 //
    07274 // RTPPayloadType_payloadDescriptor
    07275 //
    07276
    07277 class H245_NonStandardParameter;
    07278
    07279 class H245_RTPPayloadType_payloadDescriptor : public PASN_Choice
    07280 {
    07281 #ifndef PASN_LEANANDMEAN
    07282     PCLASSINFO(H245_RTPPayloadType_payloadDescriptor, PASN_Choice);
    07283 #endif
    07284   public:
    07285     H245_RTPPayloadType_payloadDescriptor(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07286
    07287     enum Choices {
    07288       e_nonStandardIdentifier,
    07289       e_rfc_number,
    07290       e_oid
    07291     };
    07292
    07293 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    07294     operator H245_NonStandardParameter &() const;
    07295 #else
    07296     operator H245_NonStandardParameter &();
    07297     operator const H245_NonStandardParameter &() const;
    07298 #endif
    07299
    07300     PBoolean CreateObject();
    07301     PObject * Clone() const;
    07302 };
    07303
    07304
    07305 //
    07306 // ArrayOf_MultiplePayloadStreamElement
    07307 //
    07308
    07309 class H245_MultiplePayloadStreamElement;
    07310
    07311 class H245_ArrayOf_MultiplePayloadStreamElement : public PASN_Array
    07312 {
    07313 #ifndef PASN_LEANANDMEAN
    07314     PCLASSINFO(H245_ArrayOf_MultiplePayloadStreamElement, PASN_Array);
    07315 #endif
    07316   public:
    07317     H245_ArrayOf_MultiplePayloadStreamElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07318
    07319     PASN_Object * CreateObject() const;
    07320     H245_MultiplePayloadStreamElement & operator[](PINDEX i) const;
    07321     PObject * Clone() const;
    07322 };
    07323
    07324
    07325 //
    07326 // UnicastAddress_iPAddress
    07327 //
    07328
    07329 class H245_UnicastAddress_iPAddress : public PASN_Sequence
    07330 {
    07331 #ifndef PASN_LEANANDMEAN
    07332     PCLASSINFO(H245_UnicastAddress_iPAddress, PASN_Sequence);
    07333 #endif
    07334   public:
    07335     H245_UnicastAddress_iPAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07336
    07337     PASN_OctetString m_network;
    07338     PASN_Integer m_tsapIdentifier;
    07339
    07340     PINDEX GetDataLength() const;
    07341     PBoolean Decode(PASN_Stream & strm);
    07342     void Encode(PASN_Stream & strm) const;
    07343 #ifndef PASN_NOPRINTON
    07344     void PrintOn(ostream & strm) const;
    07345 #endif
    07346     Comparison Compare(const PObject & obj) const;
    07347     PObject * Clone() const;
    07348 };
    07349
    07350
    07351 //
    07352 // UnicastAddress_iPXAddress
    07353 //
    07354
    07355 class H245_UnicastAddress_iPXAddress : public PASN_Sequence
    07356 {
    07357 #ifndef PASN_LEANANDMEAN
    07358     PCLASSINFO(H245_UnicastAddress_iPXAddress, PASN_Sequence);
    07359 #endif
    07360   public:
    07361     H245_UnicastAddress_iPXAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07362
    07363     PASN_OctetString m_node;
    07364     PASN_OctetString m_netnum;
    07365     PASN_OctetString m_tsapIdentifier;
    07366
    07367     PINDEX GetDataLength() const;
    07368     PBoolean Decode(PASN_Stream & strm);
    07369     void Encode(PASN_Stream & strm) const;
    07370 #ifndef PASN_NOPRINTON
    07371     void PrintOn(ostream & strm) const;
    07372 #endif
    07373     Comparison Compare(const PObject & obj) const;
    07374     PObject * Clone() const;
    07375 };
    07376
    07377
    07378 //
    07379 // UnicastAddress_iP6Address
    07380 //
    07381
    07382 class H245_UnicastAddress_iP6Address : public PASN_Sequence
    07383 {
    07384 #ifndef PASN_LEANANDMEAN
    07385     PCLASSINFO(H245_UnicastAddress_iP6Address, PASN_Sequence);
    07386 #endif
    07387   public:
    07388     H245_UnicastAddress_iP6Address(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07389
    07390     PASN_OctetString m_network;
    07391     PASN_Integer m_tsapIdentifier;
    07392
    07393     PINDEX GetDataLength() const;
    07394     PBoolean Decode(PASN_Stream & strm);
    07395     void Encode(PASN_Stream & strm) const;
    07396 #ifndef PASN_NOPRINTON
    07397     void PrintOn(ostream & strm) const;
    07398 #endif
    07399     Comparison Compare(const PObject & obj) const;
    07400     PObject * Clone() const;
    07401 };
    07402
    07403
    07404 //
    07405 // MulticastAddress_iPAddress
    07406 //
    07407
    07408 class H245_MulticastAddress_iPAddress : public PASN_Sequence
    07409 {
    07410 #ifndef PASN_LEANANDMEAN
    07411     PCLASSINFO(H245_MulticastAddress_iPAddress, PASN_Sequence);
    07412 #endif
    07413   public:
    07414     H245_MulticastAddress_iPAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07415
    07416     PASN_OctetString m_network;
    07417     PASN_Integer m_tsapIdentifier;
    07418
    07419     PINDEX GetDataLength() const;
    07420     PBoolean Decode(PASN_Stream & strm);
    07421     void Encode(PASN_Stream & strm) const;
    07422 #ifndef PASN_NOPRINTON
    07423     void PrintOn(ostream & strm) const;
    07424 #endif
    07425     Comparison Compare(const PObject & obj) const;
    07426     PObject * Clone() const;
    07427 };
    07428
    07429
    07430 //
    07431 // MulticastAddress_iP6Address
    07432 //
    07433
    07434 class H245_MulticastAddress_iP6Address : public PASN_Sequence
    07435 {
    07436 #ifndef PASN_LEANANDMEAN
    07437     PCLASSINFO(H245_MulticastAddress_iP6Address, PASN_Sequence);
    07438 #endif
    07439   public:
    07440     H245_MulticastAddress_iP6Address(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07441
    07442     PASN_OctetString m_network;
    07443     PASN_Integer m_tsapIdentifier;
    07444
    07445     PINDEX GetDataLength() const;
    07446     PBoolean Decode(PASN_Stream & strm);
    07447     void Encode(PASN_Stream & strm) const;
    07448 #ifndef PASN_NOPRINTON
    07449     void PrintOn(ostream & strm) const;
    07450 #endif
    07451     Comparison Compare(const PObject & obj) const;
    07452     PObject * Clone() const;
    07453 };
    07454
    07455
    07456 //
    07457 // ArrayOf_EscrowData
    07458 //
    07459
    07460 class H245_EscrowData;
    07461
    07462 class H245_ArrayOf_EscrowData : public PASN_Array
    07463 {
    07464 #ifndef PASN_LEANANDMEAN
    07465     PCLASSINFO(H245_ArrayOf_EscrowData, PASN_Array);
    07466 #endif
    07467   public:
    07468     H245_ArrayOf_EscrowData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07469
    07470     PASN_Object * CreateObject() const;
    07471     H245_EscrowData & operator[](PINDEX i) const;
    07472     PObject * Clone() const;
    07473 };
    07474
    07475
    07476 //
    07477 // OpenLogicalChannelAck_forwardMultiplexAckParameters
    07478 //
    07479
    07480 class H245_H2250LogicalChannelAckParameters;
    07481
    07482 class H245_OpenLogicalChannelAck_forwardMultiplexAckParameters : public PASN_Choice
    07483 {
    07484 #ifndef PASN_LEANANDMEAN
    07485     PCLASSINFO(H245_OpenLogicalChannelAck_forwardMultiplexAckParameters, PASN_Choice);
    07486 #endif
    07487   public:
    07488     H245_OpenLogicalChannelAck_forwardMultiplexAckParameters(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07489
    07490     enum Choices {
    07491       e_h2250LogicalChannelAckParameters
    07492     };
    07493
    07494 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    07495     operator H245_H2250LogicalChannelAckParameters &() const;
    07496 #else
    07497     operator H245_H2250LogicalChannelAckParameters &();
    07498     operator const H245_H2250LogicalChannelAckParameters &() const;
    07499 #endif
    07500
    07501     PBoolean CreateObject();
    07502     PObject * Clone() const;
    07503 };
    07504
    07505
    07506 //
    07507 // OpenLogicalChannelReject_cause
    07508 //
    07509
    07510 class H245_OpenLogicalChannelReject_cause : public PASN_Choice
    07511 {
    07512 #ifndef PASN_LEANANDMEAN
    07513     PCLASSINFO(H245_OpenLogicalChannelReject_cause, PASN_Choice);
    07514 #endif
    07515   public:
    07516     H245_OpenLogicalChannelReject_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07517
    07518     enum Choices {
    07519       e_unspecified,
    07520       e_unsuitableReverseParameters,
    07521       e_dataTypeNotSupported,
    07522       e_dataTypeNotAvailable,
    07523       e_unknownDataType,
    07524       e_dataTypeALCombinationNotSupported,
    07525       e_multicastChannelNotAllowed,
    07526       e_insufficientBandwidth,
    07527       e_separateStackEstablishmentFailed,
    07528       e_invalidSessionID,
    07529       e_masterSlaveConflict,
    07530       e_waitForCommunicationMode,
    07531       e_invalidDependentChannel,
    07532       e_replacementForRejected,
    07533       e_securityDenied
    07534     };
    07535
    07536     PBoolean CreateObject();
    07537     PObject * Clone() const;
    07538 };
    07539
    07540
    07541 //
    07542 // CloseLogicalChannel_source
    07543 //
    07544
    07545 class H245_CloseLogicalChannel_source : public PASN_Choice
    07546 {
    07547 #ifndef PASN_LEANANDMEAN
    07548     PCLASSINFO(H245_CloseLogicalChannel_source, PASN_Choice);
    07549 #endif
    07550   public:
    07551     H245_CloseLogicalChannel_source(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07552
    07553     enum Choices {
    07554       e_user,
    07555       e_lcse
    07556     };
    07557
    07558     PBoolean CreateObject();
    07559     PObject * Clone() const;
    07560 };
    07561
    07562
    07563 //
    07564 // CloseLogicalChannel_reason
    07565 //
    07566
    07567 class H245_CloseLogicalChannel_reason : public PASN_Choice
    07568 {
    07569 #ifndef PASN_LEANANDMEAN
    07570     PCLASSINFO(H245_CloseLogicalChannel_reason, PASN_Choice);
    07571 #endif
    07572   public:
    07573     H245_CloseLogicalChannel_reason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07574
    07575     enum Choices {
    07576       e_unknown,
    07577       e_reopen,
    07578       e_reservationFailure
    07579     };
    07580
    07581     PBoolean CreateObject();
    07582     PObject * Clone() const;
    07583 };
    07584
    07585
    07586 //
    07587 // RequestChannelClose_reason
    07588 //
    07589
    07590 class H245_RequestChannelClose_reason : public PASN_Choice
    07591 {
    07592 #ifndef PASN_LEANANDMEAN
    07593     PCLASSINFO(H245_RequestChannelClose_reason, PASN_Choice);
    07594 #endif
    07595   public:
    07596     H245_RequestChannelClose_reason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07597
    07598     enum Choices {
    07599       e_unknown,
    07600       e_normal,
    07601       e_reopen,
    07602       e_reservationFailure
    07603     };
    07604
    07605     PBoolean CreateObject();
    07606     PObject * Clone() const;
    07607 };
    07608
    07609
    07610 //
    07611 // RequestChannelCloseReject_cause
    07612 //
    07613
    07614 class H245_RequestChannelCloseReject_cause : public PASN_Choice
    07615 {
    07616 #ifndef PASN_LEANANDMEAN
    07617     PCLASSINFO(H245_RequestChannelCloseReject_cause, PASN_Choice);
    07618 #endif
    07619   public:
    07620     H245_RequestChannelCloseReject_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07621
    07622     enum Choices {
    07623       e_unspecified
    07624     };
    07625
    07626     PBoolean CreateObject();
    07627     PObject * Clone() const;
    07628 };
    07629
    07630
    07631 //
    07632 // ArrayOf_MultiplexEntryDescriptor
    07633 //
    07634
    07635 class H245_MultiplexEntryDescriptor;
    07636
    07637 class H245_ArrayOf_MultiplexEntryDescriptor : public PASN_Array
    07638 {
    07639 #ifndef PASN_LEANANDMEAN
    07640     PCLASSINFO(H245_ArrayOf_MultiplexEntryDescriptor, PASN_Array);
    07641 #endif
    07642   public:
    07643     H245_ArrayOf_MultiplexEntryDescriptor(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    07644
    07645     PASN_Object * CreateObject() const;
    07646     H245_MultiplexEntryDescriptor & operator[](PINDEX i) const;
    07647     PObject * Clone() const;
    07648 };
    07649
    07650
    07651 //
    07652 // ArrayOf_MultiplexElement
    07653 //
    07654
    07655 class H245_MultiplexElement;
    07656
    07657 class H245_ArrayOf_MultiplexElement : public PASN_Array
    07658 {
    07659 #ifndef PASN_LEANANDMEAN
    07660     PCLASSINFO(H245_ArrayOf_MultiplexElement, PASN_Array);
    07661 #endif
    07662   public:
    07663     H245_ArrayOf_MultiplexElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07664
    07665     PASN_Object * CreateObject() const;
    07666     H245_MultiplexElement & operator[](PINDEX i) const;
    07667     PObject * Clone() const;
    07668 };
    07669
    07670
    07671 //
    07672 // MultiplexElement_type
    07673 //
    07674
    07675 class H245_ArrayOf_MultiplexElement;
    07676
    07677 class H245_MultiplexElement_type : public PASN_Choice
    07678 {
    07679 #ifndef PASN_LEANANDMEAN
    07680     PCLASSINFO(H245_MultiplexElement_type, PASN_Choice);
    07681 #endif
    07682   public:
    07683     H245_MultiplexElement_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07684
    07685     enum Choices {
    07686       e_logicalChannelNumber,
    07687       e_subElementList
    07688     };
    07689
    07690 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    07691     operator H245_ArrayOf_MultiplexElement &() const;
    07692 #else
    07693     operator H245_ArrayOf_MultiplexElement &();
    07694     operator const H245_ArrayOf_MultiplexElement &() const;
    07695 #endif
    07696
    07697     PBoolean CreateObject();
    07698     PObject * Clone() const;
    07699 };
    07700
    07701
    07702 //
    07703 // MultiplexElement_repeatCount
    07704 //
    07705
    07706 class H245_MultiplexElement_repeatCount : public PASN_Choice
    07707 {
    07708 #ifndef PASN_LEANANDMEAN
    07709     PCLASSINFO(H245_MultiplexElement_repeatCount, PASN_Choice);
    07710 #endif
    07711   public:
    07712     H245_MultiplexElement_repeatCount(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07713
    07714     enum Choices {
    07715       e_finite,
    07716       e_untilClosingFlag
    07717     };
    07718
    07719     PBoolean CreateObject();
    07720     PObject * Clone() const;
    07721 };
    07722
    07723
    07724 //
    07725 // ArrayOf_MultiplexTableEntryNumber
    07726 //
    07727
    07728 class H245_MultiplexTableEntryNumber;
    07729
    07730 class H245_ArrayOf_MultiplexTableEntryNumber : public PASN_Array
    07731 {
    07732 #ifndef PASN_LEANANDMEAN
    07733     PCLASSINFO(H245_ArrayOf_MultiplexTableEntryNumber, PASN_Array);
    07734 #endif
    07735   public:
    07736     H245_ArrayOf_MultiplexTableEntryNumber(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    07737
    07738     PASN_Object * CreateObject() const;
    07739     H245_MultiplexTableEntryNumber & operator[](PINDEX i) const;
    07740     PObject * Clone() const;
    07741 };
    07742
    07743
    07744 //
    07745 // ArrayOf_MultiplexEntryRejectionDescriptions
    07746 //
    07747
    07748 class H245_MultiplexEntryRejectionDescriptions;
    07749
    07750 class H245_ArrayOf_MultiplexEntryRejectionDescriptions : public PASN_Array
    07751 {
    07752 #ifndef PASN_LEANANDMEAN
    07753     PCLASSINFO(H245_ArrayOf_MultiplexEntryRejectionDescriptions, PASN_Array);
    07754 #endif
    07755   public:
    07756     H245_ArrayOf_MultiplexEntryRejectionDescriptions(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    07757
    07758     PASN_Object * CreateObject() const;
    07759     H245_MultiplexEntryRejectionDescriptions & operator[](PINDEX i) const;
    07760     PObject * Clone() const;
    07761 };
    07762
    07763
    07764 //
    07765 // MultiplexEntryRejectionDescriptions_cause
    07766 //
    07767
    07768 class H245_MultiplexEntryRejectionDescriptions_cause : public PASN_Choice
    07769 {
    07770 #ifndef PASN_LEANANDMEAN
    07771     PCLASSINFO(H245_MultiplexEntryRejectionDescriptions_cause, PASN_Choice);
    07772 #endif
    07773   public:
    07774     H245_MultiplexEntryRejectionDescriptions_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07775
    07776     enum Choices {
    07777       e_unspecifiedCause,
    07778       e_descriptorTooComplex
    07779     };
    07780
    07781     PBoolean CreateObject();
    07782     PObject * Clone() const;
    07783 };
    07784
    07785
    07786 //
    07787 // ArrayOf_RequestMultiplexEntryRejectionDescriptions
    07788 //
    07789
    07790 class H245_RequestMultiplexEntryRejectionDescriptions;
    07791
    07792 class H245_ArrayOf_RequestMultiplexEntryRejectionDescriptions : public PASN_Array
    07793 {
    07794 #ifndef PASN_LEANANDMEAN
    07795     PCLASSINFO(H245_ArrayOf_RequestMultiplexEntryRejectionDescriptions, PASN_Array);
    07796 #endif
    07797   public:
    07798     H245_ArrayOf_RequestMultiplexEntryRejectionDescriptions(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    07799
    07800     PASN_Object * CreateObject() const;
    07801     H245_RequestMultiplexEntryRejectionDescriptions & operator[](PINDEX i) const;
    07802     PObject * Clone() const;
    07803 };
    07804
    07805
    07806 //
    07807 // RequestMultiplexEntryRejectionDescriptions_cause
    07808 //
    07809
    07810 class H245_RequestMultiplexEntryRejectionDescriptions_cause : public PASN_Choice
    07811 {
    07812 #ifndef PASN_LEANANDMEAN
    07813     PCLASSINFO(H245_RequestMultiplexEntryRejectionDescriptions_cause, PASN_Choice);
    07814 #endif
    07815   public:
    07816     H245_RequestMultiplexEntryRejectionDescriptions_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07817
    07818     enum Choices {
    07819       e_unspecifiedCause
    07820     };
    07821
    07822     PBoolean CreateObject();
    07823     PObject * Clone() const;
    07824 };
    07825
    07826
    07827 //
    07828 // ArrayOf_ModeDescription
    07829 //
    07830
    07831 class H245_ModeDescription;
    07832
    07833 class H245_ArrayOf_ModeDescription : public PASN_Array
    07834 {
    07835 #ifndef PASN_LEANANDMEAN
    07836     PCLASSINFO(H245_ArrayOf_ModeDescription, PASN_Array);
    07837 #endif
    07838   public:
    07839     H245_ArrayOf_ModeDescription(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07840
    07841     PASN_Object * CreateObject() const;
    07842     H245_ModeDescription & operator[](PINDEX i) const;
    07843     PObject * Clone() const;
    07844 };
    07845
    07846
    07847 //
    07848 // RequestModeAck_response
    07849 //
    07850
    07851 class H245_RequestModeAck_response : public PASN_Choice
    07852 {
    07853 #ifndef PASN_LEANANDMEAN
    07854     PCLASSINFO(H245_RequestModeAck_response, PASN_Choice);
    07855 #endif
    07856   public:
    07857     H245_RequestModeAck_response(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07858
    07859     enum Choices {
    07860       e_willTransmitMostPreferredMode,
    07861       e_willTransmitLessPreferredMode
    07862     };
    07863
    07864     PBoolean CreateObject();
    07865     PObject * Clone() const;
    07866 };
    07867
    07868
    07869 //
    07870 // RequestModeReject_cause
    07871 //
    07872
    07873 class H245_RequestModeReject_cause : public PASN_Choice
    07874 {
    07875 #ifndef PASN_LEANANDMEAN
    07876     PCLASSINFO(H245_RequestModeReject_cause, PASN_Choice);
    07877 #endif
    07878   public:
    07879     H245_RequestModeReject_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07880
    07881     enum Choices {
    07882       e_modeUnavailable,
    07883       e_multipointConstraint,
    07884       e_requestDenied
    07885     };
    07886
    07887     PBoolean CreateObject();
    07888     PObject * Clone() const;
    07889 };
    07890
    07891
    07892 //
    07893 // H235Mode_mediaMode
    07894 //
    07895
    07896 class H245_NonStandardParameter;
    07897 class H245_VideoMode;
    07898 class H245_AudioMode;
    07899 class H245_DataMode;
    07900
    07901 class H245_H235Mode_mediaMode : public PASN_Choice
    07902 {
    07903 #ifndef PASN_LEANANDMEAN
    07904     PCLASSINFO(H245_H235Mode_mediaMode, PASN_Choice);
    07905 #endif
    07906   public:
    07907     H245_H235Mode_mediaMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07908
    07909     enum Choices {
    07910       e_nonStandard,
    07911       e_videoMode,
    07912       e_audioMode,
    07913       e_dataMode
    07914     };
    07915
    07916 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    07917     operator H245_NonStandardParameter &() const;
    07918 #else
    07919     operator H245_NonStandardParameter &();
    07920     operator const H245_NonStandardParameter &() const;
    07921 #endif
    07922 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    07923     operator H245_VideoMode &() const;
    07924 #else
    07925     operator H245_VideoMode &();
    07926     operator const H245_VideoMode &() const;
    07927 #endif
    07928 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    07929     operator H245_AudioMode &() const;
    07930 #else
    07931     operator H245_AudioMode &();
    07932     operator const H245_AudioMode &() const;
    07933 #endif
    07934 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    07935     operator H245_DataMode &() const;
    07936 #else
    07937     operator H245_DataMode &();
    07938     operator const H245_DataMode &() const;
    07939 #endif
    07940
    07941     PBoolean CreateObject();
    07942     PObject * Clone() const;
    07943 };
    07944
    07945
    07946 //
    07947 // ArrayOf_RedundancyEncodingDTModeElement
    07948 //
    07949
    07950 class H245_RedundancyEncodingDTModeElement;
    07951
    07952 class H245_ArrayOf_RedundancyEncodingDTModeElement : public PASN_Array
    07953 {
    07954 #ifndef PASN_LEANANDMEAN
    07955     PCLASSINFO(H245_ArrayOf_RedundancyEncodingDTModeElement, PASN_Array);
    07956 #endif
    07957   public:
    07958     H245_ArrayOf_RedundancyEncodingDTModeElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    07959
    07960     PASN_Object * CreateObject() const;
    07961     H245_RedundancyEncodingDTModeElement & operator[](PINDEX i) const;
    07962     PObject * Clone() const;
    07963 };
    07964
    07965
    07966 //
    07967 // RedundancyEncodingDTModeElement_type
    07968 //
    07969
    07970 class H245_NonStandardParameter;
    07971 class H245_VideoMode;
    07972 class H245_AudioMode;
    07973 class H245_DataMode;
    07974 class H245_EncryptionMode;
    07975 class H245_H235Mode;
    07976 class H245_FECMode;
    07977
    07978 class H245_RedundancyEncodingDTModeElement_type : public PASN_Choice
    07979 {
    07980 #ifndef PASN_LEANANDMEAN
    07981     PCLASSINFO(H245_RedundancyEncodingDTModeElement_type, PASN_Choice);
    07982 #endif
    07983   public:
    07984     H245_RedundancyEncodingDTModeElement_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    07985
    07986     enum Choices {
    07987       e_nonStandard,
    07988       e_videoMode,
    07989       e_audioMode,
    07990       e_dataMode,
    07991       e_encryptionMode,
    07992       e_h235Mode,
    07993       e_fecMode
    07994     };
    07995
    07996 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    07997     operator H245_NonStandardParameter &() const;
    07998 #else
    07999     operator H245_NonStandardParameter &();
    08000     operator const H245_NonStandardParameter &() const;
    08001 #endif
    08002 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08003     operator H245_VideoMode &() const;
    08004 #else
    08005     operator H245_VideoMode &();
    08006     operator const H245_VideoMode &() const;
    08007 #endif
    08008 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08009     operator H245_AudioMode &() const;
    08010 #else
    08011     operator H245_AudioMode &();
    08012     operator const H245_AudioMode &() const;
    08013 #endif
    08014 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08015     operator H245_DataMode &() const;
    08016 #else
    08017     operator H245_DataMode &();
    08018     operator const H245_DataMode &() const;
    08019 #endif
    08020 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08021     operator H245_EncryptionMode &() const;
    08022 #else
    08023     operator H245_EncryptionMode &();
    08024     operator const H245_EncryptionMode &() const;
    08025 #endif
    08026 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08027     operator H245_H235Mode &() const;
    08028 #else
    08029     operator H245_H235Mode &();
    08030     operator const H245_H235Mode &() const;
    08031 #endif
    08032 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08033     operator H245_FECMode &() const;
    08034 #else
    08035     operator H245_FECMode &();
    08036     operator const H245_FECMode &() const;
    08037 #endif
    08038
    08039     PBoolean CreateObject();
    08040     PObject * Clone() const;
    08041 };
    08042
    08043
    08044 //
    08045 // ArrayOf_MultiplePayloadStreamElementMode
    08046 //
    08047
    08048 class H245_MultiplePayloadStreamElementMode;
    08049
    08050 class H245_ArrayOf_MultiplePayloadStreamElementMode : public PASN_Array
    08051 {
    08052 #ifndef PASN_LEANANDMEAN
    08053     PCLASSINFO(H245_ArrayOf_MultiplePayloadStreamElementMode, PASN_Array);
    08054 #endif
    08055   public:
    08056     H245_ArrayOf_MultiplePayloadStreamElementMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08057
    08058     PASN_Object * CreateObject() const;
    08059     H245_MultiplePayloadStreamElementMode & operator[](PINDEX i) const;
    08060     PObject * Clone() const;
    08061 };
    08062
    08063
    08064 //
    08065 // FECMode_rfc2733Format
    08066 //
    08067
    08068 class H245_MaxRedundancy;
    08069
    08070 class H245_FECMode_rfc2733Format : public PASN_Choice
    08071 {
    08072 #ifndef PASN_LEANANDMEAN
    08073     PCLASSINFO(H245_FECMode_rfc2733Format, PASN_Choice);
    08074 #endif
    08075   public:
    08076     H245_FECMode_rfc2733Format(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08077
    08078     enum Choices {
    08079       e_rfc2733rfc2198,
    08080       e_rfc2733sameport,
    08081       e_rfc2733diffport
    08082     };
    08083
    08084 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08085     operator H245_MaxRedundancy &() const;
    08086 #else
    08087     operator H245_MaxRedundancy &();
    08088     operator const H245_MaxRedundancy &() const;
    08089 #endif
    08090
    08091     PBoolean CreateObject();
    08092     PObject * Clone() const;
    08093 };
    08094
    08095
    08096 //
    08097 // H223ModeParameters_adaptationLayerType
    08098 //
    08099
    08100 class H245_NonStandardParameter;
    08101 class H245_H223ModeParameters_adaptationLayerType_al3;
    08102 class H245_H223AL1MParameters;
    08103 class H245_H223AL2MParameters;
    08104 class H245_H223AL3MParameters;
    08105
    08106 class H245_H223ModeParameters_adaptationLayerType : public PASN_Choice
    08107 {
    08108 #ifndef PASN_LEANANDMEAN
    08109     PCLASSINFO(H245_H223ModeParameters_adaptationLayerType, PASN_Choice);
    08110 #endif
    08111   public:
    08112     H245_H223ModeParameters_adaptationLayerType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08113
    08114     enum Choices {
    08115       e_nonStandard,
    08116       e_al1Framed,
    08117       e_al1NotFramed,
    08118       e_al2WithoutSequenceNumbers,
    08119       e_al2WithSequenceNumbers,
    08120       e_al3,
    08121       e_al1M,
    08122       e_al2M,
    08123       e_al3M
    08124     };
    08125
    08126 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08127     operator H245_NonStandardParameter &() const;
    08128 #else
    08129     operator H245_NonStandardParameter &();
    08130     operator const H245_NonStandardParameter &() const;
    08131 #endif
    08132 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08133     operator H245_H223ModeParameters_adaptationLayerType_al3 &() const;
    08134 #else
    08135     operator H245_H223ModeParameters_adaptationLayerType_al3 &();
    08136     operator const H245_H223ModeParameters_adaptationLayerType_al3 &() const;
    08137 #endif
    08138 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08139     operator H245_H223AL1MParameters &() const;
    08140 #else
    08141     operator H245_H223AL1MParameters &();
    08142     operator const H245_H223AL1MParameters &() const;
    08143 #endif
    08144 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08145     operator H245_H223AL2MParameters &() const;
    08146 #else
    08147     operator H245_H223AL2MParameters &();
    08148     operator const H245_H223AL2MParameters &() const;
    08149 #endif
    08150 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08151     operator H245_H223AL3MParameters &() const;
    08152 #else
    08153     operator H245_H223AL3MParameters &();
    08154     operator const H245_H223AL3MParameters &() const;
    08155 #endif
    08156
    08157     PBoolean CreateObject();
    08158     PObject * Clone() const;
    08159 };
    08160
    08161
    08162 //
    08163 // RedundancyEncodingMode_secondaryEncoding
    08164 //
    08165
    08166 class H245_NonStandardParameter;
    08167 class H245_AudioMode;
    08168
    08169 class H245_RedundancyEncodingMode_secondaryEncoding : public PASN_Choice
    08170 {
    08171 #ifndef PASN_LEANANDMEAN
    08172     PCLASSINFO(H245_RedundancyEncodingMode_secondaryEncoding, PASN_Choice);
    08173 #endif
    08174   public:
    08175     H245_RedundancyEncodingMode_secondaryEncoding(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08176
    08177     enum Choices {
    08178       e_nonStandard,
    08179       e_audioData
    08180     };
    08181
    08182 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08183     operator H245_NonStandardParameter &() const;
    08184 #else
    08185     operator H245_NonStandardParameter &();
    08186     operator const H245_NonStandardParameter &() const;
    08187 #endif
    08188 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08189     operator H245_AudioMode &() const;
    08190 #else
    08191     operator H245_AudioMode &();
    08192     operator const H245_AudioMode &() const;
    08193 #endif
    08194
    08195     PBoolean CreateObject();
    08196     PObject * Clone() const;
    08197 };
    08198
    08199
    08200 //
    08201 // H261VideoMode_resolution
    08202 //
    08203
    08204 class H245_H261VideoMode_resolution : public PASN_Choice
    08205 {
    08206 #ifndef PASN_LEANANDMEAN
    08207     PCLASSINFO(H245_H261VideoMode_resolution, PASN_Choice);
    08208 #endif
    08209   public:
    08210     H245_H261VideoMode_resolution(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08211
    08212     enum Choices {
    08213       e_qcif,
    08214       e_cif
    08215     };
    08216
    08217     PBoolean CreateObject();
    08218     PObject * Clone() const;
    08219 };
    08220
    08221
    08222 //
    08223 // H262VideoMode_profileAndLevel
    08224 //
    08225
    08226 class H245_H262VideoMode_profileAndLevel : public PASN_Choice
    08227 {
    08228 #ifndef PASN_LEANANDMEAN
    08229     PCLASSINFO(H245_H262VideoMode_profileAndLevel, PASN_Choice);
    08230 #endif
    08231   public:
    08232     H245_H262VideoMode_profileAndLevel(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08233
    08234     enum Choices {
    08235       e_profileAndLevel_SPatML,
    08236       e_profileAndLevel_MPatLL,
    08237       e_profileAndLevel_MPatML,
    08238       e_profileAndLevel_MPatH_14,
    08239       e_profileAndLevel_MPatHL,
    08240       e_profileAndLevel_SNRatLL,
    08241       e_profileAndLevel_SNRatML,
    08242       e_profileAndLevel_SpatialatH_14,
    08243       e_profileAndLevel_HPatML,
    08244       e_profileAndLevel_HPatH_14,
    08245       e_profileAndLevel_HPatHL
    08246     };
    08247
    08248     PBoolean CreateObject();
    08249     PObject * Clone() const;
    08250 };
    08251
    08252
    08253 //
    08254 // H263VideoMode_resolution
    08255 //
    08256
    08257 class H245_H263VideoMode_resolution : public PASN_Choice
    08258 {
    08259 #ifndef PASN_LEANANDMEAN
    08260     PCLASSINFO(H245_H263VideoMode_resolution, PASN_Choice);
    08261 #endif
    08262   public:
    08263     H245_H263VideoMode_resolution(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08264
    08265     enum Choices {
    08266       e_sqcif,
    08267       e_qcif,
    08268       e_cif,
    08269       e_cif4,
    08270       e_cif16,
    08271       e_custom
    08272     };
    08273
    08274     PBoolean CreateObject();
    08275     PObject * Clone() const;
    08276 };
    08277
    08278
    08279 //
    08280 // AudioMode_g7231
    08281 //
    08282
    08283 class H245_AudioMode_g7231 : public PASN_Choice
    08284 {
    08285 #ifndef PASN_LEANANDMEAN
    08286     PCLASSINFO(H245_AudioMode_g7231, PASN_Choice);
    08287 #endif
    08288   public:
    08289     H245_AudioMode_g7231(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08290
    08291     enum Choices {
    08292       e_noSilenceSuppressionLowRate,
    08293       e_noSilenceSuppressionHighRate,
    08294       e_silenceSuppressionLowRate,
    08295       e_silenceSuppressionHighRate
    08296     };
    08297
    08298     PBoolean CreateObject();
    08299     PObject * Clone() const;
    08300 };
    08301
    08302
    08303 //
    08304 // IS11172AudioMode_audioLayer
    08305 //
    08306
    08307 class H245_IS11172AudioMode_audioLayer : public PASN_Choice
    08308 {
    08309 #ifndef PASN_LEANANDMEAN
    08310     PCLASSINFO(H245_IS11172AudioMode_audioLayer, PASN_Choice);
    08311 #endif
    08312   public:
    08313     H245_IS11172AudioMode_audioLayer(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08314
    08315     enum Choices {
    08316       e_audioLayer1,
    08317       e_audioLayer2,
    08318       e_audioLayer3
    08319     };
    08320
    08321     PBoolean CreateObject();
    08322     PObject * Clone() const;
    08323 };
    08324
    08325
    08326 //
    08327 // IS11172AudioMode_audioSampling
    08328 //
    08329
    08330 class H245_IS11172AudioMode_audioSampling : public PASN_Choice
    08331 {
    08332 #ifndef PASN_LEANANDMEAN
    08333     PCLASSINFO(H245_IS11172AudioMode_audioSampling, PASN_Choice);
    08334 #endif
    08335   public:
    08336     H245_IS11172AudioMode_audioSampling(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08337
    08338     enum Choices {
    08339       e_audioSampling32k,
    08340       e_audioSampling44k1,
    08341       e_audioSampling48k
    08342     };
    08343
    08344     PBoolean CreateObject();
    08345     PObject * Clone() const;
    08346 };
    08347
    08348
    08349 //
    08350 // IS11172AudioMode_multichannelType
    08351 //
    08352
    08353 class H245_IS11172AudioMode_multichannelType : public PASN_Choice
    08354 {
    08355 #ifndef PASN_LEANANDMEAN
    08356     PCLASSINFO(H245_IS11172AudioMode_multichannelType, PASN_Choice);
    08357 #endif
    08358   public:
    08359     H245_IS11172AudioMode_multichannelType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08360
    08361     enum Choices {
    08362       e_singleChannel,
    08363       e_twoChannelStereo,
    08364       e_twoChannelDual
    08365     };
    08366
    08367     PBoolean CreateObject();
    08368     PObject * Clone() const;
    08369 };
    08370
    08371
    08372 //
    08373 // IS13818AudioMode_audioLayer
    08374 //
    08375
    08376 class H245_IS13818AudioMode_audioLayer : public PASN_Choice
    08377 {
    08378 #ifndef PASN_LEANANDMEAN
    08379     PCLASSINFO(H245_IS13818AudioMode_audioLayer, PASN_Choice);
    08380 #endif
    08381   public:
    08382     H245_IS13818AudioMode_audioLayer(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08383
    08384     enum Choices {
    08385       e_audioLayer1,
    08386       e_audioLayer2,
    08387       e_audioLayer3
    08388     };
    08389
    08390     PBoolean CreateObject();
    08391     PObject * Clone() const;
    08392 };
    08393
    08394
    08395 //
    08396 // IS13818AudioMode_audioSampling
    08397 //
    08398
    08399 class H245_IS13818AudioMode_audioSampling : public PASN_Choice
    08400 {
    08401 #ifndef PASN_LEANANDMEAN
    08402     PCLASSINFO(H245_IS13818AudioMode_audioSampling, PASN_Choice);
    08403 #endif
    08404   public:
    08405     H245_IS13818AudioMode_audioSampling(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08406
    08407     enum Choices {
    08408       e_audioSampling16k,
    08409       e_audioSampling22k05,
    08410       e_audioSampling24k,
    08411       e_audioSampling32k,
    08412       e_audioSampling44k1,
    08413       e_audioSampling48k
    08414     };
    08415
    08416     PBoolean CreateObject();
    08417     PObject * Clone() const;
    08418 };
    08419
    08420
    08421 //
    08422 // IS13818AudioMode_multichannelType
    08423 //
    08424
    08425 class H245_IS13818AudioMode_multichannelType : public PASN_Choice
    08426 {
    08427 #ifndef PASN_LEANANDMEAN
    08428     PCLASSINFO(H245_IS13818AudioMode_multichannelType, PASN_Choice);
    08429 #endif
    08430   public:
    08431     H245_IS13818AudioMode_multichannelType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08432
    08433     enum Choices {
    08434       e_singleChannel,
    08435       e_twoChannelStereo,
    08436       e_twoChannelDual,
    08437       e_threeChannels2_1,
    08438       e_threeChannels3_0,
    08439       e_fourChannels2_0_2_0,
    08440       e_fourChannels2_2,
    08441       e_fourChannels3_1,
    08442       e_fiveChannels3_0_2_0,
    08443       e_fiveChannels3_2
    08444     };
    08445
    08446     PBoolean CreateObject();
    08447     PObject * Clone() const;
    08448 };
    08449
    08450
    08451 //
    08452 // G7231AnnexCMode_g723AnnexCAudioMode
    08453 //
    08454
    08455 class H245_G7231AnnexCMode_g723AnnexCAudioMode : public PASN_Sequence
    08456 {
    08457 #ifndef PASN_LEANANDMEAN
    08458     PCLASSINFO(H245_G7231AnnexCMode_g723AnnexCAudioMode, PASN_Sequence);
    08459 #endif
    08460   public:
    08461     H245_G7231AnnexCMode_g723AnnexCAudioMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08462
    08463     PASN_Integer m_highRateMode0;
    08464     PASN_Integer m_highRateMode1;
    08465     PASN_Integer m_lowRateMode0;
    08466     PASN_Integer m_lowRateMode1;
    08467     PASN_Integer m_sidMode0;
    08468     PASN_Integer m_sidMode1;
    08469
    08470     PINDEX GetDataLength() const;
    08471     PBoolean Decode(PASN_Stream & strm);
    08472     void Encode(PASN_Stream & strm) const;
    08473 #ifndef PASN_NOPRINTON
    08474     void PrintOn(ostream & strm) const;
    08475 #endif
    08476     Comparison Compare(const PObject & obj) const;
    08477     PObject * Clone() const;
    08478 };
    08479
    08480
    08481 //
    08482 // DataMode_application
    08483 //
    08484
    08485 class H245_NonStandardParameter;
    08486 class H245_DataProtocolCapability;
    08487 class H245_DataMode_application_nlpid;
    08488 class H245_DataMode_application_t38fax;
    08489 class H245_GenericCapability;
    08490
    08491 class H245_DataMode_application : public PASN_Choice
    08492 {
    08493 #ifndef PASN_LEANANDMEAN
    08494     PCLASSINFO(H245_DataMode_application, PASN_Choice);
    08495 #endif
    08496   public:
    08497     H245_DataMode_application(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08498
    08499     enum Choices {
    08500       e_nonStandard,
    08501       e_t120,
    08502       e_dsm_cc,
    08503       e_userData,
    08504       e_t84,
    08505       e_t434,
    08506       e_h224,
    08507       e_nlpid,
    08508       e_dsvdControl,
    08509       e_h222DataPartitioning,
    08510       e_t30fax,
    08511       e_t140,
    08512       e_t38fax,
    08513       e_genericDataMode
    08514     };
    08515
    08516 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08517     operator H245_NonStandardParameter &() const;
    08518 #else
    08519     operator H245_NonStandardParameter &();
    08520     operator const H245_NonStandardParameter &() const;
    08521 #endif
    08522 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08523     operator H245_DataProtocolCapability &() const;
    08524 #else
    08525     operator H245_DataProtocolCapability &();
    08526     operator const H245_DataProtocolCapability &() const;
    08527 #endif
    08528 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08529     operator H245_DataMode_application_nlpid &() const;
    08530 #else
    08531     operator H245_DataMode_application_nlpid &();
    08532     operator const H245_DataMode_application_nlpid &() const;
    08533 #endif
    08534 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08535     operator H245_DataMode_application_t38fax &() const;
    08536 #else
    08537     operator H245_DataMode_application_t38fax &();
    08538     operator const H245_DataMode_application_t38fax &() const;
    08539 #endif
    08540 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08541     operator H245_GenericCapability &() const;
    08542 #else
    08543     operator H245_GenericCapability &();
    08544     operator const H245_GenericCapability &() const;
    08545 #endif
    08546
    08547     PBoolean CreateObject();
    08548     PObject * Clone() const;
    08549 };
    08550
    08551
    08552 //
    08553 // MaintenanceLoopRequest_type
    08554 //
    08555
    08556 class H245_LogicalChannelNumber;
    08557
    08558 class H245_MaintenanceLoopRequest_type : public PASN_Choice
    08559 {
    08560 #ifndef PASN_LEANANDMEAN
    08561     PCLASSINFO(H245_MaintenanceLoopRequest_type, PASN_Choice);
    08562 #endif
    08563   public:
    08564     H245_MaintenanceLoopRequest_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08565
    08566     enum Choices {
    08567       e_systemLoop,
    08568       e_mediaLoop,
    08569       e_logicalChannelLoop
    08570     };
    08571
    08572 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08573     operator H245_LogicalChannelNumber &() const;
    08574 #else
    08575     operator H245_LogicalChannelNumber &();
    08576     operator const H245_LogicalChannelNumber &() const;
    08577 #endif
    08578
    08579     PBoolean CreateObject();
    08580     PObject * Clone() const;
    08581 };
    08582
    08583
    08584 //
    08585 // MaintenanceLoopAck_type
    08586 //
    08587
    08588 class H245_LogicalChannelNumber;
    08589
    08590 class H245_MaintenanceLoopAck_type : public PASN_Choice
    08591 {
    08592 #ifndef PASN_LEANANDMEAN
    08593     PCLASSINFO(H245_MaintenanceLoopAck_type, PASN_Choice);
    08594 #endif
    08595   public:
    08596     H245_MaintenanceLoopAck_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08597
    08598     enum Choices {
    08599       e_systemLoop,
    08600       e_mediaLoop,
    08601       e_logicalChannelLoop
    08602     };
    08603
    08604 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08605     operator H245_LogicalChannelNumber &() const;
    08606 #else
    08607     operator H245_LogicalChannelNumber &();
    08608     operator const H245_LogicalChannelNumber &() const;
    08609 #endif
    08610
    08611     PBoolean CreateObject();
    08612     PObject * Clone() const;
    08613 };
    08614
    08615
    08616 //
    08617 // MaintenanceLoopReject_type
    08618 //
    08619
    08620 class H245_LogicalChannelNumber;
    08621
    08622 class H245_MaintenanceLoopReject_type : public PASN_Choice
    08623 {
    08624 #ifndef PASN_LEANANDMEAN
    08625     PCLASSINFO(H245_MaintenanceLoopReject_type, PASN_Choice);
    08626 #endif
    08627   public:
    08628     H245_MaintenanceLoopReject_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08629
    08630     enum Choices {
    08631       e_systemLoop,
    08632       e_mediaLoop,
    08633       e_logicalChannelLoop
    08634     };
    08635
    08636 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08637     operator H245_LogicalChannelNumber &() const;
    08638 #else
    08639     operator H245_LogicalChannelNumber &();
    08640     operator const H245_LogicalChannelNumber &() const;
    08641 #endif
    08642
    08643     PBoolean CreateObject();
    08644     PObject * Clone() const;
    08645 };
    08646
    08647
    08648 //
    08649 // MaintenanceLoopReject_cause
    08650 //
    08651
    08652 class H245_MaintenanceLoopReject_cause : public PASN_Choice
    08653 {
    08654 #ifndef PASN_LEANANDMEAN
    08655     PCLASSINFO(H245_MaintenanceLoopReject_cause, PASN_Choice);
    08656 #endif
    08657   public:
    08658     H245_MaintenanceLoopReject_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08659
    08660     enum Choices {
    08661       e_canNotPerformLoop
    08662     };
    08663
    08664     PBoolean CreateObject();
    08665     PObject * Clone() const;
    08666 };
    08667
    08668
    08669 //
    08670 // ArrayOf_CommunicationModeTableEntry
    08671 //
    08672
    08673 class H245_CommunicationModeTableEntry;
    08674
    08675 class H245_ArrayOf_CommunicationModeTableEntry : public PASN_Array
    08676 {
    08677 #ifndef PASN_LEANANDMEAN
    08678     PCLASSINFO(H245_ArrayOf_CommunicationModeTableEntry, PASN_Array);
    08679 #endif
    08680   public:
    08681     H245_ArrayOf_CommunicationModeTableEntry(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    08682
    08683     PASN_Object * CreateObject() const;
    08684     H245_CommunicationModeTableEntry & operator[](PINDEX i) const;
    08685     PObject * Clone() const;
    08686 };
    08687
    08688
    08689 //
    08690 // CommunicationModeTableEntry_dataType
    08691 //
    08692
    08693 class H245_VideoCapability;
    08694 class H245_AudioCapability;
    08695 class H245_DataApplicationCapability;
    08696
    08697 class H245_CommunicationModeTableEntry_dataType : public PASN_Choice
    08698 {
    08699 #ifndef PASN_LEANANDMEAN
    08700     PCLASSINFO(H245_CommunicationModeTableEntry_dataType, PASN_Choice);
    08701 #endif
    08702   public:
    08703     H245_CommunicationModeTableEntry_dataType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08704
    08705     enum Choices {
    08706       e_videoData,
    08707       e_audioData,
    08708       e_data
    08709     };
    08710
    08711 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08712     operator H245_VideoCapability &() const;
    08713 #else
    08714     operator H245_VideoCapability &();
    08715     operator const H245_VideoCapability &() const;
    08716 #endif
    08717 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08718     operator H245_AudioCapability &() const;
    08719 #else
    08720     operator H245_AudioCapability &();
    08721     operator const H245_AudioCapability &() const;
    08722 #endif
    08723 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    08724     operator H245_DataApplicationCapability &() const;
    08725 #else
    08726     operator H245_DataApplicationCapability &();
    08727     operator const H245_DataApplicationCapability &() const;
    08728 #endif
    08729
    08730     PBoolean CreateObject();
    08731     PObject * Clone() const;
    08732 };
    08733
    08734
    08735 //
    08736 // ArrayOf_TerminalLabel
    08737 //
    08738
    08739 class H245_TerminalLabel;
    08740
    08741 class H245_ArrayOf_TerminalLabel : public PASN_Array
    08742 {
    08743 #ifndef PASN_LEANANDMEAN
    08744     PCLASSINFO(H245_ArrayOf_TerminalLabel, PASN_Array);
    08745 #endif
    08746   public:
    08747     H245_ArrayOf_TerminalLabel(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    08748
    08749     PASN_Object * CreateObject() const;
    08750     H245_TerminalLabel & operator[](PINDEX i) const;
    08751     PObject * Clone() const;
    08752 };
    08753
    08754
    08755 //
    08756 // ConferenceResponse_makeMeChairResponse
    08757 //
    08758
    08759 class H245_ConferenceResponse_makeMeChairResponse : public PASN_Choice
    08760 {
    08761 #ifndef PASN_LEANANDMEAN
    08762     PCLASSINFO(H245_ConferenceResponse_makeMeChairResponse, PASN_Choice);
    08763 #endif
    08764   public:
    08765     H245_ConferenceResponse_makeMeChairResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08766
    08767     enum Choices {
    08768       e_grantedChairToken,
    08769       e_deniedChairToken
    08770     };
    08771
    08772     PBoolean CreateObject();
    08773     PObject * Clone() const;
    08774 };
    08775
    08776
    08777 //
    08778 // ConferenceResponse_extensionAddressResponse
    08779 //
    08780
    08781 class H245_ConferenceResponse_extensionAddressResponse : public PASN_Sequence
    08782 {
    08783 #ifndef PASN_LEANANDMEAN
    08784     PCLASSINFO(H245_ConferenceResponse_extensionAddressResponse, PASN_Sequence);
    08785 #endif
    08786   public:
    08787     H245_ConferenceResponse_extensionAddressResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08788
    08789     H245_TerminalID m_extensionAddress;
    08790
    08791     PINDEX GetDataLength() const;
    08792     PBoolean Decode(PASN_Stream & strm);
    08793     void Encode(PASN_Stream & strm) const;
    08794 #ifndef PASN_NOPRINTON
    08795     void PrintOn(ostream & strm) const;
    08796 #endif
    08797     Comparison Compare(const PObject & obj) const;
    08798     PObject * Clone() const;
    08799 };
    08800
    08801
    08802 //
    08803 // ConferenceResponse_broadcastMyLogicalChannelResponse
    08804 //
    08805
    08806 class H245_ConferenceResponse_broadcastMyLogicalChannelResponse : public PASN_Choice
    08807 {
    08808 #ifndef PASN_LEANANDMEAN
    08809     PCLASSINFO(H245_ConferenceResponse_broadcastMyLogicalChannelResponse, PASN_Choice);
    08810 #endif
    08811   public:
    08812     H245_ConferenceResponse_broadcastMyLogicalChannelResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08813
    08814     enum Choices {
    08815       e_grantedBroadcastMyLogicalChannel,
    08816       e_deniedBroadcastMyLogicalChannel
    08817     };
    08818
    08819     PBoolean CreateObject();
    08820     PObject * Clone() const;
    08821 };
    08822
    08823
    08824 //
    08825 // ConferenceResponse_makeTerminalBroadcasterResponse
    08826 //
    08827
    08828 class H245_ConferenceResponse_makeTerminalBroadcasterResponse : public PASN_Choice
    08829 {
    08830 #ifndef PASN_LEANANDMEAN
    08831     PCLASSINFO(H245_ConferenceResponse_makeTerminalBroadcasterResponse, PASN_Choice);
    08832 #endif
    08833   public:
    08834     H245_ConferenceResponse_makeTerminalBroadcasterResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08835
    08836     enum Choices {
    08837       e_grantedMakeTerminalBroadcaster,
    08838       e_deniedMakeTerminalBroadcaster
    08839     };
    08840
    08841     PBoolean CreateObject();
    08842     PObject * Clone() const;
    08843 };
    08844
    08845
    08846 //
    08847 // ConferenceResponse_sendThisSourceResponse
    08848 //
    08849
    08850 class H245_ConferenceResponse_sendThisSourceResponse : public PASN_Choice
    08851 {
    08852 #ifndef PASN_LEANANDMEAN
    08853     PCLASSINFO(H245_ConferenceResponse_sendThisSourceResponse, PASN_Choice);
    08854 #endif
    08855   public:
    08856     H245_ConferenceResponse_sendThisSourceResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08857
    08858     enum Choices {
    08859       e_grantedSendThisSource,
    08860       e_deniedSendThisSource
    08861     };
    08862
    08863     PBoolean CreateObject();
    08864     PObject * Clone() const;
    08865 };
    08866
    08867
    08868 //
    08869 // ArrayOf_TerminalInformation
    08870 //
    08871
    08872 class H245_TerminalInformation;
    08873
    08874 class H245_ArrayOf_TerminalInformation : public PASN_Array
    08875 {
    08876 #ifndef PASN_LEANANDMEAN
    08877     PCLASSINFO(H245_ArrayOf_TerminalInformation, PASN_Array);
    08878 #endif
    08879   public:
    08880     H245_ArrayOf_TerminalInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08881
    08882     PASN_Object * CreateObject() const;
    08883     H245_TerminalInformation & operator[](PINDEX i) const;
    08884     PObject * Clone() const;
    08885 };
    08886
    08887
    08888 //
    08889 // RemoteMCResponse_reject
    08890 //
    08891
    08892 class H245_RemoteMCResponse_reject : public PASN_Choice
    08893 {
    08894 #ifndef PASN_LEANANDMEAN
    08895     PCLASSINFO(H245_RemoteMCResponse_reject, PASN_Choice);
    08896 #endif
    08897   public:
    08898     H245_RemoteMCResponse_reject(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    08899
    08900     enum Choices {
    08901       e_unspecified,
    08902       e_functionNotSupported
    08903     };
    08904
    08905     PBoolean CreateObject();
    08906     PObject * Clone() const;
    08907 };
    08908
    08909
    08910 //
    08911 // MultilinkRequest_callInformation
    08912 //
    08913
    08914 class H245_MultilinkRequest_callInformation : public PASN_Sequence
    08915 {
    08916 #ifndef PASN_LEANANDMEAN
    08917     PCLASSINFO(H245_MultilinkRequest_callInformation, PASN_Sequence);
    08918 #endif
    08919   public:
    08920     H245_MultilinkRequest_callInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08921
    08922     PASN_Integer m_maxNumberOfAdditionalConnections;
    08923
    08924     PINDEX GetDataLength() const;
    08925     PBoolean Decode(PASN_Stream & strm);
    08926     void Encode(PASN_Stream & strm) const;
    08927 #ifndef PASN_NOPRINTON
    08928     void PrintOn(ostream & strm) const;
    08929 #endif
    08930     Comparison Compare(const PObject & obj) const;
    08931     PObject * Clone() const;
    08932 };
    08933
    08934
    08935 //
    08936 // MultilinkRequest_addConnection
    08937 //
    08938
    08939 class H245_MultilinkRequest_addConnection : public PASN_Sequence
    08940 {
    08941 #ifndef PASN_LEANANDMEAN
    08942     PCLASSINFO(H245_MultilinkRequest_addConnection, PASN_Sequence);
    08943 #endif
    08944   public:
    08945     H245_MultilinkRequest_addConnection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08946
    08947     H245_SequenceNumber m_sequenceNumber;
    08948     H245_DialingInformation m_dialingInformation;
    08949
    08950     PINDEX GetDataLength() const;
    08951     PBoolean Decode(PASN_Stream & strm);
    08952     void Encode(PASN_Stream & strm) const;
    08953 #ifndef PASN_NOPRINTON
    08954     void PrintOn(ostream & strm) const;
    08955 #endif
    08956     Comparison Compare(const PObject & obj) const;
    08957     PObject * Clone() const;
    08958 };
    08959
    08960
    08961 //
    08962 // MultilinkRequest_removeConnection
    08963 //
    08964
    08965 class H245_MultilinkRequest_removeConnection : public PASN_Sequence
    08966 {
    08967 #ifndef PASN_LEANANDMEAN
    08968     PCLASSINFO(H245_MultilinkRequest_removeConnection, PASN_Sequence);
    08969 #endif
    08970   public:
    08971     H245_MultilinkRequest_removeConnection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08972
    08973     H245_ConnectionIdentifier m_connectionIdentifier;
    08974
    08975     PINDEX GetDataLength() const;
    08976     PBoolean Decode(PASN_Stream & strm);
    08977     void Encode(PASN_Stream & strm) const;
    08978 #ifndef PASN_NOPRINTON
    08979     void PrintOn(ostream & strm) const;
    08980 #endif
    08981     Comparison Compare(const PObject & obj) const;
    08982     PObject * Clone() const;
    08983 };
    08984
    08985
    08986 //
    08987 // MultilinkResponse_callInformation
    08988 //
    08989
    08990 class H245_MultilinkResponse_callInformation : public PASN_Sequence
    08991 {
    08992 #ifndef PASN_LEANANDMEAN
    08993     PCLASSINFO(H245_MultilinkResponse_callInformation, PASN_Sequence);
    08994 #endif
    08995   public:
    08996     H245_MultilinkResponse_callInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    08997
    08998     H245_DialingInformation m_dialingInformation;
    08999     PASN_Integer m_callAssociationNumber;
    09000
    09001     PINDEX GetDataLength() const;
    09002     PBoolean Decode(PASN_Stream & strm);
    09003     void Encode(PASN_Stream & strm) const;
    09004 #ifndef PASN_NOPRINTON
    09005     void PrintOn(ostream & strm) const;
    09006 #endif
    09007     Comparison Compare(const PObject & obj) const;
    09008     PObject * Clone() const;
    09009 };
    09010
    09011
    09012 //
    09013 // MultilinkResponse_removeConnection
    09014 //
    09015
    09016 class H245_MultilinkResponse_removeConnection : public PASN_Sequence
    09017 {
    09018 #ifndef PASN_LEANANDMEAN
    09019     PCLASSINFO(H245_MultilinkResponse_removeConnection, PASN_Sequence);
    09020 #endif
    09021   public:
    09022     H245_MultilinkResponse_removeConnection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    09023
    09024     H245_ConnectionIdentifier m_connectionIdentifier;
    09025
    09026     PINDEX GetDataLength() const;
    09027     PBoolean Decode(PASN_Stream & strm);
    09028     void Encode(PASN_Stream & strm) const;
    09029 #ifndef PASN_NOPRINTON
    09030     void PrintOn(ostream & strm) const;
    09031 #endif
    09032     Comparison Compare(const PObject & obj) const;
    09033     PObject * Clone() const;
    09034 };
    09035
    09036
    09037 //
    09038 // MultilinkResponse_maximumHeaderInterval
    09039 //
    09040
    09041 class H245_MultilinkResponse_maximumHeaderInterval : public PASN_Sequence
    09042 {
    09043 #ifndef PASN_LEANANDMEAN
    09044     PCLASSINFO(H245_MultilinkResponse_maximumHeaderInterval, PASN_Sequence);
    09045 #endif
    09046   public:
    09047     H245_MultilinkResponse_maximumHeaderInterval(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    09048
    09049     PASN_Integer m_currentInterval;
    09050
    09051     PINDEX GetDataLength() const;
    09052     PBoolean Decode(PASN_Stream & strm);
    09053     void Encode(PASN_Stream & strm) const;
    09054 #ifndef PASN_NOPRINTON
    09055     void PrintOn(ostream & strm) const;
    09056 #endif
    09057     Comparison Compare(const PObject & obj) const;
    09058     PObject * Clone() const;
    09059 };
    09060
    09061
    09062 //
    09063 // MultilinkIndication_crcDesired
    09064 //
    09065
    09066 class H245_MultilinkIndication_crcDesired : public PASN_Sequence
    09067 {
    09068 #ifndef PASN_LEANANDMEAN
    09069     PCLASSINFO(H245_MultilinkIndication_crcDesired, PASN_Sequence);
    09070 #endif
    09071   public:
    09072     H245_MultilinkIndication_crcDesired(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    09073
    09074
    09075     PINDEX GetDataLength() const;
    09076     PBoolean Decode(PASN_Stream & strm);
    09077     void Encode(PASN_Stream & strm) const;
    09078 #ifndef PASN_NOPRINTON
    09079     void PrintOn(ostream & strm) const;
    09080 #endif
    09081     PObject * Clone() const;
    09082 };
    09083
    09084
    09085 //
    09086 // MultilinkIndication_excessiveError
    09087 //
    09088
    09089 class H245_MultilinkIndication_excessiveError : public PASN_Sequence
    09090 {
    09091 #ifndef PASN_LEANANDMEAN
    09092     PCLASSINFO(H245_MultilinkIndication_excessiveError, PASN_Sequence);
    09093 #endif
    09094   public:
    09095     H245_MultilinkIndication_excessiveError(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    09096
    09097     H245_ConnectionIdentifier m_connectionIdentifier;
    09098
    09099     PINDEX GetDataLength() const;
    09100     PBoolean Decode(PASN_Stream & strm);
    09101     void Encode(PASN_Stream & strm) const;
    09102 #ifndef PASN_NOPRINTON
    09103     void PrintOn(ostream & strm) const;
    09104 #endif
    09105     Comparison Compare(const PObject & obj) const;
    09106     PObject * Clone() const;
    09107 };
    09108
    09109
    09110 //
    09111 // ArrayOf_DialingInformationNumber
    09112 //
    09113
    09114 class H245_DialingInformationNumber;
    09115
    09116 class H245_ArrayOf_DialingInformationNumber : public PASN_Array
    09117 {
    09118 #ifndef PASN_LEANANDMEAN
    09119     PCLASSINFO(H245_ArrayOf_DialingInformationNumber, PASN_Array);
    09120 #endif
    09121   public:
    09122     H245_ArrayOf_DialingInformationNumber(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    09123
    09124     PASN_Object * CreateObject() const;
    09125     H245_DialingInformationNumber & operator[](PINDEX i) const;
    09126     PObject * Clone() const;
    09127 };
    09128
    09129
    09130 //
    09131 // ArrayOf_DialingInformationNetworkType
    09132 //
    09133
    09134 class H245_DialingInformationNetworkType;
    09135
    09136 class H245_ArrayOf_DialingInformationNetworkType : public PASN_Array
    09137 {
    09138 #ifndef PASN_LEANANDMEAN
    09139     PCLASSINFO(H245_ArrayOf_DialingInformationNetworkType, PASN_Array);
    09140 #endif
    09141   public:
    09142     H245_ArrayOf_DialingInformationNetworkType(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    09143
    09144     PASN_Object * CreateObject() const;
    09145     H245_DialingInformationNetworkType & operator[](PINDEX i) const;
    09146     PObject * Clone() const;
    09147 };
    09148
    09149
    09150 //
    09151 // FlowControlCommand_scope
    09152 //
    09153
    09154 class H245_LogicalChannelNumber;
    09155
    09156 class H245_FlowControlCommand_scope : public PASN_Choice
    09157 {
    09158 #ifndef PASN_LEANANDMEAN
    09159     PCLASSINFO(H245_FlowControlCommand_scope, PASN_Choice);
    09160 #endif
    09161   public:
    09162     H245_FlowControlCommand_scope(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09163
    09164     enum Choices {
    09165       e_logicalChannelNumber,
    09166       e_resourceID,
    09167       e_wholeMultiplex
    09168     };
    09169
    09170 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09171     operator H245_LogicalChannelNumber &() const;
    09172 #else
    09173     operator H245_LogicalChannelNumber &();
    09174     operator const H245_LogicalChannelNumber &() const;
    09175 #endif
    09176
    09177     PBoolean CreateObject();
    09178     PObject * Clone() const;
    09179 };
    09180
    09181
    09182 //
    09183 // FlowControlCommand_restriction
    09184 //
    09185
    09186 class H245_FlowControlCommand_restriction : public PASN_Choice
    09187 {
    09188 #ifndef PASN_LEANANDMEAN
    09189     PCLASSINFO(H245_FlowControlCommand_restriction, PASN_Choice);
    09190 #endif
    09191   public:
    09192     H245_FlowControlCommand_restriction(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09193
    09194     enum Choices {
    09195       e_maximumBitRate,
    09196       e_noRestriction
    09197     };
    09198
    09199     PBoolean CreateObject();
    09200     PObject * Clone() const;
    09201 };
    09202
    09203
    09204 //
    09205 // EndSessionCommand_gstnOptions
    09206 //
    09207
    09208 class H245_EndSessionCommand_gstnOptions : public PASN_Choice
    09209 {
    09210 #ifndef PASN_LEANANDMEAN
    09211     PCLASSINFO(H245_EndSessionCommand_gstnOptions, PASN_Choice);
    09212 #endif
    09213   public:
    09214     H245_EndSessionCommand_gstnOptions(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09215
    09216     enum Choices {
    09217       e_telephonyMode,
    09218       e_v8bis,
    09219       e_v34DSVD,
    09220       e_v34DuplexFAX,
    09221       e_v34H324
    09222     };
    09223
    09224     PBoolean CreateObject();
    09225     PObject * Clone() const;
    09226 };
    09227
    09228
    09229 //
    09230 // EndSessionCommand_isdnOptions
    09231 //
    09232
    09233 class H245_EndSessionCommand_isdnOptions : public PASN_Choice
    09234 {
    09235 #ifndef PASN_LEANANDMEAN
    09236     PCLASSINFO(H245_EndSessionCommand_isdnOptions, PASN_Choice);
    09237 #endif
    09238   public:
    09239     H245_EndSessionCommand_isdnOptions(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09240
    09241     enum Choices {
    09242       e_telephonyMode,
    09243       e_v140,
    09244       e_terminalOnHold
    09245     };
    09246
    09247     PBoolean CreateObject();
    09248     PObject * Clone() const;
    09249 };
    09250
    09251
    09252 //
    09253 // MiscellaneousCommand_type
    09254 //
    09255
    09256 class H245_MiscellaneousCommand_type_videoFastUpdateGOB;
    09257 class H245_MiscellaneousCommand_type_videoFastUpdateMB;
    09258 class H245_EncryptionSync;
    09259 class H245_EncryptionUpdateRequest;
    09260 class H245_MiscellaneousCommand_type_progressiveRefinementStart;
    09261 class H245_MiscellaneousCommand_type_videoBadMBs;
    09262 class H245_ArrayOf_PictureReference;
    09263 class H245_MiscellaneousCommand_type_lostPartialPicture;
    09264 class H245_MiscellaneousCommand_type_encryptionUpdateCommand;
    09265 class H245_MiscellaneousCommand_type_encryptionUpdateAck;
    09266
    09267 class H245_MiscellaneousCommand_type : public PASN_Choice
    09268 {
    09269 #ifndef PASN_LEANANDMEAN
    09270     PCLASSINFO(H245_MiscellaneousCommand_type, PASN_Choice);
    09271 #endif
    09272   public:
    09273     H245_MiscellaneousCommand_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09274
    09275     enum Choices {
    09276       e_equaliseDelay,
    09277       e_zeroDelay,
    09278       e_multipointModeCommand,
    09279       e_cancelMultipointModeCommand,
    09280       e_videoFreezePicture,
    09281       e_videoFastUpdatePicture,
    09282       e_videoFastUpdateGOB,
    09283       e_videoTemporalSpatialTradeOff,
    09284       e_videoSendSyncEveryGOB,
    09285       e_videoSendSyncEveryGOBCancel,
    09286       e_videoFastUpdateMB,
    09287       e_maxH223MUXPDUsize,
    09288       e_encryptionUpdate,
    09289       e_encryptionUpdateRequest,
    09290       e_switchReceiveMediaOff,
    09291       e_switchReceiveMediaOn,
    09292       e_progressiveRefinementStart,
    09293       e_progressiveRefinementAbortOne,
    09294       e_progressiveRefinementAbortContinuous,
    09295       e_videoBadMBs,
    09296       e_lostPicture,
    09297       e_lostPartialPicture,
    09298       e_recoveryReferencePicture,
    09299       e_encryptionUpdateCommand,
    09300       e_encryptionUpdateAck
    09301     };
    09302
    09303 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09304     operator H245_MiscellaneousCommand_type_videoFastUpdateGOB &() const;
    09305 #else
    09306     operator H245_MiscellaneousCommand_type_videoFastUpdateGOB &();
    09307     operator const H245_MiscellaneousCommand_type_videoFastUpdateGOB &() const;
    09308 #endif
    09309 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09310     operator H245_MiscellaneousCommand_type_videoFastUpdateMB &() const;
    09311 #else
    09312     operator H245_MiscellaneousCommand_type_videoFastUpdateMB &();
    09313     operator const H245_MiscellaneousCommand_type_videoFastUpdateMB &() const;
    09314 #endif
    09315 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09316     operator H245_EncryptionSync &() const;
    09317 #else
    09318     operator H245_EncryptionSync &();
    09319     operator const H245_EncryptionSync &() const;
    09320 #endif
    09321 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09322     operator H245_EncryptionUpdateRequest &() const;
    09323 #else
    09324     operator H245_EncryptionUpdateRequest &();
    09325     operator const H245_EncryptionUpdateRequest &() const;
    09326 #endif
    09327 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09328     operator H245_MiscellaneousCommand_type_progressiveRefinementStart &() const;
    09329 #else
    09330     operator H245_MiscellaneousCommand_type_progressiveRefinementStart &();
    09331     operator const H245_MiscellaneousCommand_type_progressiveRefinementStart &() const;
    09332 #endif
    09333 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09334     operator H245_MiscellaneousCommand_type_videoBadMBs &() const;
    09335 #else
    09336     operator H245_MiscellaneousCommand_type_videoBadMBs &();
    09337     operator const H245_MiscellaneousCommand_type_videoBadMBs &() const;
    09338 #endif
    09339 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09340     operator H245_ArrayOf_PictureReference &() const;
    09341 #else
    09342     operator H245_ArrayOf_PictureReference &();
    09343     operator const H245_ArrayOf_PictureReference &() const;
    09344 #endif
    09345 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09346     operator H245_MiscellaneousCommand_type_lostPartialPicture &() const;
    09347 #else
    09348     operator H245_MiscellaneousCommand_type_lostPartialPicture &();
    09349     operator const H245_MiscellaneousCommand_type_lostPartialPicture &() const;
    09350 #endif
    09351 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09352     operator H245_MiscellaneousCommand_type_encryptionUpdateCommand &() const;
    09353 #else
    09354     operator H245_MiscellaneousCommand_type_encryptionUpdateCommand &();
    09355     operator const H245_MiscellaneousCommand_type_encryptionUpdateCommand &() const;
    09356 #endif
    09357 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09358     operator H245_MiscellaneousCommand_type_encryptionUpdateAck &() const;
    09359 #else
    09360     operator H245_MiscellaneousCommand_type_encryptionUpdateAck &();
    09361     operator const H245_MiscellaneousCommand_type_encryptionUpdateAck &() const;
    09362 #endif
    09363
    09364     PBoolean CreateObject();
    09365     PObject * Clone() const;
    09366 };
    09367
    09368
    09369 //
    09370 // H223MultiplexReconfiguration_h223ModeChange
    09371 //
    09372
    09373 class H245_H223MultiplexReconfiguration_h223ModeChange : public PASN_Choice
    09374 {
    09375 #ifndef PASN_LEANANDMEAN
    09376     PCLASSINFO(H245_H223MultiplexReconfiguration_h223ModeChange, PASN_Choice);
    09377 #endif
    09378   public:
    09379     H245_H223MultiplexReconfiguration_h223ModeChange(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09380
    09381     enum Choices {
    09382       e_toLevel0,
    09383       e_toLevel1,
    09384       e_toLevel2,
    09385       e_toLevel2withOptionalHeader
    09386     };
    09387
    09388     PBoolean CreateObject();
    09389     PObject * Clone() const;
    09390 };
    09391
    09392
    09393 //
    09394 // H223MultiplexReconfiguration_h223AnnexADoubleFlag
    09395 //
    09396
    09397 class H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag : public PASN_Choice
    09398 {
    09399 #ifndef PASN_LEANANDMEAN
    09400     PCLASSINFO(H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag, PASN_Choice);
    09401 #endif
    09402   public:
    09403     H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09404
    09405     enum Choices {
    09406       e_start,
    09407       e_stop
    09408     };
    09409
    09410     PBoolean CreateObject();
    09411     PObject * Clone() const;
    09412 };
    09413
    09414
    09415 //
    09416 // NewATMVCCommand_aal
    09417 //
    09418
    09419 class H245_NewATMVCCommand_aal_aal1;
    09420 class H245_NewATMVCCommand_aal_aal5;
    09421
    09422 class H245_NewATMVCCommand_aal : public PASN_Choice
    09423 {
    09424 #ifndef PASN_LEANANDMEAN
    09425     PCLASSINFO(H245_NewATMVCCommand_aal, PASN_Choice);
    09426 #endif
    09427   public:
    09428     H245_NewATMVCCommand_aal(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09429
    09430     enum Choices {
    09431       e_aal1,
    09432       e_aal5
    09433     };
    09434
    09435 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09436     operator H245_NewATMVCCommand_aal_aal1 &() const;
    09437 #else
    09438     operator H245_NewATMVCCommand_aal_aal1 &();
    09439     operator const H245_NewATMVCCommand_aal_aal1 &() const;
    09440 #endif
    09441 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09442     operator H245_NewATMVCCommand_aal_aal5 &() const;
    09443 #else
    09444     operator H245_NewATMVCCommand_aal_aal5 &();
    09445     operator const H245_NewATMVCCommand_aal_aal5 &() const;
    09446 #endif
    09447
    09448     PBoolean CreateObject();
    09449     PObject * Clone() const;
    09450 };
    09451
    09452
    09453 //
    09454 // NewATMVCCommand_multiplex
    09455 //
    09456
    09457 class H245_NewATMVCCommand_multiplex : public PASN_Choice
    09458 {
    09459 #ifndef PASN_LEANANDMEAN
    09460     PCLASSINFO(H245_NewATMVCCommand_multiplex, PASN_Choice);
    09461 #endif
    09462   public:
    09463     H245_NewATMVCCommand_multiplex(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09464
    09465     enum Choices {
    09466       e_noMultiplex,
    09467       e_transportStream,
    09468       e_programStream
    09469     };
    09470
    09471     PBoolean CreateObject();
    09472     PObject * Clone() const;
    09473 };
    09474
    09475
    09476 //
    09477 // MobileMultilinkReconfigurationCommand_status
    09478 //
    09479
    09480 class H245_MobileMultilinkReconfigurationCommand_status : public PASN_Choice
    09481 {
    09482 #ifndef PASN_LEANANDMEAN
    09483     PCLASSINFO(H245_MobileMultilinkReconfigurationCommand_status, PASN_Choice);
    09484 #endif
    09485   public:
    09486     H245_MobileMultilinkReconfigurationCommand_status(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09487
    09488     enum Choices {
    09489       e_synchronized,
    09490       e_reconfiguration
    09491     };
    09492
    09493     PBoolean CreateObject();
    09494     PObject * Clone() const;
    09495 };
    09496
    09497
    09498 //
    09499 // FunctionNotSupported_cause
    09500 //
    09501
    09502 class H245_FunctionNotSupported_cause : public PASN_Choice
    09503 {
    09504 #ifndef PASN_LEANANDMEAN
    09505     PCLASSINFO(H245_FunctionNotSupported_cause, PASN_Choice);
    09506 #endif
    09507   public:
    09508     H245_FunctionNotSupported_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09509
    09510     enum Choices {
    09511       e_syntaxError,
    09512       e_semanticError,
    09513       e_unknownFunction
    09514     };
    09515
    09516     PBoolean CreateObject();
    09517     PObject * Clone() const;
    09518 };
    09519
    09520
    09521 //
    09522 // MiscellaneousIndication_type
    09523 //
    09524
    09525 class H245_MiscellaneousIndication_type_videoNotDecodedMBs;
    09526 class H245_TransportCapability;
    09527
    09528 class H245_MiscellaneousIndication_type : public PASN_Choice
    09529 {
    09530 #ifndef PASN_LEANANDMEAN
    09531     PCLASSINFO(H245_MiscellaneousIndication_type, PASN_Choice);
    09532 #endif
    09533   public:
    09534     H245_MiscellaneousIndication_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09535
    09536     enum Choices {
    09537       e_logicalChannelActive,
    09538       e_logicalChannelInactive,
    09539       e_multipointConference,
    09540       e_cancelMultipointConference,
    09541       e_multipointZeroComm,
    09542       e_cancelMultipointZeroComm,
    09543       e_multipointSecondaryStatus,
    09544       e_cancelMultipointSecondaryStatus,
    09545       e_videoIndicateReadyToActivate,
    09546       e_videoTemporalSpatialTradeOff,
    09547       e_videoNotDecodedMBs,
    09548       e_transportCapability
    09549     };
    09550
    09551 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09552     operator H245_MiscellaneousIndication_type_videoNotDecodedMBs &() const;
    09553 #else
    09554     operator H245_MiscellaneousIndication_type_videoNotDecodedMBs &();
    09555     operator const H245_MiscellaneousIndication_type_videoNotDecodedMBs &() const;
    09556 #endif
    09557 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09558     operator H245_TransportCapability &() const;
    09559 #else
    09560     operator H245_TransportCapability &();
    09561     operator const H245_TransportCapability &() const;
    09562 #endif
    09563
    09564     PBoolean CreateObject();
    09565     PObject * Clone() const;
    09566 };
    09567
    09568
    09569 //
    09570 // JitterIndication_scope
    09571 //
    09572
    09573 class H245_LogicalChannelNumber;
    09574
    09575 class H245_JitterIndication_scope : public PASN_Choice
    09576 {
    09577 #ifndef PASN_LEANANDMEAN
    09578     PCLASSINFO(H245_JitterIndication_scope, PASN_Choice);
    09579 #endif
    09580   public:
    09581     H245_JitterIndication_scope(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09582
    09583     enum Choices {
    09584       e_logicalChannelNumber,
    09585       e_resourceID,
    09586       e_wholeMultiplex
    09587     };
    09588
    09589 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09590     operator H245_LogicalChannelNumber &() const;
    09591 #else
    09592     operator H245_LogicalChannelNumber &();
    09593     operator const H245_LogicalChannelNumber &() const;
    09594 #endif
    09595
    09596     PBoolean CreateObject();
    09597     PObject * Clone() const;
    09598 };
    09599
    09600
    09601 //
    09602 // NewATMVCIndication_aal
    09603 //
    09604
    09605 class H245_NewATMVCIndication_aal_aal1;
    09606 class H245_NewATMVCIndication_aal_aal5;
    09607
    09608 class H245_NewATMVCIndication_aal : public PASN_Choice
    09609 {
    09610 #ifndef PASN_LEANANDMEAN
    09611     PCLASSINFO(H245_NewATMVCIndication_aal, PASN_Choice);
    09612 #endif
    09613   public:
    09614     H245_NewATMVCIndication_aal(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09615
    09616     enum Choices {
    09617       e_aal1,
    09618       e_aal5
    09619     };
    09620
    09621 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09622     operator H245_NewATMVCIndication_aal_aal1 &() const;
    09623 #else
    09624     operator H245_NewATMVCIndication_aal_aal1 &();
    09625     operator const H245_NewATMVCIndication_aal_aal1 &() const;
    09626 #endif
    09627 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09628     operator H245_NewATMVCIndication_aal_aal5 &() const;
    09629 #else
    09630     operator H245_NewATMVCIndication_aal_aal5 &();
    09631     operator const H245_NewATMVCIndication_aal_aal5 &() const;
    09632 #endif
    09633
    09634     PBoolean CreateObject();
    09635     PObject * Clone() const;
    09636 };
    09637
    09638
    09639 //
    09640 // NewATMVCIndication_multiplex
    09641 //
    09642
    09643 class H245_NewATMVCIndication_multiplex : public PASN_Choice
    09644 {
    09645 #ifndef PASN_LEANANDMEAN
    09646     PCLASSINFO(H245_NewATMVCIndication_multiplex, PASN_Choice);
    09647 #endif
    09648   public:
    09649     H245_NewATMVCIndication_multiplex(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09650
    09651     enum Choices {
    09652       e_noMultiplex,
    09653       e_transportStream,
    09654       e_programStream
    09655     };
    09656
    09657     PBoolean CreateObject();
    09658     PObject * Clone() const;
    09659 };
    09660
    09661
    09662 //
    09663 // UserInputIndication_userInputSupportIndication
    09664 //
    09665
    09666 class H245_NonStandardParameter;
    09667
    09668 class H245_UserInputIndication_userInputSupportIndication : public PASN_Choice
    09669 {
    09670 #ifndef PASN_LEANANDMEAN
    09671     PCLASSINFO(H245_UserInputIndication_userInputSupportIndication, PASN_Choice);
    09672 #endif
    09673   public:
    09674     H245_UserInputIndication_userInputSupportIndication(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09675
    09676     enum Choices {
    09677       e_nonStandard,
    09678       e_basicString,
    09679       e_iA5String,
    09680       e_generalString,
    09681       e_encryptedBasicString,
    09682       e_encryptedIA5String,
    09683       e_encryptedGeneralString
    09684     };
    09685
    09686 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09687     operator H245_NonStandardParameter &() const;
    09688 #else
    09689     operator H245_NonStandardParameter &();
    09690     operator const H245_NonStandardParameter &() const;
    09691 #endif
    09692
    09693     PBoolean CreateObject();
    09694     PObject * Clone() const;
    09695 };
    09696
    09697
    09698 //
    09699 // UserInputIndication_encryptedAlphanumeric
    09700 //
    09701
    09702 class H245_UserInputIndication_encryptedAlphanumeric : public PASN_Sequence
    09703 {
    09704 #ifndef PASN_LEANANDMEAN
    09705     PCLASSINFO(H245_UserInputIndication_encryptedAlphanumeric, PASN_Sequence);
    09706 #endif
    09707   public:
    09708     H245_UserInputIndication_encryptedAlphanumeric(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    09709
    09710     enum OptionalFields {
    09711       e_paramS
    09712     };
    09713
    09714     PASN_ObjectId m_algorithmOID;
    09715     H245_Params m_paramS;
    09716     PASN_OctetString m_encrypted;
    09717
    09718     PINDEX GetDataLength() const;
    09719     PBoolean Decode(PASN_Stream & strm);
    09720     void Encode(PASN_Stream & strm) const;
    09721 #ifndef PASN_NOPRINTON
    09722     void PrintOn(ostream & strm) const;
    09723 #endif
    09724     Comparison Compare(const PObject & obj) const;
    09725     PObject * Clone() const;
    09726 };
    09727
    09728
    09729 //
    09730 // FlowControlIndication_scope
    09731 //
    09732
    09733 class H245_LogicalChannelNumber;
    09734
    09735 class H245_FlowControlIndication_scope : public PASN_Choice
    09736 {
    09737 #ifndef PASN_LEANANDMEAN
    09738     PCLASSINFO(H245_FlowControlIndication_scope, PASN_Choice);
    09739 #endif
    09740   public:
    09741     H245_FlowControlIndication_scope(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09742
    09743     enum Choices {
    09744       e_logicalChannelNumber,
    09745       e_resourceID,
    09746       e_wholeMultiplex
    09747     };
    09748
    09749 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09750     operator H245_LogicalChannelNumber &() const;
    09751 #else
    09752     operator H245_LogicalChannelNumber &();
    09753     operator const H245_LogicalChannelNumber &() const;
    09754 #endif
    09755
    09756     PBoolean CreateObject();
    09757     PObject * Clone() const;
    09758 };
    09759
    09760
    09761 //
    09762 // FlowControlIndication_restriction
    09763 //
    09764
    09765 class H245_FlowControlIndication_restriction : public PASN_Choice
    09766 {
    09767 #ifndef PASN_LEANANDMEAN
    09768     PCLASSINFO(H245_FlowControlIndication_restriction, PASN_Choice);
    09769 #endif
    09770   public:
    09771     H245_FlowControlIndication_restriction(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09772
    09773     enum Choices {
    09774       e_maximumBitRate,
    09775       e_noRestriction
    09776     };
    09777
    09778     PBoolean CreateObject();
    09779     PObject * Clone() const;
    09780 };
    09781
    09782
    09783 //
    09784 // TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded
    09785 //
    09786
    09787 class H245_CapabilityTableEntryNumber;
    09788
    09789 class H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded : public PASN_Choice
    09790 {
    09791 #ifndef PASN_LEANANDMEAN
    09792     PCLASSINFO(H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded, PASN_Choice);
    09793 #endif
    09794   public:
    09795     H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09796
    09797     enum Choices {
    09798       e_highestEntryNumberProcessed,
    09799       e_noneProcessed
    09800     };
    09801
    09802 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09803     operator H245_CapabilityTableEntryNumber &() const;
    09804 #else
    09805     operator H245_CapabilityTableEntryNumber &();
    09806     operator const H245_CapabilityTableEntryNumber &() const;
    09807 #endif
    09808
    09809     PBoolean CreateObject();
    09810     PObject * Clone() const;
    09811 };
    09812
    09813
    09814 //
    09815 // VCCapability_availableBitRates_type
    09816 //
    09817
    09818 class H245_VCCapability_availableBitRates_type_rangeOfBitRates;
    09819
    09820 class H245_VCCapability_availableBitRates_type : public PASN_Choice
    09821 {
    09822 #ifndef PASN_LEANANDMEAN
    09823     PCLASSINFO(H245_VCCapability_availableBitRates_type, PASN_Choice);
    09824 #endif
    09825   public:
    09826     H245_VCCapability_availableBitRates_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    09827
    09828     enum Choices {
    09829       e_singleBitRate,
    09830       e_rangeOfBitRates
    09831     };
    09832
    09833 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    09834     operator H245_VCCapability_availableBitRates_type_rangeOfBitRates &() const;
    09835 #else
    09836     operator H245_VCCapability_availableBitRates_type_rangeOfBitRates &();
    09837     operator const H245_VCCapability_availableBitRates_type_rangeOfBitRates &() const;
    09838 #endif
    09839
    09840     PBoolean CreateObject();
    09841     PObject * Clone() const;
    09842 };
    09843
    09844
    09845 //
    09846 // ArrayOf_Q2931Address
    09847 //
    09848
    09849 class H245_Q2931Address;
    09850
    09851 class H245_ArrayOf_Q2931Address : public PASN_Array
    09852 {
    09853 #ifndef PASN_LEANANDMEAN
    09854     PCLASSINFO(H245_ArrayOf_Q2931Address, PASN_Array);
    09855 #endif
    09856   public:
    09857     H245_ArrayOf_Q2931Address(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    09858
    09859     PASN_Object * CreateObject() const;
    09860     H245_Q2931Address & operator[](PINDEX i) const;
    09861     PObject * Clone() const;
    09862 };
    09863
    09864
    09865 //
    09866 // H223Capability_h223MultiplexTableCapability_enhanced
    09867 //
    09868
    09869 class H245_H223Capability_h223MultiplexTableCapability_enhanced : public PASN_Sequence
    09870 {
    09871 #ifndef PASN_LEANANDMEAN
    09872     PCLASSINFO(H245_H223Capability_h223MultiplexTableCapability_enhanced, PASN_Sequence);
    09873 #endif
    09874   public:
    09875     H245_H223Capability_h223MultiplexTableCapability_enhanced(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    09876
    09877     PASN_Integer m_maximumNestingDepth;
    09878     PASN_Integer m_maximumElementListSize;
    09879     PASN_Integer m_maximumSubElementListSize;
    09880
    09881     PINDEX GetDataLength() const;
    09882     PBoolean Decode(PASN_Stream & strm);
    09883     void Encode(PASN_Stream & strm) const;
    09884 #ifndef PASN_NOPRINTON
    09885     void PrintOn(ostream & strm) const;
    09886 #endif
    09887     Comparison Compare(const PObject & obj) const;
    09888     PObject * Clone() const;
    09889 };
    09890
    09891
    09892 //
    09893 // ArrayOf_RTPH263VideoRedundancyFrameMapping
    09894 //
    09895
    09896 class H245_RTPH263VideoRedundancyFrameMapping;
    09897
    09898 class H245_ArrayOf_RTPH263VideoRedundancyFrameMapping : public PASN_Array
    09899 {
    09900 #ifndef PASN_LEANANDMEAN
    09901     PCLASSINFO(H245_ArrayOf_RTPH263VideoRedundancyFrameMapping, PASN_Array);
    09902 #endif
    09903   public:
    09904     H245_ArrayOf_RTPH263VideoRedundancyFrameMapping(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    09905
    09906     PASN_Object * CreateObject() const;
    09907     H245_RTPH263VideoRedundancyFrameMapping & operator[](PINDEX i) const;
    09908     PObject * Clone() const;
    09909 };
    09910
    09911
    09912 //
    09913 // RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters
    09914 //
    09915
    09916 class H245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters : public PASN_Sequence
    09917 {
    09918 #ifndef PASN_LEANANDMEAN
    09919     PCLASSINFO(H245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters, PASN_Sequence);
    09920 #endif
    09921   public:
    09922     H245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    09923
    09924     PASN_Integer m_mpuHorizMBs;
    09925     PASN_Integer m_mpuVertMBs;
    09926     PASN_Integer m_mpuTotalNumber;
    09927
    09928     PINDEX GetDataLength() const;
    09929     PBoolean Decode(PASN_Stream & strm);
    09930     void Encode(PASN_Stream & strm) const;
    09931 #ifndef PASN_NOPRINTON
    09932     void PrintOn(ostream & strm) const;
    09933 #endif
    09934     Comparison Compare(const PObject & obj) const;
    09935     PObject * Clone() const;
    09936 };
    09937
    09938
    09939 //
    09940 // CustomPictureFormat_mPI_customPCF
    09941 //
    09942
    09943 class H245_CustomPictureFormat_mPI_customPCF_subtype;
    09944
    09945 class H245_CustomPictureFormat_mPI_customPCF : public PASN_Array
    09946 {
    09947 #ifndef PASN_LEANANDMEAN
    09948     PCLASSINFO(H245_CustomPictureFormat_mPI_customPCF, PASN_Array);
    09949 #endif
    09950   public:
    09951     H245_CustomPictureFormat_mPI_customPCF(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    09952
    09953     PASN_Object * CreateObject() const;
    09954     H245_CustomPictureFormat_mPI_customPCF_subtype & operator[](PINDEX i) const;
    09955     PObject * Clone() const;
    09956 };
    09957
    09958
    09959 //
    09960 // CustomPictureFormat_pixelAspectInformation_pixelAspectCode
    09961 //
    09962
    09963 class H245_CustomPictureFormat_pixelAspectInformation_pixelAspectCode : public PASN_Array
    09964 {
    09965 #ifndef PASN_LEANANDMEAN
    09966     PCLASSINFO(H245_CustomPictureFormat_pixelAspectInformation_pixelAspectCode, PASN_Array);
    09967 #endif
    09968   public:
    09969     H245_CustomPictureFormat_pixelAspectInformation_pixelAspectCode(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    09970
    09971     PASN_Object * CreateObject() const;
    09972     PASN_Integer & operator[](PINDEX i) const;
    09973     PObject * Clone() const;
    09974 };
    09975
    09976
    09977 //
    09978 // CustomPictureFormat_pixelAspectInformation_extendedPAR
    09979 //
    09980
    09981 class H245_CustomPictureFormat_pixelAspectInformation_extendedPAR_subtype;
    09982
    09983 class H245_CustomPictureFormat_pixelAspectInformation_extendedPAR : public PASN_Array
    09984 {
    09985 #ifndef PASN_LEANANDMEAN
    09986     PCLASSINFO(H245_CustomPictureFormat_pixelAspectInformation_extendedPAR, PASN_Array);
    09987 #endif
    09988   public:
    09989     H245_CustomPictureFormat_pixelAspectInformation_extendedPAR(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    09990
    09991     PASN_Object * CreateObject() const;
    09992     H245_CustomPictureFormat_pixelAspectInformation_extendedPAR_subtype & operator[](PINDEX i) const;
    09993     PObject * Clone() const;
    09994 };
    09995
    09996
    09997 //
    09998 // DataApplicationCapability_application_t84
    09999 //
    10000
    10001 class H245_DataApplicationCapability_application_t84 : public PASN_Sequence
    10002 {
    10003 #ifndef PASN_LEANANDMEAN
    10004     PCLASSINFO(H245_DataApplicationCapability_application_t84, PASN_Sequence);
    10005 #endif
    10006   public:
    10007     H245_DataApplicationCapability_application_t84(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10008
    10009     H245_DataProtocolCapability m_t84Protocol;
    10010     H245_T84Profile m_t84Profile;
    10011
    10012     PINDEX GetDataLength() const;
    10013     PBoolean Decode(PASN_Stream & strm);
    10014     void Encode(PASN_Stream & strm) const;
    10015 #ifndef PASN_NOPRINTON
    10016     void PrintOn(ostream & strm) const;
    10017 #endif
    10018     Comparison Compare(const PObject & obj) const;
    10019     PObject * Clone() const;
    10020 };
    10021
    10022
    10023 //
    10024 // DataApplicationCapability_application_nlpid
    10025 //
    10026
    10027 class H245_DataApplicationCapability_application_nlpid : public PASN_Sequence
    10028 {
    10029 #ifndef PASN_LEANANDMEAN
    10030     PCLASSINFO(H245_DataApplicationCapability_application_nlpid, PASN_Sequence);
    10031 #endif
    10032   public:
    10033     H245_DataApplicationCapability_application_nlpid(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10034
    10035     H245_DataProtocolCapability m_nlpidProtocol;
    10036     PASN_OctetString m_nlpidData;
    10037
    10038     PINDEX GetDataLength() const;
    10039     PBoolean Decode(PASN_Stream & strm);
    10040     void Encode(PASN_Stream & strm) const;
    10041 #ifndef PASN_NOPRINTON
    10042     void PrintOn(ostream & strm) const;
    10043 #endif
    10044     Comparison Compare(const PObject & obj) const;
    10045     PObject * Clone() const;
    10046 };
    10047
    10048
    10049 //
    10050 // DepFECCapability_rfc2733_separateStream
    10051 //
    10052
    10053 class H245_DepFECCapability_rfc2733_separateStream : public PASN_Sequence
    10054 {
    10055 #ifndef PASN_LEANANDMEAN
    10056     PCLASSINFO(H245_DepFECCapability_rfc2733_separateStream, PASN_Sequence);
    10057 #endif
    10058   public:
    10059     H245_DepFECCapability_rfc2733_separateStream(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10060
    10061     PASN_Boolean m_separatePort;
    10062     PASN_Boolean m_samePort;
    10063
    10064     PINDEX GetDataLength() const;
    10065     PBoolean Decode(PASN_Stream & strm);
    10066     void Encode(PASN_Stream & strm) const;
    10067 #ifndef PASN_NOPRINTON
    10068     void PrintOn(ostream & strm) const;
    10069 #endif
    10070     Comparison Compare(const PObject & obj) const;
    10071     PObject * Clone() const;
    10072 };
    10073
    10074
    10075 //
    10076 // OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters
    10077 //
    10078
    10079 class H245_H222LogicalChannelParameters;
    10080 class H245_H223LogicalChannelParameters;
    10081 class H245_V76LogicalChannelParameters;
    10082 class H245_H2250LogicalChannelParameters;
    10083
    10084 class H245_OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters : public PASN_Choice
    10085 {
    10086 #ifndef PASN_LEANANDMEAN
    10087     PCLASSINFO(H245_OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters, PASN_Choice);
    10088 #endif
    10089   public:
    10090     H245_OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    10091
    10092     enum Choices {
    10093       e_h222LogicalChannelParameters,
    10094       e_h223LogicalChannelParameters,
    10095       e_v76LogicalChannelParameters,
    10096       e_h2250LogicalChannelParameters,
    10097       e_none
    10098     };
    10099
    10100 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    10101     operator H245_H222LogicalChannelParameters &() const;
    10102 #else
    10103     operator H245_H222LogicalChannelParameters &();
    10104     operator const H245_H222LogicalChannelParameters &() const;
    10105 #endif
    10106 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    10107     operator H245_H223LogicalChannelParameters &() const;
    10108 #else
    10109     operator H245_H223LogicalChannelParameters &();
    10110     operator const H245_H223LogicalChannelParameters &() const;
    10111 #endif
    10112 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    10113     operator H245_V76LogicalChannelParameters &() const;
    10114 #else
    10115     operator H245_V76LogicalChannelParameters &();
    10116     operator const H245_V76LogicalChannelParameters &() const;
    10117 #endif
    10118 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    10119     operator H245_H2250LogicalChannelParameters &() const;
    10120 #else
    10121     operator H245_H2250LogicalChannelParameters &();
    10122     operator const H245_H2250LogicalChannelParameters &() const;
    10123 #endif
    10124
    10125     PBoolean CreateObject();
    10126     PObject * Clone() const;
    10127 };
    10128
    10129
    10130 //
    10131 // OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters
    10132 //
    10133
    10134 class H245_H223LogicalChannelParameters;
    10135 class H245_V76LogicalChannelParameters;
    10136 class H245_H2250LogicalChannelParameters;
    10137
    10138 class H245_OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters : public PASN_Choice
    10139 {
    10140 #ifndef PASN_LEANANDMEAN
    10141     PCLASSINFO(H245_OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters, PASN_Choice);
    10142 #endif
    10143   public:
    10144     H245_OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    10145
    10146     enum Choices {
    10147       e_h223LogicalChannelParameters,
    10148       e_v76LogicalChannelParameters,
    10149       e_h2250LogicalChannelParameters
    10150     };
    10151
    10152 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    10153     operator H245_H223LogicalChannelParameters &() const;
    10154 #else
    10155     operator H245_H223LogicalChannelParameters &();
    10156     operator const H245_H223LogicalChannelParameters &() const;
    10157 #endif
    10158 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    10159     operator H245_V76LogicalChannelParameters &() const;
    10160 #else
    10161     operator H245_V76LogicalChannelParameters &();
    10162     operator const H245_V76LogicalChannelParameters &() const;
    10163 #endif
    10164 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    10165     operator H245_H2250LogicalChannelParameters &() const;
    10166 #else
    10167     operator H245_H2250LogicalChannelParameters &();
    10168     operator const H245_H2250LogicalChannelParameters &() const;
    10169 #endif
    10170
    10171     PBoolean CreateObject();
    10172     PObject * Clone() const;
    10173 };
    10174
    10175
    10176 //
    10177 // H223LogicalChannelParameters_adaptationLayerType_al3
    10178 //
    10179
    10180 class H245_H223LogicalChannelParameters_adaptationLayerType_al3 : public PASN_Sequence
    10181 {
    10182 #ifndef PASN_LEANANDMEAN
    10183     PCLASSINFO(H245_H223LogicalChannelParameters_adaptationLayerType_al3, PASN_Sequence);
    10184 #endif
    10185   public:
    10186     H245_H223LogicalChannelParameters_adaptationLayerType_al3(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10187
    10188     PASN_Integer m_controlFieldOctets;
    10189     PASN_Integer m_sendBufferSize;
    10190
    10191     PINDEX GetDataLength() const;
    10192     PBoolean Decode(PASN_Stream & strm);
    10193     void Encode(PASN_Stream & strm) const;
    10194 #ifndef PASN_NOPRINTON
    10195     void PrintOn(ostream & strm) const;
    10196 #endif
    10197     Comparison Compare(const PObject & obj) const;
    10198     PObject * Clone() const;
    10199 };
    10200
    10201
    10202 //
    10203 // ArrayOf_RedundancyEncodingElement
    10204 //
    10205
    10206 class H245_RedundancyEncodingElement;
    10207
    10208 class H245_ArrayOf_RedundancyEncodingElement : public PASN_Array
    10209 {
    10210 #ifndef PASN_LEANANDMEAN
    10211     PCLASSINFO(H245_ArrayOf_RedundancyEncodingElement, PASN_Array);
    10212 #endif
    10213   public:
    10214     H245_ArrayOf_RedundancyEncodingElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10215
    10216     PASN_Object * CreateObject() const;
    10217     H245_RedundancyEncodingElement & operator[](PINDEX i) const;
    10218     PObject * Clone() const;
    10219 };
    10220
    10221
    10222 //
    10223 // DepFECData_rfc2733_mode
    10224 //
    10225
    10226 class H245_DepFECData_rfc2733_mode_separateStream;
    10227
    10228 class H245_DepFECData_rfc2733_mode : public PASN_Choice
    10229 {
    10230 #ifndef PASN_LEANANDMEAN
    10231     PCLASSINFO(H245_DepFECData_rfc2733_mode, PASN_Choice);
    10232 #endif
    10233   public:
    10234     H245_DepFECData_rfc2733_mode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    10235
    10236     enum Choices {
    10237       e_redundancyEncoding,
    10238       e_separateStream
    10239     };
    10240
    10241 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    10242     operator H245_DepFECData_rfc2733_mode_separateStream &() const;
    10243 #else
    10244     operator H245_DepFECData_rfc2733_mode_separateStream &();
    10245     operator const H245_DepFECData_rfc2733_mode_separateStream &() const;
    10246 #endif
    10247
    10248     PBoolean CreateObject();
    10249     PObject * Clone() const;
    10250 };
    10251
    10252
    10253 //
    10254 // FECData_rfc2733_pktMode
    10255 //
    10256
    10257 class H245_FECData_rfc2733_pktMode_rfc2733sameport;
    10258 class H245_FECData_rfc2733_pktMode_rfc2733diffport;
    10259
    10260 class H245_FECData_rfc2733_pktMode : public PASN_Choice
    10261 {
    10262 #ifndef PASN_LEANANDMEAN
    10263     PCLASSINFO(H245_FECData_rfc2733_pktMode, PASN_Choice);
    10264 #endif
    10265   public:
    10266     H245_FECData_rfc2733_pktMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    10267
    10268     enum Choices {
    10269       e_rfc2198coding,
    10270       e_rfc2733sameport,
    10271       e_rfc2733diffport
    10272     };
    10273
    10274 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    10275     operator H245_FECData_rfc2733_pktMode_rfc2733sameport &() const;
    10276 #else
    10277     operator H245_FECData_rfc2733_pktMode_rfc2733sameport &();
    10278     operator const H245_FECData_rfc2733_pktMode_rfc2733sameport &() const;
    10279 #endif
    10280 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    10281     operator H245_FECData_rfc2733_pktMode_rfc2733diffport &() const;
    10282 #else
    10283     operator H245_FECData_rfc2733_pktMode_rfc2733diffport &();
    10284     operator const H245_FECData_rfc2733_pktMode_rfc2733diffport &() const;
    10285 #endif
    10286
    10287     PBoolean CreateObject();
    10288     PObject * Clone() const;
    10289 };
    10290
    10291
    10292 //
    10293 // UnicastAddress_iPSourceRouteAddress_routing
    10294 //
    10295
    10296 class H245_UnicastAddress_iPSourceRouteAddress_routing : public PASN_Choice
    10297 {
    10298 #ifndef PASN_LEANANDMEAN
    10299     PCLASSINFO(H245_UnicastAddress_iPSourceRouteAddress_routing, PASN_Choice);
    10300 #endif
    10301   public:
    10302     H245_UnicastAddress_iPSourceRouteAddress_routing(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    10303
    10304     enum Choices {
    10305       e_strict,
    10306       e_loose
    10307     };
    10308
    10309     PBoolean CreateObject();
    10310     PObject * Clone() const;
    10311 };
    10312
    10313
    10314 //
    10315 // UnicastAddress_iPSourceRouteAddress_route
    10316 //
    10317
    10318 class H245_UnicastAddress_iPSourceRouteAddress_route : public PASN_Array
    10319 {
    10320 #ifndef PASN_LEANANDMEAN
    10321     PCLASSINFO(H245_UnicastAddress_iPSourceRouteAddress_route, PASN_Array);
    10322 #endif
    10323   public:
    10324     H245_UnicastAddress_iPSourceRouteAddress_route(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10325
    10326     PASN_Object * CreateObject() const;
    10327     PASN_OctetString & operator[](PINDEX i) const;
    10328     PObject * Clone() const;
    10329 };
    10330
    10331
    10332 //
    10333 // OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters
    10334 //
    10335
    10336 class H245_H222LogicalChannelParameters;
    10337 class H245_H2250LogicalChannelParameters;
    10338
    10339 class H245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters : public PASN_Choice
    10340 {
    10341 #ifndef PASN_LEANANDMEAN
    10342     PCLASSINFO(H245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters, PASN_Choice);
    10343 #endif
    10344   public:
    10345     H245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    10346
    10347     enum Choices {
    10348       e_h222LogicalChannelParameters,
    10349       e_h2250LogicalChannelParameters
    10350     };
    10351
    10352 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    10353     operator H245_H222LogicalChannelParameters &() const;
    10354 #else
    10355     operator H245_H222LogicalChannelParameters &();
    10356     operator const H245_H222LogicalChannelParameters &() const;
    10357 #endif
    10358 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    10359     operator H245_H2250LogicalChannelParameters &() const;
    10360 #else
    10361     operator H245_H2250LogicalChannelParameters &();
    10362     operator const H245_H2250LogicalChannelParameters &() const;
    10363 #endif
    10364
    10365     PBoolean CreateObject();
    10366     PObject * Clone() const;
    10367 };
    10368
    10369
    10370 //
    10371 // DepFECMode_rfc2733Mode_mode
    10372 //
    10373
    10374 class H245_DepFECMode_rfc2733Mode_mode_separateStream;
    10375
    10376 class H245_DepFECMode_rfc2733Mode_mode : public PASN_Choice
    10377 {
    10378 #ifndef PASN_LEANANDMEAN
    10379     PCLASSINFO(H245_DepFECMode_rfc2733Mode_mode, PASN_Choice);
    10380 #endif
    10381   public:
    10382     H245_DepFECMode_rfc2733Mode_mode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    10383
    10384     enum Choices {
    10385       e_redundancyEncoding,
    10386       e_separateStream
    10387     };
    10388
    10389 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    10390     operator H245_DepFECMode_rfc2733Mode_mode_separateStream &() const;
    10391 #else
    10392     operator H245_DepFECMode_rfc2733Mode_mode_separateStream &();
    10393     operator const H245_DepFECMode_rfc2733Mode_mode_separateStream &() const;
    10394 #endif
    10395
    10396     PBoolean CreateObject();
    10397     PObject * Clone() const;
    10398 };
    10399
    10400
    10401 //
    10402 // H223ModeParameters_adaptationLayerType_al3
    10403 //
    10404
    10405 class H245_H223ModeParameters_adaptationLayerType_al3 : public PASN_Sequence
    10406 {
    10407 #ifndef PASN_LEANANDMEAN
    10408     PCLASSINFO(H245_H223ModeParameters_adaptationLayerType_al3, PASN_Sequence);
    10409 #endif
    10410   public:
    10411     H245_H223ModeParameters_adaptationLayerType_al3(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10412
    10413     PASN_Integer m_controlFieldOctets;
    10414     PASN_Integer m_sendBufferSize;
    10415
    10416     PINDEX GetDataLength() const;
    10417     PBoolean Decode(PASN_Stream & strm);
    10418     void Encode(PASN_Stream & strm) const;
    10419 #ifndef PASN_NOPRINTON
    10420     void PrintOn(ostream & strm) const;
    10421 #endif
    10422     Comparison Compare(const PObject & obj) const;
    10423     PObject * Clone() const;
    10424 };
    10425
    10426
    10427 //
    10428 // DataMode_application_nlpid
    10429 //
    10430
    10431 class H245_DataMode_application_nlpid : public PASN_Sequence
    10432 {
    10433 #ifndef PASN_LEANANDMEAN
    10434     PCLASSINFO(H245_DataMode_application_nlpid, PASN_Sequence);
    10435 #endif
    10436   public:
    10437     H245_DataMode_application_nlpid(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10438
    10439     H245_DataProtocolCapability m_nlpidProtocol;
    10440     PASN_OctetString m_nlpidData;
    10441
    10442     PINDEX GetDataLength() const;
    10443     PBoolean Decode(PASN_Stream & strm);
    10444     void Encode(PASN_Stream & strm) const;
    10445 #ifndef PASN_NOPRINTON
    10446     void PrintOn(ostream & strm) const;
    10447 #endif
    10448     Comparison Compare(const PObject & obj) const;
    10449     PObject * Clone() const;
    10450 };
    10451
    10452
    10453 //
    10454 // MultilinkRequest_maximumHeaderInterval_requestType
    10455 //
    10456
    10457 class H245_MultilinkRequest_maximumHeaderInterval_requestType : public PASN_Choice
    10458 {
    10459 #ifndef PASN_LEANANDMEAN
    10460     PCLASSINFO(H245_MultilinkRequest_maximumHeaderInterval_requestType, PASN_Choice);
    10461 #endif
    10462   public:
    10463     H245_MultilinkRequest_maximumHeaderInterval_requestType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    10464
    10465     enum Choices {
    10466       e_currentIntervalInformation,
    10467       e_requestedInterval
    10468     };
    10469
    10470     PBoolean CreateObject();
    10471     PObject * Clone() const;
    10472 };
    10473
    10474
    10475 //
    10476 // MultilinkResponse_addConnection_responseCode
    10477 //
    10478
    10479 class H245_MultilinkResponse_addConnection_responseCode_rejected;
    10480
    10481 class H245_MultilinkResponse_addConnection_responseCode : public PASN_Choice
    10482 {
    10483 #ifndef PASN_LEANANDMEAN
    10484     PCLASSINFO(H245_MultilinkResponse_addConnection_responseCode, PASN_Choice);
    10485 #endif
    10486   public:
    10487     H245_MultilinkResponse_addConnection_responseCode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    10488
    10489     enum Choices {
    10490       e_accepted,
    10491       e_rejected
    10492     };
    10493
    10494 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    10495     operator H245_MultilinkResponse_addConnection_responseCode_rejected &() const;
    10496 #else
    10497     operator H245_MultilinkResponse_addConnection_responseCode_rejected &();
    10498     operator const H245_MultilinkResponse_addConnection_responseCode_rejected &() const;
    10499 #endif
    10500
    10501     PBoolean CreateObject();
    10502     PObject * Clone() const;
    10503 };
    10504
    10505
    10506 //
    10507 // ArrayOf_CapabilityDescriptorNumber
    10508 //
    10509
    10510 class H245_CapabilityDescriptorNumber;
    10511
    10512 class H245_ArrayOf_CapabilityDescriptorNumber : public PASN_Array
    10513 {
    10514 #ifndef PASN_LEANANDMEAN
    10515     PCLASSINFO(H245_ArrayOf_CapabilityDescriptorNumber, PASN_Array);
    10516 #endif
    10517   public:
    10518     H245_ArrayOf_CapabilityDescriptorNumber(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
    10519
    10520     PASN_Object * CreateObject() const;
    10521     H245_CapabilityDescriptorNumber & operator[](PINDEX i) const;
    10522     PObject * Clone() const;
    10523 };
    10524
    10525
    10526 //
    10527 // MiscellaneousCommand_type_videoFastUpdateGOB
    10528 //
    10529
    10530 class H245_MiscellaneousCommand_type_videoFastUpdateGOB : public PASN_Sequence
    10531 {
    10532 #ifndef PASN_LEANANDMEAN
    10533     PCLASSINFO(H245_MiscellaneousCommand_type_videoFastUpdateGOB, PASN_Sequence);
    10534 #endif
    10535   public:
    10536     H245_MiscellaneousCommand_type_videoFastUpdateGOB(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10537
    10538     PASN_Integer m_firstGOB;
    10539     PASN_Integer m_numberOfGOBs;
    10540
    10541     PINDEX GetDataLength() const;
    10542     PBoolean Decode(PASN_Stream & strm);
    10543     void Encode(PASN_Stream & strm) const;
    10544 #ifndef PASN_NOPRINTON
    10545     void PrintOn(ostream & strm) const;
    10546 #endif
    10547     Comparison Compare(const PObject & obj) const;
    10548     PObject * Clone() const;
    10549 };
    10550
    10551
    10552 //
    10553 // MiscellaneousCommand_type_videoFastUpdateMB
    10554 //
    10555
    10556 class H245_MiscellaneousCommand_type_videoFastUpdateMB : public PASN_Sequence
    10557 {
    10558 #ifndef PASN_LEANANDMEAN
    10559     PCLASSINFO(H245_MiscellaneousCommand_type_videoFastUpdateMB, PASN_Sequence);
    10560 #endif
    10561   public:
    10562     H245_MiscellaneousCommand_type_videoFastUpdateMB(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10563
    10564     enum OptionalFields {
    10565       e_firstGOB,
    10566       e_firstMB
    10567     };
    10568
    10569     PASN_Integer m_firstGOB;
    10570     PASN_Integer m_firstMB;
    10571     PASN_Integer m_numberOfMBs;
    10572
    10573     PINDEX GetDataLength() const;
    10574     PBoolean Decode(PASN_Stream & strm);
    10575     void Encode(PASN_Stream & strm) const;
    10576 #ifndef PASN_NOPRINTON
    10577     void PrintOn(ostream & strm) const;
    10578 #endif
    10579     Comparison Compare(const PObject & obj) const;
    10580     PObject * Clone() const;
    10581 };
    10582
    10583
    10584 //
    10585 // MiscellaneousCommand_type_videoBadMBs
    10586 //
    10587
    10588 class H245_MiscellaneousCommand_type_videoBadMBs : public PASN_Sequence
    10589 {
    10590 #ifndef PASN_LEANANDMEAN
    10591     PCLASSINFO(H245_MiscellaneousCommand_type_videoBadMBs, PASN_Sequence);
    10592 #endif
    10593   public:
    10594     H245_MiscellaneousCommand_type_videoBadMBs(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10595
    10596     PASN_Integer m_firstMB;
    10597     PASN_Integer m_numberOfMBs;
    10598     PASN_Integer m_temporalReference;
    10599
    10600     PINDEX GetDataLength() const;
    10601     PBoolean Decode(PASN_Stream & strm);
    10602     void Encode(PASN_Stream & strm) const;
    10603 #ifndef PASN_NOPRINTON
    10604     void PrintOn(ostream & strm) const;
    10605 #endif
    10606     Comparison Compare(const PObject & obj) const;
    10607     PObject * Clone() const;
    10608 };
    10609
    10610
    10611 //
    10612 // ArrayOf_PictureReference
    10613 //
    10614
    10615 class H245_PictureReference;
    10616
    10617 class H245_ArrayOf_PictureReference : public PASN_Array
    10618 {
    10619 #ifndef PASN_LEANANDMEAN
    10620     PCLASSINFO(H245_ArrayOf_PictureReference, PASN_Array);
    10621 #endif
    10622   public:
    10623     H245_ArrayOf_PictureReference(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10624
    10625     PASN_Object * CreateObject() const;
    10626     H245_PictureReference & operator[](PINDEX i) const;
    10627     PObject * Clone() const;
    10628 };
    10629
    10630
    10631 //
    10632 // MiscellaneousCommand_type_lostPartialPicture
    10633 //
    10634
    10635 class H245_MiscellaneousCommand_type_lostPartialPicture : public PASN_Sequence
    10636 {
    10637 #ifndef PASN_LEANANDMEAN
    10638     PCLASSINFO(H245_MiscellaneousCommand_type_lostPartialPicture, PASN_Sequence);
    10639 #endif
    10640   public:
    10641     H245_MiscellaneousCommand_type_lostPartialPicture(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10642
    10643     H245_PictureReference m_pictureReference;
    10644     PASN_Integer m_firstMB;
    10645     PASN_Integer m_numberOfMBs;
    10646
    10647     PINDEX GetDataLength() const;
    10648     PBoolean Decode(PASN_Stream & strm);
    10649     void Encode(PASN_Stream & strm) const;
    10650 #ifndef PASN_NOPRINTON
    10651     void PrintOn(ostream & strm) const;
    10652 #endif
    10653     Comparison Compare(const PObject & obj) const;
    10654     PObject * Clone() const;
    10655 };
    10656
    10657
    10658 //
    10659 // MiscellaneousCommand_type_encryptionUpdateAck
    10660 //
    10661
    10662 class H245_MiscellaneousCommand_type_encryptionUpdateAck : public PASN_Sequence
    10663 {
    10664 #ifndef PASN_LEANANDMEAN
    10665     PCLASSINFO(H245_MiscellaneousCommand_type_encryptionUpdateAck, PASN_Sequence);
    10666 #endif
    10667   public:
    10668     H245_MiscellaneousCommand_type_encryptionUpdateAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10669
    10670     PASN_Integer m_synchFlag;
    10671
    10672     PINDEX GetDataLength() const;
    10673     PBoolean Decode(PASN_Stream & strm);
    10674     void Encode(PASN_Stream & strm) const;
    10675 #ifndef PASN_NOPRINTON
    10676     void PrintOn(ostream & strm) const;
    10677 #endif
    10678     Comparison Compare(const PObject & obj) const;
    10679     PObject * Clone() const;
    10680 };
    10681
    10682
    10683 //
    10684 // NewATMVCCommand_aal_aal5
    10685 //
    10686
    10687 class H245_NewATMVCCommand_aal_aal5 : public PASN_Sequence
    10688 {
    10689 #ifndef PASN_LEANANDMEAN
    10690     PCLASSINFO(H245_NewATMVCCommand_aal_aal5, PASN_Sequence);
    10691 #endif
    10692   public:
    10693     H245_NewATMVCCommand_aal_aal5(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10694
    10695     PASN_Integer m_forwardMaximumSDUSize;
    10696     PASN_Integer m_backwardMaximumSDUSize;
    10697
    10698     PINDEX GetDataLength() const;
    10699     PBoolean Decode(PASN_Stream & strm);
    10700     void Encode(PASN_Stream & strm) const;
    10701 #ifndef PASN_NOPRINTON
    10702     void PrintOn(ostream & strm) const;
    10703 #endif
    10704     Comparison Compare(const PObject & obj) const;
    10705     PObject * Clone() const;
    10706 };
    10707
    10708
    10709 //
    10710 // NewATMVCCommand_reverseParameters_multiplex
    10711 //
    10712
    10713 class H245_NewATMVCCommand_reverseParameters_multiplex : public PASN_Choice
    10714 {
    10715 #ifndef PASN_LEANANDMEAN
    10716     PCLASSINFO(H245_NewATMVCCommand_reverseParameters_multiplex, PASN_Choice);
    10717 #endif
    10718   public:
    10719     H245_NewATMVCCommand_reverseParameters_multiplex(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    10720
    10721     enum Choices {
    10722       e_noMultiplex,
    10723       e_transportStream,
    10724       e_programStream
    10725     };
    10726
    10727     PBoolean CreateObject();
    10728     PObject * Clone() const;
    10729 };
    10730
    10731
    10732 //
    10733 // MiscellaneousIndication_type_videoNotDecodedMBs
    10734 //
    10735
    10736 class H245_MiscellaneousIndication_type_videoNotDecodedMBs : public PASN_Sequence
    10737 {
    10738 #ifndef PASN_LEANANDMEAN
    10739     PCLASSINFO(H245_MiscellaneousIndication_type_videoNotDecodedMBs, PASN_Sequence);
    10740 #endif
    10741   public:
    10742     H245_MiscellaneousIndication_type_videoNotDecodedMBs(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10743
    10744     PASN_Integer m_firstMB;
    10745     PASN_Integer m_numberOfMBs;
    10746     PASN_Integer m_temporalReference;
    10747
    10748     PINDEX GetDataLength() const;
    10749     PBoolean Decode(PASN_Stream & strm);
    10750     void Encode(PASN_Stream & strm) const;
    10751 #ifndef PASN_NOPRINTON
    10752     void PrintOn(ostream & strm) const;
    10753 #endif
    10754     Comparison Compare(const PObject & obj) const;
    10755     PObject * Clone() const;
    10756 };
    10757
    10758
    10759 //
    10760 // NewATMVCIndication_aal_aal5
    10761 //
    10762
    10763 class H245_NewATMVCIndication_aal_aal5 : public PASN_Sequence
    10764 {
    10765 #ifndef PASN_LEANANDMEAN
    10766     PCLASSINFO(H245_NewATMVCIndication_aal_aal5, PASN_Sequence);
    10767 #endif
    10768   public:
    10769     H245_NewATMVCIndication_aal_aal5(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10770
    10771     PASN_Integer m_forwardMaximumSDUSize;
    10772     PASN_Integer m_backwardMaximumSDUSize;
    10773
    10774     PINDEX GetDataLength() const;
    10775     PBoolean Decode(PASN_Stream & strm);
    10776     void Encode(PASN_Stream & strm) const;
    10777 #ifndef PASN_NOPRINTON
    10778     void PrintOn(ostream & strm) const;
    10779 #endif
    10780     Comparison Compare(const PObject & obj) const;
    10781     PObject * Clone() const;
    10782 };
    10783
    10784
    10785 //
    10786 // NewATMVCIndication_reverseParameters_multiplex
    10787 //
    10788
    10789 class H245_NewATMVCIndication_reverseParameters_multiplex : public PASN_Choice
    10790 {
    10791 #ifndef PASN_LEANANDMEAN
    10792     PCLASSINFO(H245_NewATMVCIndication_reverseParameters_multiplex, PASN_Choice);
    10793 #endif
    10794   public:
    10795     H245_NewATMVCIndication_reverseParameters_multiplex(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    10796
    10797     enum Choices {
    10798       e_noMultiplex,
    10799       e_transportStream,
    10800       e_programStream
    10801     };
    10802
    10803     PBoolean CreateObject();
    10804     PObject * Clone() const;
    10805 };
    10806
    10807
    10808 //
    10809 // UserInputIndication_signal_rtp
    10810 //
    10811
    10812 class H245_UserInputIndication_signal_rtp : public PASN_Sequence
    10813 {
    10814 #ifndef PASN_LEANANDMEAN
    10815     PCLASSINFO(H245_UserInputIndication_signal_rtp, PASN_Sequence);
    10816 #endif
    10817   public:
    10818     H245_UserInputIndication_signal_rtp(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10819
    10820     enum OptionalFields {
    10821       e_timestamp,
    10822       e_expirationTime
    10823     };
    10824
    10825     PASN_Integer m_timestamp;
    10826     PASN_Integer m_expirationTime;
    10827     H245_LogicalChannelNumber m_logicalChannelNumber;
    10828
    10829     PINDEX GetDataLength() const;
    10830     PBoolean Decode(PASN_Stream & strm);
    10831     void Encode(PASN_Stream & strm) const;
    10832 #ifndef PASN_NOPRINTON
    10833     void PrintOn(ostream & strm) const;
    10834 #endif
    10835     Comparison Compare(const PObject & obj) const;
    10836     PObject * Clone() const;
    10837 };
    10838
    10839
    10840 //
    10841 // UserInputIndication_signalUpdate_rtp
    10842 //
    10843
    10844 class H245_UserInputIndication_signalUpdate_rtp : public PASN_Sequence
    10845 {
    10846 #ifndef PASN_LEANANDMEAN
    10847     PCLASSINFO(H245_UserInputIndication_signalUpdate_rtp, PASN_Sequence);
    10848 #endif
    10849   public:
    10850     H245_UserInputIndication_signalUpdate_rtp(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10851
    10852     H245_LogicalChannelNumber m_logicalChannelNumber;
    10853
    10854     PINDEX GetDataLength() const;
    10855     PBoolean Decode(PASN_Stream & strm);
    10856     void Encode(PASN_Stream & strm) const;
    10857 #ifndef PASN_NOPRINTON
    10858     void PrintOn(ostream & strm) const;
    10859 #endif
    10860     Comparison Compare(const PObject & obj) const;
    10861     PObject * Clone() const;
    10862 };
    10863
    10864
    10865 //
    10866 // UserInputIndication_extendedAlphanumeric_encryptedAlphanumeric
    10867 //
    10868
    10869 class H245_UserInputIndication_extendedAlphanumeric_encryptedAlphanumeric : public PASN_Sequence
    10870 {
    10871 #ifndef PASN_LEANANDMEAN
    10872     PCLASSINFO(H245_UserInputIndication_extendedAlphanumeric_encryptedAlphanumeric, PASN_Sequence);
    10873 #endif
    10874   public:
    10875     H245_UserInputIndication_extendedAlphanumeric_encryptedAlphanumeric(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10876
    10877     enum OptionalFields {
    10878       e_paramS
    10879     };
    10880
    10881     PASN_ObjectId m_algorithmOID;
    10882     H245_Params m_paramS;
    10883     PASN_OctetString m_encrypted;
    10884
    10885     PINDEX GetDataLength() const;
    10886     PBoolean Decode(PASN_Stream & strm);
    10887     void Encode(PASN_Stream & strm) const;
    10888 #ifndef PASN_NOPRINTON
    10889     void PrintOn(ostream & strm) const;
    10890 #endif
    10891     Comparison Compare(const PObject & obj) const;
    10892     PObject * Clone() const;
    10893 };
    10894
    10895
    10896 //
    10897 // VCCapability_availableBitRates_type_rangeOfBitRates
    10898 //
    10899
    10900 class H245_VCCapability_availableBitRates_type_rangeOfBitRates : public PASN_Sequence
    10901 {
    10902 #ifndef PASN_LEANANDMEAN
    10903     PCLASSINFO(H245_VCCapability_availableBitRates_type_rangeOfBitRates, PASN_Sequence);
    10904 #endif
    10905   public:
    10906     H245_VCCapability_availableBitRates_type_rangeOfBitRates(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10907
    10908     PASN_Integer m_lowerBitRate;
    10909     PASN_Integer m_higherBitRate;
    10910
    10911     PINDEX GetDataLength() const;
    10912     PBoolean Decode(PASN_Stream & strm);
    10913     void Encode(PASN_Stream & strm) const;
    10914 #ifndef PASN_NOPRINTON
    10915     void PrintOn(ostream & strm) const;
    10916 #endif
    10917     Comparison Compare(const PObject & obj) const;
    10918     PObject * Clone() const;
    10919 };
    10920
    10921
    10922 //
    10923 // CustomPictureFormat_mPI_customPCF_subtype
    10924 //
    10925
    10926 class H245_CustomPictureFormat_mPI_customPCF_subtype : public PASN_Sequence
    10927 {
    10928 #ifndef PASN_LEANANDMEAN
    10929     PCLASSINFO(H245_CustomPictureFormat_mPI_customPCF_subtype, PASN_Sequence);
    10930 #endif
    10931   public:
    10932     H245_CustomPictureFormat_mPI_customPCF_subtype(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10933
    10934     PASN_Integer m_clockConversionCode;
    10935     PASN_Integer m_clockDivisor;
    10936     PASN_Integer m_customMPI;
    10937
    10938     PINDEX GetDataLength() const;
    10939     PBoolean Decode(PASN_Stream & strm);
    10940     void Encode(PASN_Stream & strm) const;
    10941 #ifndef PASN_NOPRINTON
    10942     void PrintOn(ostream & strm) const;
    10943 #endif
    10944     Comparison Compare(const PObject & obj) const;
    10945     PObject * Clone() const;
    10946 };
    10947
    10948
    10949 //
    10950 // CustomPictureFormat_pixelAspectInformation_extendedPAR_subtype
    10951 //
    10952
    10953 class H245_CustomPictureFormat_pixelAspectInformation_extendedPAR_subtype : public PASN_Sequence
    10954 {
    10955 #ifndef PASN_LEANANDMEAN
    10956     PCLASSINFO(H245_CustomPictureFormat_pixelAspectInformation_extendedPAR_subtype, PASN_Sequence);
    10957 #endif
    10958   public:
    10959     H245_CustomPictureFormat_pixelAspectInformation_extendedPAR_subtype(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    10960
    10961     PASN_Integer m_width;
    10962     PASN_Integer m_height;
    10963
    10964     PINDEX GetDataLength() const;
    10965     PBoolean Decode(PASN_Stream & strm);
    10966     void Encode(PASN_Stream & strm) const;
    10967 #ifndef PASN_NOPRINTON
    10968     void PrintOn(ostream & strm) const;
    10969 #endif
    10970     Comparison Compare(const PObject & obj) const;
    10971     PObject * Clone() const;
    10972 };
    10973
    10974
    10975 //
    10976 // V76LogicalChannelParameters_mode_eRM_recovery
    10977 //
    10978
    10979 class H245_V76LogicalChannelParameters_mode_eRM_recovery : public PASN_Choice
    10980 {
    10981 #ifndef PASN_LEANANDMEAN
    10982     PCLASSINFO(H245_V76LogicalChannelParameters_mode_eRM_recovery, PASN_Choice);
    10983 #endif
    10984   public:
    10985     H245_V76LogicalChannelParameters_mode_eRM_recovery(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    10986
    10987     enum Choices {
    10988       e_rej,
    10989       e_sREJ,
    10990       e_mSREJ
    10991     };
    10992
    10993     PBoolean CreateObject();
    10994     PObject * Clone() const;
    10995 };
    10996
    10997
    10998 //
    10999 // DepFECData_rfc2733_mode_separateStream
    11000 //
    11001
    11002 class H245_DepFECData_rfc2733_mode_separateStream_differentPort;
    11003 class H245_DepFECData_rfc2733_mode_separateStream_samePort;
    11004
    11005 class H245_DepFECData_rfc2733_mode_separateStream : public PASN_Choice
    11006 {
    11007 #ifndef PASN_LEANANDMEAN
    11008     PCLASSINFO(H245_DepFECData_rfc2733_mode_separateStream, PASN_Choice);
    11009 #endif
    11010   public:
    11011     H245_DepFECData_rfc2733_mode_separateStream(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    11012
    11013     enum Choices {
    11014       e_differentPort,
    11015       e_samePort
    11016     };
    11017
    11018 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    11019     operator H245_DepFECData_rfc2733_mode_separateStream_differentPort &() const;
    11020 #else
    11021     operator H245_DepFECData_rfc2733_mode_separateStream_differentPort &();
    11022     operator const H245_DepFECData_rfc2733_mode_separateStream_differentPort &() const;
    11023 #endif
    11024 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    11025     operator H245_DepFECData_rfc2733_mode_separateStream_samePort &() const;
    11026 #else
    11027     operator H245_DepFECData_rfc2733_mode_separateStream_samePort &();
    11028     operator const H245_DepFECData_rfc2733_mode_separateStream_samePort &() const;
    11029 #endif
    11030
    11031     PBoolean CreateObject();
    11032     PObject * Clone() const;
    11033 };
    11034
    11035
    11036 //
    11037 // FECData_rfc2733_pktMode_rfc2733sameport
    11038 //
    11039
    11040 class H245_FECData_rfc2733_pktMode_rfc2733sameport : public PASN_Sequence
    11041 {
    11042 #ifndef PASN_LEANANDMEAN
    11043     PCLASSINFO(H245_FECData_rfc2733_pktMode_rfc2733sameport, PASN_Sequence);
    11044 #endif
    11045   public:
    11046     H245_FECData_rfc2733_pktMode_rfc2733sameport(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11047
    11048
    11049     PINDEX GetDataLength() const;
    11050     PBoolean Decode(PASN_Stream & strm);
    11051     void Encode(PASN_Stream & strm) const;
    11052 #ifndef PASN_NOPRINTON
    11053     void PrintOn(ostream & strm) const;
    11054 #endif
    11055     PObject * Clone() const;
    11056 };
    11057
    11058
    11059 //
    11060 // FECData_rfc2733_pktMode_rfc2733diffport
    11061 //
    11062
    11063 class H245_FECData_rfc2733_pktMode_rfc2733diffport : public PASN_Sequence
    11064 {
    11065 #ifndef PASN_LEANANDMEAN
    11066     PCLASSINFO(H245_FECData_rfc2733_pktMode_rfc2733diffport, PASN_Sequence);
    11067 #endif
    11068   public:
    11069     H245_FECData_rfc2733_pktMode_rfc2733diffport(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11070
    11071     H245_LogicalChannelNumber m_protectedChannel;
    11072
    11073     PINDEX GetDataLength() const;
    11074     PBoolean Decode(PASN_Stream & strm);
    11075     void Encode(PASN_Stream & strm) const;
    11076 #ifndef PASN_NOPRINTON
    11077     void PrintOn(ostream & strm) const;
    11078 #endif
    11079     Comparison Compare(const PObject & obj) const;
    11080     PObject * Clone() const;
    11081 };
    11082
    11083
    11084 //
    11085 // DepFECMode_rfc2733Mode_mode_separateStream
    11086 //
    11087
    11088 class H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort;
    11089 class H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort;
    11090
    11091 class H245_DepFECMode_rfc2733Mode_mode_separateStream : public PASN_Choice
    11092 {
    11093 #ifndef PASN_LEANANDMEAN
    11094     PCLASSINFO(H245_DepFECMode_rfc2733Mode_mode_separateStream, PASN_Choice);
    11095 #endif
    11096   public:
    11097     H245_DepFECMode_rfc2733Mode_mode_separateStream(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    11098
    11099     enum Choices {
    11100       e_differentPort,
    11101       e_samePort
    11102     };
    11103
    11104 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    11105     operator H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort &() const;
    11106 #else
    11107     operator H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort &();
    11108     operator const H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort &() const;
    11109 #endif
    11110 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    11111     operator H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort &() const;
    11112 #else
    11113     operator H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort &();
    11114     operator const H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort &() const;
    11115 #endif
    11116
    11117     PBoolean CreateObject();
    11118     PObject * Clone() const;
    11119 };
    11120
    11121
    11122 //
    11123 // MultilinkResponse_addConnection_responseCode_rejected
    11124 //
    11125
    11126 class H245_MultilinkResponse_addConnection_responseCode_rejected : public PASN_Choice
    11127 {
    11128 #ifndef PASN_LEANANDMEAN
    11129     PCLASSINFO(H245_MultilinkResponse_addConnection_responseCode_rejected, PASN_Choice);
    11130 #endif
    11131   public:
    11132     H245_MultilinkResponse_addConnection_responseCode_rejected(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    11133
    11134     enum Choices {
    11135       e_connectionsNotAvailable,
    11136       e_userRejected
    11137     };
    11138
    11139     PBoolean CreateObject();
    11140     PObject * Clone() const;
    11141 };
    11142
    11143
    11144 //
    11145 // MiscellaneousCommand_type_progressiveRefinementStart_repeatCount
    11146 //
    11147
    11148 class H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount : public PASN_Choice
    11149 {
    11150 #ifndef PASN_LEANANDMEAN
    11151     PCLASSINFO(H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount, PASN_Choice);
    11152 #endif
    11153   public:
    11154     H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    11155
    11156     enum Choices {
    11157       e_doOneProgression,
    11158       e_doContinuousProgressions,
    11159       e_doOneIndependentProgression,
    11160       e_doContinuousIndependentProgressions
    11161     };
    11162
    11163     PBoolean CreateObject();
    11164     PObject * Clone() const;
    11165 };
    11166
    11167
    11168 //
    11169 // NewATMVCCommand_aal_aal1_clockRecovery
    11170 //
    11171
    11172 class H245_NewATMVCCommand_aal_aal1_clockRecovery : public PASN_Choice
    11173 {
    11174 #ifndef PASN_LEANANDMEAN
    11175     PCLASSINFO(H245_NewATMVCCommand_aal_aal1_clockRecovery, PASN_Choice);
    11176 #endif
    11177   public:
    11178     H245_NewATMVCCommand_aal_aal1_clockRecovery(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    11179
    11180     enum Choices {
    11181       e_nullClockRecovery,
    11182       e_srtsClockRecovery,
    11183       e_adaptiveClockRecovery
    11184     };
    11185
    11186     PBoolean CreateObject();
    11187     PObject * Clone() const;
    11188 };
    11189
    11190
    11191 //
    11192 // NewATMVCCommand_aal_aal1_errorCorrection
    11193 //
    11194
    11195 class H245_NewATMVCCommand_aal_aal1_errorCorrection : public PASN_Choice
    11196 {
    11197 #ifndef PASN_LEANANDMEAN
    11198     PCLASSINFO(H245_NewATMVCCommand_aal_aal1_errorCorrection, PASN_Choice);
    11199 #endif
    11200   public:
    11201     H245_NewATMVCCommand_aal_aal1_errorCorrection(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    11202
    11203     enum Choices {
    11204       e_nullErrorCorrection,
    11205       e_longInterleaver,
    11206       e_shortInterleaver,
    11207       e_errorCorrectionOnly
    11208     };
    11209
    11210     PBoolean CreateObject();
    11211     PObject * Clone() const;
    11212 };
    11213
    11214
    11215 //
    11216 // NewATMVCIndication_aal_aal1_clockRecovery
    11217 //
    11218
    11219 class H245_NewATMVCIndication_aal_aal1_clockRecovery : public PASN_Choice
    11220 {
    11221 #ifndef PASN_LEANANDMEAN
    11222     PCLASSINFO(H245_NewATMVCIndication_aal_aal1_clockRecovery, PASN_Choice);
    11223 #endif
    11224   public:
    11225     H245_NewATMVCIndication_aal_aal1_clockRecovery(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    11226
    11227     enum Choices {
    11228       e_nullClockRecovery,
    11229       e_srtsClockRecovery,
    11230       e_adaptiveClockRecovery
    11231     };
    11232
    11233     PBoolean CreateObject();
    11234     PObject * Clone() const;
    11235 };
    11236
    11237
    11238 //
    11239 // NewATMVCIndication_aal_aal1_errorCorrection
    11240 //
    11241
    11242 class H245_NewATMVCIndication_aal_aal1_errorCorrection : public PASN_Choice
    11243 {
    11244 #ifndef PASN_LEANANDMEAN
    11245     PCLASSINFO(H245_NewATMVCIndication_aal_aal1_errorCorrection, PASN_Choice);
    11246 #endif
    11247   public:
    11248     H245_NewATMVCIndication_aal_aal1_errorCorrection(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    11249
    11250     enum Choices {
    11251       e_nullErrorCorrection,
    11252       e_longInterleaver,
    11253       e_shortInterleaver,
    11254       e_errorCorrectionOnly
    11255     };
    11256
    11257     PBoolean CreateObject();
    11258     PObject * Clone() const;
    11259 };
    11260
    11261
    11262 //
    11263 // DepFECData_rfc2733_mode_separateStream_differentPort
    11264 //
    11265
    11266 class H245_DepFECData_rfc2733_mode_separateStream_differentPort : public PASN_Sequence
    11267 {
    11268 #ifndef PASN_LEANANDMEAN
    11269     PCLASSINFO(H245_DepFECData_rfc2733_mode_separateStream_differentPort, PASN_Sequence);
    11270 #endif
    11271   public:
    11272     H245_DepFECData_rfc2733_mode_separateStream_differentPort(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11273
    11274     enum OptionalFields {
    11275       e_protectedPayloadType
    11276     };
    11277
    11278     PASN_Integer m_protectedSessionID;
    11279     PASN_Integer m_protectedPayloadType;
    11280
    11281     PINDEX GetDataLength() const;
    11282     PBoolean Decode(PASN_Stream & strm);
    11283     void Encode(PASN_Stream & strm) const;
    11284 #ifndef PASN_NOPRINTON
    11285     void PrintOn(ostream & strm) const;
    11286 #endif
    11287     Comparison Compare(const PObject & obj) const;
    11288     PObject * Clone() const;
    11289 };
    11290
    11291
    11292 //
    11293 // DepFECData_rfc2733_mode_separateStream_samePort
    11294 //
    11295
    11296 class H245_DepFECData_rfc2733_mode_separateStream_samePort : public PASN_Sequence
    11297 {
    11298 #ifndef PASN_LEANANDMEAN
    11299     PCLASSINFO(H245_DepFECData_rfc2733_mode_separateStream_samePort, PASN_Sequence);
    11300 #endif
    11301   public:
    11302     H245_DepFECData_rfc2733_mode_separateStream_samePort(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11303
    11304     PASN_Integer m_protectedPayloadType;
    11305
    11306     PINDEX GetDataLength() const;
    11307     PBoolean Decode(PASN_Stream & strm);
    11308     void Encode(PASN_Stream & strm) const;
    11309 #ifndef PASN_NOPRINTON
    11310     void PrintOn(ostream & strm) const;
    11311 #endif
    11312     Comparison Compare(const PObject & obj) const;
    11313     PObject * Clone() const;
    11314 };
    11315
    11316
    11317 //
    11318 // DepFECMode_rfc2733Mode_mode_separateStream_differentPort
    11319 //
    11320
    11321 class H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort : public PASN_Sequence
    11322 {
    11323 #ifndef PASN_LEANANDMEAN
    11324     PCLASSINFO(H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort, PASN_Sequence);
    11325 #endif
    11326   public:
    11327     H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11328
    11329     enum OptionalFields {
    11330       e_protectedPayloadType
    11331     };
    11332
    11333     PASN_Integer m_protectedSessionID;
    11334     PASN_Integer m_protectedPayloadType;
    11335
    11336     PINDEX GetDataLength() const;
    11337     PBoolean Decode(PASN_Stream & strm);
    11338     void Encode(PASN_Stream & strm) const;
    11339 #ifndef PASN_NOPRINTON
    11340     void PrintOn(ostream & strm) const;
    11341 #endif
    11342     Comparison Compare(const PObject & obj) const;
    11343     PObject * Clone() const;
    11344 };
    11345
    11346
    11347 //
    11348 // DepFECMode_rfc2733Mode_mode_separateStream_samePort
    11349 //
    11350
    11351 class H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort : public PASN_Sequence
    11352 {
    11353 #ifndef PASN_LEANANDMEAN
    11354     PCLASSINFO(H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort, PASN_Sequence);
    11355 #endif
    11356   public:
    11357     H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11358
    11359     H245_ModeElementType m_protectedType;
    11360
    11361     PINDEX GetDataLength() const;
    11362     PBoolean Decode(PASN_Stream & strm);
    11363     void Encode(PASN_Stream & strm) const;
    11364 #ifndef PASN_NOPRINTON
    11365     void PrintOn(ostream & strm) const;
    11366 #endif
    11367     Comparison Compare(const PObject & obj) const;
    11368     PObject * Clone() const;
    11369 };
    11370
    11371
    11372 //
    11373 // GenericMessage
    11374 //
    11375
    11376 class H245_GenericMessage : public PASN_Sequence
    11377 {
    11378 #ifndef PASN_LEANANDMEAN
    11379     PCLASSINFO(H245_GenericMessage, PASN_Sequence);
    11380 #endif
    11381   public:
    11382     H245_GenericMessage(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11383
    11384     enum OptionalFields {
    11385       e_subMessageIdentifier,
    11386       e_messageContent
    11387     };
    11388
    11389     H245_CapabilityIdentifier m_messageIdentifier;
    11390     PASN_Integer m_subMessageIdentifier;
    11391     H245_ArrayOf_GenericParameter m_messageContent;
    11392
    11393     PINDEX GetDataLength() const;
    11394     PBoolean Decode(PASN_Stream & strm);
    11395     void Encode(PASN_Stream & strm) const;
    11396 #ifndef PASN_NOPRINTON
    11397     void PrintOn(ostream & strm) const;
    11398 #endif
    11399     Comparison Compare(const PObject & obj) const;
    11400     PObject * Clone() const;
    11401 };
    11402
    11403
    11404 //
    11405 // GenericInformation
    11406 //
    11407
    11408 class H245_GenericInformation : public H245_GenericMessage
    11409 {
    11410 #ifndef PASN_LEANANDMEAN
    11411     PCLASSINFO(H245_GenericInformation, H245_GenericMessage);
    11412 #endif
    11413   public:
    11414     H245_GenericInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11415
    11416     PObject * Clone() const;
    11417 };
    11418
    11419
    11420 //
    11421 // NonStandardParameter
    11422 //
    11423
    11424 class H245_NonStandardParameter : public PASN_Sequence
    11425 {
    11426 #ifndef PASN_LEANANDMEAN
    11427     PCLASSINFO(H245_NonStandardParameter, PASN_Sequence);
    11428 #endif
    11429   public:
    11430     H245_NonStandardParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11431
    11432     H245_NonStandardIdentifier m_nonStandardIdentifier;
    11433     PASN_OctetString m_data;
    11434
    11435     PINDEX GetDataLength() const;
    11436     PBoolean Decode(PASN_Stream & strm);
    11437     void Encode(PASN_Stream & strm) const;
    11438 #ifndef PASN_NOPRINTON
    11439     void PrintOn(ostream & strm) const;
    11440 #endif
    11441     Comparison Compare(const PObject & obj) const;
    11442     PObject * Clone() const;
    11443 };
    11444
    11445
    11446 //
    11447 // MasterSlaveDeterminationAck
    11448 //
    11449
    11450 class H245_MasterSlaveDeterminationAck : public PASN_Sequence
    11451 {
    11452 #ifndef PASN_LEANANDMEAN
    11453     PCLASSINFO(H245_MasterSlaveDeterminationAck, PASN_Sequence);
    11454 #endif
    11455   public:
    11456     H245_MasterSlaveDeterminationAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11457
    11458     H245_MasterSlaveDeterminationAck_decision m_decision;
    11459
    11460     PINDEX GetDataLength() const;
    11461     PBoolean Decode(PASN_Stream & strm);
    11462     void Encode(PASN_Stream & strm) const;
    11463 #ifndef PASN_NOPRINTON
    11464     void PrintOn(ostream & strm) const;
    11465 #endif
    11466     Comparison Compare(const PObject & obj) const;
    11467     PObject * Clone() const;
    11468 };
    11469
    11470
    11471 //
    11472 // MasterSlaveDeterminationReject
    11473 //
    11474
    11475 class H245_MasterSlaveDeterminationReject : public PASN_Sequence
    11476 {
    11477 #ifndef PASN_LEANANDMEAN
    11478     PCLASSINFO(H245_MasterSlaveDeterminationReject, PASN_Sequence);
    11479 #endif
    11480   public:
    11481     H245_MasterSlaveDeterminationReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11482
    11483     H245_MasterSlaveDeterminationReject_cause m_cause;
    11484
    11485     PINDEX GetDataLength() const;
    11486     PBoolean Decode(PASN_Stream & strm);
    11487     void Encode(PASN_Stream & strm) const;
    11488 #ifndef PASN_NOPRINTON
    11489     void PrintOn(ostream & strm) const;
    11490 #endif
    11491     Comparison Compare(const PObject & obj) const;
    11492     PObject * Clone() const;
    11493 };
    11494
    11495
    11496 //
    11497 // TerminalCapabilitySet
    11498 //
    11499
    11500 class H245_TerminalCapabilitySet : public PASN_Sequence
    11501 {
    11502 #ifndef PASN_LEANANDMEAN
    11503     PCLASSINFO(H245_TerminalCapabilitySet, PASN_Sequence);
    11504 #endif
    11505   public:
    11506     H245_TerminalCapabilitySet(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11507
    11508     enum OptionalFields {
    11509       e_multiplexCapability,
    11510       e_capabilityTable,
    11511       e_capabilityDescriptors,
    11512       e_genericInformation
    11513     };
    11514
    11515     H245_SequenceNumber m_sequenceNumber;
    11516     PASN_ObjectId m_protocolIdentifier;
    11517     H245_MultiplexCapability m_multiplexCapability;
    11518     H245_ArrayOf_CapabilityTableEntry m_capabilityTable;
    11519     H245_ArrayOf_CapabilityDescriptor m_capabilityDescriptors;
    11520     H245_ArrayOf_GenericInformation m_genericInformation;
    11521
    11522     PINDEX GetDataLength() const;
    11523     PBoolean Decode(PASN_Stream & strm);
    11524     void Encode(PASN_Stream & strm) const;
    11525 #ifndef PASN_NOPRINTON
    11526     void PrintOn(ostream & strm) const;
    11527 #endif
    11528     Comparison Compare(const PObject & obj) const;
    11529     PObject * Clone() const;
    11530 };
    11531
    11532
    11533 //
    11534 // CapabilityTableEntry
    11535 //
    11536
    11537 class H245_CapabilityTableEntry : public PASN_Sequence
    11538 {
    11539 #ifndef PASN_LEANANDMEAN
    11540     PCLASSINFO(H245_CapabilityTableEntry, PASN_Sequence);
    11541 #endif
    11542   public:
    11543     H245_CapabilityTableEntry(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11544
    11545     enum OptionalFields {
    11546       e_capability
    11547     };
    11548
    11549     H245_CapabilityTableEntryNumber m_capabilityTableEntryNumber;
    11550     H245_Capability m_capability;
    11551
    11552     PINDEX GetDataLength() const;
    11553     PBoolean Decode(PASN_Stream & strm);
    11554     void Encode(PASN_Stream & strm) const;
    11555 #ifndef PASN_NOPRINTON
    11556     void PrintOn(ostream & strm) const;
    11557 #endif
    11558     Comparison Compare(const PObject & obj) const;
    11559     PObject * Clone() const;
    11560 };
    11561
    11562
    11563 //
    11564 // CapabilityDescriptor
    11565 //
    11566
    11567 class H245_CapabilityDescriptor : public PASN_Sequence
    11568 {
    11569 #ifndef PASN_LEANANDMEAN
    11570     PCLASSINFO(H245_CapabilityDescriptor, PASN_Sequence);
    11571 #endif
    11572   public:
    11573     H245_CapabilityDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11574
    11575     enum OptionalFields {
    11576       e_simultaneousCapabilities
    11577     };
    11578
    11579     H245_CapabilityDescriptorNumber m_capabilityDescriptorNumber;
    11580     H245_ArrayOf_AlternativeCapabilitySet m_simultaneousCapabilities;
    11581
    11582     PINDEX GetDataLength() const;
    11583     PBoolean Decode(PASN_Stream & strm);
    11584     void Encode(PASN_Stream & strm) const;
    11585 #ifndef PASN_NOPRINTON
    11586     void PrintOn(ostream & strm) const;
    11587 #endif
    11588     Comparison Compare(const PObject & obj) const;
    11589     PObject * Clone() const;
    11590 };
    11591
    11592
    11593 //
    11594 // TerminalCapabilitySetAck
    11595 //
    11596
    11597 class H245_TerminalCapabilitySetAck : public PASN_Sequence
    11598 {
    11599 #ifndef PASN_LEANANDMEAN
    11600     PCLASSINFO(H245_TerminalCapabilitySetAck, PASN_Sequence);
    11601 #endif
    11602   public:
    11603     H245_TerminalCapabilitySetAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11604
    11605     enum OptionalFields {
    11606       e_genericInformation
    11607     };
    11608
    11609     H245_SequenceNumber m_sequenceNumber;
    11610     H245_ArrayOf_GenericInformation m_genericInformation;
    11611
    11612     PINDEX GetDataLength() const;
    11613     PBoolean Decode(PASN_Stream & strm);
    11614     void Encode(PASN_Stream & strm) const;
    11615 #ifndef PASN_NOPRINTON
    11616     void PrintOn(ostream & strm) const;
    11617 #endif
    11618     Comparison Compare(const PObject & obj) const;
    11619     PObject * Clone() const;
    11620 };
    11621
    11622
    11623 //
    11624 // TerminalCapabilitySetReject
    11625 //
    11626
    11627 class H245_TerminalCapabilitySetReject : public PASN_Sequence
    11628 {
    11629 #ifndef PASN_LEANANDMEAN
    11630     PCLASSINFO(H245_TerminalCapabilitySetReject, PASN_Sequence);
    11631 #endif
    11632   public:
    11633     H245_TerminalCapabilitySetReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11634
    11635     enum OptionalFields {
    11636       e_genericInformation
    11637     };
    11638
    11639     H245_SequenceNumber m_sequenceNumber;
    11640     H245_TerminalCapabilitySetReject_cause m_cause;
    11641     H245_ArrayOf_GenericInformation m_genericInformation;
    11642
    11643     PINDEX GetDataLength() const;
    11644     PBoolean Decode(PASN_Stream & strm);
    11645     void Encode(PASN_Stream & strm) const;
    11646 #ifndef PASN_NOPRINTON
    11647     void PrintOn(ostream & strm) const;
    11648 #endif
    11649     Comparison Compare(const PObject & obj) const;
    11650     PObject * Clone() const;
    11651 };
    11652
    11653
    11654 //
    11655 // TerminalCapabilitySetRelease
    11656 //
    11657
    11658 class H245_TerminalCapabilitySetRelease : public PASN_Sequence
    11659 {
    11660 #ifndef PASN_LEANANDMEAN
    11661     PCLASSINFO(H245_TerminalCapabilitySetRelease, PASN_Sequence);
    11662 #endif
    11663   public:
    11664     H245_TerminalCapabilitySetRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11665
    11666     enum OptionalFields {
    11667       e_genericInformation
    11668     };
    11669
    11670     H245_ArrayOf_GenericInformation m_genericInformation;
    11671
    11672     PINDEX GetDataLength() const;
    11673     PBoolean Decode(PASN_Stream & strm);
    11674     void Encode(PASN_Stream & strm) const;
    11675 #ifndef PASN_NOPRINTON
    11676     void PrintOn(ostream & strm) const;
    11677 #endif
    11678     PObject * Clone() const;
    11679 };
    11680
    11681
    11682 //
    11683 // H222Capability
    11684 //
    11685
    11686 class H245_H222Capability : public PASN_Sequence
    11687 {
    11688 #ifndef PASN_LEANANDMEAN
    11689     PCLASSINFO(H245_H222Capability, PASN_Sequence);
    11690 #endif
    11691   public:
    11692     H245_H222Capability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11693
    11694     PASN_Integer m_numberOfVCs;
    11695     H245_ArrayOf_VCCapability m_vcCapability;
    11696
    11697     PINDEX GetDataLength() const;
    11698     PBoolean Decode(PASN_Stream & strm);
    11699     void Encode(PASN_Stream & strm) const;
    11700 #ifndef PASN_NOPRINTON
    11701     void PrintOn(ostream & strm) const;
    11702 #endif
    11703     Comparison Compare(const PObject & obj) const;
    11704     PObject * Clone() const;
    11705 };
    11706
    11707
    11708 //
    11709 // H223Capability
    11710 //
    11711
    11712 class H245_H223Capability : public PASN_Sequence
    11713 {
    11714 #ifndef PASN_LEANANDMEAN
    11715     PCLASSINFO(H245_H223Capability, PASN_Sequence);
    11716 #endif
    11717   public:
    11718     H245_H223Capability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11719
    11720     enum OptionalFields {
    11721       e_maxMUXPDUSizeCapability,
    11722       e_nsrpSupport,
    11723       e_mobileOperationTransmitCapability,
    11724       e_h223AnnexCCapability,
    11725       e_bitRate,
    11726       e_mobileMultilinkFrameCapability
    11727     };
    11728
    11729     PASN_Boolean m_transportWithI_frames;
    11730     PASN_Boolean m_videoWithAL1;
    11731     PASN_Boolean m_videoWithAL2;
    11732     PASN_Boolean m_videoWithAL3;
    11733     PASN_Boolean m_audioWithAL1;
    11734     PASN_Boolean m_audioWithAL2;
    11735     PASN_Boolean m_audioWithAL3;
    11736     PASN_Boolean m_dataWithAL1;
    11737     PASN_Boolean m_dataWithAL2;
    11738     PASN_Boolean m_dataWithAL3;
    11739     PASN_Integer m_maximumAl2SDUSize;
    11740     PASN_Integer m_maximumAl3SDUSize;
    11741     PASN_Integer m_maximumDelayJitter;
    11742     H245_H223Capability_h223MultiplexTableCapability m_h223MultiplexTableCapability;
    11743     PASN_Boolean m_maxMUXPDUSizeCapability;
    11744     PASN_Boolean m_nsrpSupport;
    11745     H245_H223Capability_mobileOperationTransmitCapability m_mobileOperationTransmitCapability;
    11746     H245_H223AnnexCCapability m_h223AnnexCCapability;
    11747     PASN_Integer m_bitRate;
    11748     H245_H223Capability_mobileMultilinkFrameCapability m_mobileMultilinkFrameCapability;
    11749
    11750     PINDEX GetDataLength() const;
    11751     PBoolean Decode(PASN_Stream & strm);
    11752     void Encode(PASN_Stream & strm) const;
    11753 #ifndef PASN_NOPRINTON
    11754     void PrintOn(ostream & strm) const;
    11755 #endif
    11756     Comparison Compare(const PObject & obj) const;
    11757     PObject * Clone() const;
    11758 };
    11759
    11760
    11761 //
    11762 // V76Capability
    11763 //
    11764
    11765 class H245_V76Capability : public PASN_Sequence
    11766 {
    11767 #ifndef PASN_LEANANDMEAN
    11768     PCLASSINFO(H245_V76Capability, PASN_Sequence);
    11769 #endif
    11770   public:
    11771     H245_V76Capability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11772
    11773     PASN_Boolean m_suspendResumeCapabilitywAddress;
    11774     PASN_Boolean m_suspendResumeCapabilitywoAddress;
    11775     PASN_Boolean m_rejCapability;
    11776     PASN_Boolean m_sREJCapability;
    11777     PASN_Boolean m_mREJCapability;
    11778     PASN_Boolean m_crc8bitCapability;
    11779     PASN_Boolean m_crc16bitCapability;
    11780     PASN_Boolean m_crc32bitCapability;
    11781     PASN_Boolean m_uihCapability;
    11782     PASN_Integer m_numOfDLCS;
    11783     PASN_Boolean m_twoOctetAddressFieldCapability;
    11784     PASN_Boolean m_loopBackTestCapability;
    11785     PASN_Integer m_n401Capability;
    11786     PASN_Integer m_maxWindowSizeCapability;
    11787     H245_V75Capability m_v75Capability;
    11788
    11789     PINDEX GetDataLength() const;
    11790     PBoolean Decode(PASN_Stream & strm);
    11791     void Encode(PASN_Stream & strm) const;
    11792 #ifndef PASN_NOPRINTON
    11793     void PrintOn(ostream & strm) const;
    11794 #endif
    11795     Comparison Compare(const PObject & obj) const;
    11796     PObject * Clone() const;
    11797 };
    11798
    11799
    11800 //
    11801 // MediaPacketizationCapability
    11802 //
    11803
    11804 class H245_MediaPacketizationCapability : public PASN_Sequence
    11805 {
    11806 #ifndef PASN_LEANANDMEAN
    11807     PCLASSINFO(H245_MediaPacketizationCapability, PASN_Sequence);
    11808 #endif
    11809   public:
    11810     H245_MediaPacketizationCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11811
    11812     enum OptionalFields {
    11813       e_rtpPayloadType
    11814     };
    11815
    11816     PASN_Boolean m_h261aVideoPacketization;
    11817     H245_ArrayOf_RTPPayloadType m_rtpPayloadType;
    11818
    11819     PINDEX GetDataLength() const;
    11820     PBoolean Decode(PASN_Stream & strm);
    11821     void Encode(PASN_Stream & strm) const;
    11822 #ifndef PASN_NOPRINTON
    11823     void PrintOn(ostream & strm) const;
    11824 #endif
    11825     Comparison Compare(const PObject & obj) const;
    11826     PObject * Clone() const;
    11827 };
    11828
    11829
    11830 //
    11831 // RSVPParameters
    11832 //
    11833
    11834 class H245_RSVPParameters : public PASN_Sequence
    11835 {
    11836 #ifndef PASN_LEANANDMEAN
    11837     PCLASSINFO(H245_RSVPParameters, PASN_Sequence);
    11838 #endif
    11839   public:
    11840     H245_RSVPParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11841
    11842     enum OptionalFields {
    11843       e_qosMode,
    11844       e_tokenRate,
    11845       e_bucketSize,
    11846       e_peakRate,
    11847       e_minPoliced,
    11848       e_maxPktSize
    11849     };
    11850
    11851     H245_QOSMode m_qosMode;
    11852     PASN_Integer m_tokenRate;
    11853     PASN_Integer m_bucketSize;
    11854     PASN_Integer m_peakRate;
    11855     PASN_Integer m_minPoliced;
    11856     PASN_Integer m_maxPktSize;
    11857
    11858     PINDEX GetDataLength() const;
    11859     PBoolean Decode(PASN_Stream & strm);
    11860     void Encode(PASN_Stream & strm) const;
    11861 #ifndef PASN_NOPRINTON
    11862     void PrintOn(ostream & strm) const;
    11863 #endif
    11864     Comparison Compare(const PObject & obj) const;
    11865     PObject * Clone() const;
    11866 };
    11867
    11868
    11869 //
    11870 // ServicePriorityValue
    11871 //
    11872
    11873 class H245_ServicePriorityValue : public PASN_Sequence
    11874 {
    11875 #ifndef PASN_LEANANDMEAN
    11876     PCLASSINFO(H245_ServicePriorityValue, PASN_Sequence);
    11877 #endif
    11878   public:
    11879     H245_ServicePriorityValue(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11880
    11881     enum OptionalFields {
    11882       e_nonStandardParameter
    11883     };
    11884
    11885     H245_NonStandardParameter m_nonStandardParameter;
    11886
    11887     PINDEX GetDataLength() const;
    11888     PBoolean Decode(PASN_Stream & strm);
    11889     void Encode(PASN_Stream & strm) const;
    11890 #ifndef PASN_NOPRINTON
    11891     void PrintOn(ostream & strm) const;
    11892 #endif
    11893     Comparison Compare(const PObject & obj) const;
    11894     PObject * Clone() const;
    11895 };
    11896
    11897
    11898 //
    11899 // ServicePriority
    11900 //
    11901
    11902 class H245_ServicePriority : public PASN_Sequence
    11903 {
    11904 #ifndef PASN_LEANANDMEAN
    11905     PCLASSINFO(H245_ServicePriority, PASN_Sequence);
    11906 #endif
    11907   public:
    11908     H245_ServicePriority(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11909
    11910     enum OptionalFields {
    11911       e_nonStandardData,
    11912       e_servicePriorityValue
    11913     };
    11914
    11915     H245_NonStandardParameter m_nonStandardData;
    11916     PASN_Boolean m_servicePrioritySignalled;
    11917     H245_ServicePriorityValue m_servicePriorityValue;
    11918
    11919     PINDEX GetDataLength() const;
    11920     PBoolean Decode(PASN_Stream & strm);
    11921     void Encode(PASN_Stream & strm) const;
    11922 #ifndef PASN_NOPRINTON
    11923     void PrintOn(ostream & strm) const;
    11924 #endif
    11925     Comparison Compare(const PObject & obj) const;
    11926     PObject * Clone() const;
    11927 };
    11928
    11929
    11930 //
    11931 // AuthorizationParameters
    11932 //
    11933
    11934 class H245_AuthorizationParameters : public PASN_Sequence
    11935 {
    11936 #ifndef PASN_LEANANDMEAN
    11937     PCLASSINFO(H245_AuthorizationParameters, PASN_Sequence);
    11938 #endif
    11939   public:
    11940     H245_AuthorizationParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11941
    11942     enum OptionalFields {
    11943       e_nonStandardData
    11944     };
    11945
    11946     H245_NonStandardParameter m_nonStandardData;
    11947
    11948     PINDEX GetDataLength() const;
    11949     PBoolean Decode(PASN_Stream & strm);
    11950     void Encode(PASN_Stream & strm) const;
    11951 #ifndef PASN_NOPRINTON
    11952     void PrintOn(ostream & strm) const;
    11953 #endif
    11954     Comparison Compare(const PObject & obj) const;
    11955     PObject * Clone() const;
    11956 };
    11957
    11958
    11959 //
    11960 // QOSDescriptor
    11961 //
    11962
    11963 class H245_QOSDescriptor : public PASN_Sequence
    11964 {
    11965 #ifndef PASN_LEANANDMEAN
    11966     PCLASSINFO(H245_QOSDescriptor, PASN_Sequence);
    11967 #endif
    11968   public:
    11969     H245_QOSDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    11970
    11971     enum OptionalFields {
    11972       e_nonStandardData
    11973     };
    11974
    11975     H245_NonStandardParameter m_nonStandardData;
    11976     H245_QOSType m_qosType;
    11977     H245_QOSClass m_qosClass;
    11978
    11979     PINDEX GetDataLength() const;
    11980     PBoolean Decode(PASN_Stream & strm);
    11981     void Encode(PASN_Stream & strm) const;
    11982 #ifndef PASN_NOPRINTON
    11983     void PrintOn(ostream & strm) const;
    11984 #endif
    11985     Comparison Compare(const PObject & obj) const;
    11986     PObject * Clone() const;
    11987 };
    11988
    11989
    11990 //
    11991 // GenericTransportParameters
    11992 //
    11993
    11994 class H245_GenericTransportParameters : public PASN_Sequence
    11995 {
    11996 #ifndef PASN_LEANANDMEAN
    11997     PCLASSINFO(H245_GenericTransportParameters, PASN_Sequence);
    11998 #endif
    11999   public:
    12000     H245_GenericTransportParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12001
    12002     enum OptionalFields {
    12003       e_nonStandardData,
    12004       e_averageRate,
    12005       e_burst,
    12006       e_peakRate,
    12007       e_maxPktSize
    12008     };
    12009
    12010     H245_NonStandardParameter m_nonStandardData;
    12011     PASN_Integer m_averageRate;
    12012     PASN_Integer m_burst;
    12013     PASN_Integer m_peakRate;
    12014     PASN_Integer m_maxPktSize;
    12015
    12016     PINDEX GetDataLength() const;
    12017     PBoolean Decode(PASN_Stream & strm);
    12018     void Encode(PASN_Stream & strm) const;
    12019 #ifndef PASN_NOPRINTON
    12020     void PrintOn(ostream & strm) const;
    12021 #endif
    12022     Comparison Compare(const PObject & obj) const;
    12023     PObject * Clone() const;
    12024 };
    12025
    12026
    12027 //
    12028 // QOSCapability
    12029 //
    12030
    12031 class H245_QOSCapability : public PASN_Sequence
    12032 {
    12033 #ifndef PASN_LEANANDMEAN
    12034     PCLASSINFO(H245_QOSCapability, PASN_Sequence);
    12035 #endif
    12036   public:
    12037     H245_QOSCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12038
    12039     enum OptionalFields {
    12040       e_nonStandardData,
    12041       e_rsvpParameters,
    12042       e_atmParameters,
    12043       e_localQoS,
    12044       e_genericTransportParameters,
    12045       e_servicePriority,
    12046       e_authorizationParameter,
    12047       e_qosDescriptor,
    12048       e_dscpValue
    12049     };
    12050
    12051     H245_NonStandardParameter m_nonStandardData;
    12052     H245_RSVPParameters m_rsvpParameters;
    12053     H245_ATMParameters m_atmParameters;
    12054     PASN_Boolean m_localQoS;
    12055     H245_GenericTransportParameters m_genericTransportParameters;
    12056     H245_ServicePriority m_servicePriority;
    12057     H245_AuthorizationParameters m_authorizationParameter;
    12058     H245_QOSDescriptor m_qosDescriptor;
    12059     PASN_Integer m_dscpValue;
    12060
    12061     PINDEX GetDataLength() const;
    12062     PBoolean Decode(PASN_Stream & strm);
    12063     void Encode(PASN_Stream & strm) const;
    12064 #ifndef PASN_NOPRINTON
    12065     void PrintOn(ostream & strm) const;
    12066 #endif
    12067     Comparison Compare(const PObject & obj) const;
    12068     PObject * Clone() const;
    12069 };
    12070
    12071
    12072 //
    12073 // TransportCapability
    12074 //
    12075
    12076 class H245_TransportCapability : public PASN_Sequence
    12077 {
    12078 #ifndef PASN_LEANANDMEAN
    12079     PCLASSINFO(H245_TransportCapability, PASN_Sequence);
    12080 #endif
    12081   public:
    12082     H245_TransportCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12083
    12084     enum OptionalFields {
    12085       e_nonStandard,
    12086       e_qOSCapabilities,
    12087       e_mediaChannelCapabilities
    12088     };
    12089
    12090     H245_NonStandardParameter m_nonStandard;
    12091     H245_ArrayOf_QOSCapability m_qOSCapabilities;
    12092     H245_ArrayOf_MediaChannelCapability m_mediaChannelCapabilities;
    12093
    12094     PINDEX GetDataLength() const;
    12095     PBoolean Decode(PASN_Stream & strm);
    12096     void Encode(PASN_Stream & strm) const;
    12097 #ifndef PASN_NOPRINTON
    12098     void PrintOn(ostream & strm) const;
    12099 #endif
    12100     Comparison Compare(const PObject & obj) const;
    12101     PObject * Clone() const;
    12102 };
    12103
    12104
    12105 //
    12106 // RedundancyEncodingCapability
    12107 //
    12108
    12109 class H245_RedundancyEncodingCapability : public PASN_Sequence
    12110 {
    12111 #ifndef PASN_LEANANDMEAN
    12112     PCLASSINFO(H245_RedundancyEncodingCapability, PASN_Sequence);
    12113 #endif
    12114   public:
    12115     H245_RedundancyEncodingCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12116
    12117     enum OptionalFields {
    12118       e_secondaryEncoding
    12119     };
    12120
    12121     H245_RedundancyEncodingMethod m_redundancyEncodingMethod;
    12122     H245_CapabilityTableEntryNumber m_primaryEncoding;
    12123     H245_ArrayOf_CapabilityTableEntryNumber m_secondaryEncoding;
    12124
    12125     PINDEX GetDataLength() const;
    12126     PBoolean Decode(PASN_Stream & strm);
    12127     void Encode(PASN_Stream & strm) const;
    12128 #ifndef PASN_NOPRINTON
    12129     void PrintOn(ostream & strm) const;
    12130 #endif
    12131     Comparison Compare(const PObject & obj) const;
    12132     PObject * Clone() const;
    12133 };
    12134
    12135
    12136 //
    12137 // RTPH263VideoRedundancyEncoding
    12138 //
    12139
    12140 class H245_RTPH263VideoRedundancyEncoding : public PASN_Sequence
    12141 {
    12142 #ifndef PASN_LEANANDMEAN
    12143     PCLASSINFO(H245_RTPH263VideoRedundancyEncoding, PASN_Sequence);
    12144 #endif
    12145   public:
    12146     H245_RTPH263VideoRedundancyEncoding(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12147
    12148     enum OptionalFields {
    12149       e_containedThreads
    12150     };
    12151
    12152     PASN_Integer m_numberOfThreads;
    12153     PASN_Integer m_framesBetweenSyncPoints;
    12154     H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping m_frameToThreadMapping;
    12155     H245_RTPH263VideoRedundancyEncoding_containedThreads m_containedThreads;
    12156
    12157     PINDEX GetDataLength() const;
    12158     PBoolean Decode(PASN_Stream & strm);
    12159     void Encode(PASN_Stream & strm) const;
    12160 #ifndef PASN_NOPRINTON
    12161     void PrintOn(ostream & strm) const;
    12162 #endif
    12163     Comparison Compare(const PObject & obj) const;
    12164     PObject * Clone() const;
    12165 };
    12166
    12167
    12168 //
    12169 // RTPH263VideoRedundancyFrameMapping
    12170 //
    12171
    12172 class H245_RTPH263VideoRedundancyFrameMapping : public PASN_Sequence
    12173 {
    12174 #ifndef PASN_LEANANDMEAN
    12175     PCLASSINFO(H245_RTPH263VideoRedundancyFrameMapping, PASN_Sequence);
    12176 #endif
    12177   public:
    12178     H245_RTPH263VideoRedundancyFrameMapping(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12179
    12180     PASN_Integer m_threadNumber;
    12181     H245_RTPH263VideoRedundancyFrameMapping_frameSequence m_frameSequence;
    12182
    12183     PINDEX GetDataLength() const;
    12184     PBoolean Decode(PASN_Stream & strm);
    12185     void Encode(PASN_Stream & strm) const;
    12186 #ifndef PASN_NOPRINTON
    12187     void PrintOn(ostream & strm) const;
    12188 #endif
    12189     Comparison Compare(const PObject & obj) const;
    12190     PObject * Clone() const;
    12191 };
    12192
    12193
    12194 //
    12195 // MultipointCapability
    12196 //
    12197
    12198 class H245_MultipointCapability : public PASN_Sequence
    12199 {
    12200 #ifndef PASN_LEANANDMEAN
    12201     PCLASSINFO(H245_MultipointCapability, PASN_Sequence);
    12202 #endif
    12203   public:
    12204     H245_MultipointCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12205
    12206     PASN_Boolean m_multicastCapability;
    12207     PASN_Boolean m_multiUniCastConference;
    12208     H245_ArrayOf_MediaDistributionCapability m_mediaDistributionCapability;
    12209
    12210     PINDEX GetDataLength() const;
    12211     PBoolean Decode(PASN_Stream & strm);
    12212     void Encode(PASN_Stream & strm) const;
    12213 #ifndef PASN_NOPRINTON
    12214     void PrintOn(ostream & strm) const;
    12215 #endif
    12216     Comparison Compare(const PObject & obj) const;
    12217     PObject * Clone() const;
    12218 };
    12219
    12220
    12221 //
    12222 // MediaDistributionCapability
    12223 //
    12224
    12225 class H245_MediaDistributionCapability : public PASN_Sequence
    12226 {
    12227 #ifndef PASN_LEANANDMEAN
    12228     PCLASSINFO(H245_MediaDistributionCapability, PASN_Sequence);
    12229 #endif
    12230   public:
    12231     H245_MediaDistributionCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12232
    12233     enum OptionalFields {
    12234       e_centralizedData,
    12235       e_distributedData
    12236     };
    12237
    12238     PASN_Boolean m_centralizedControl;
    12239     PASN_Boolean m_distributedControl;
    12240     PASN_Boolean m_centralizedAudio;
    12241     PASN_Boolean m_distributedAudio;
    12242     PASN_Boolean m_centralizedVideo;
    12243     PASN_Boolean m_distributedVideo;
    12244     H245_ArrayOf_DataApplicationCapability m_centralizedData;
    12245     H245_ArrayOf_DataApplicationCapability m_distributedData;
    12246
    12247     PINDEX GetDataLength() const;
    12248     PBoolean Decode(PASN_Stream & strm);
    12249     void Encode(PASN_Stream & strm) const;
    12250 #ifndef PASN_NOPRINTON
    12251     void PrintOn(ostream & strm) const;
    12252 #endif
    12253     Comparison Compare(const PObject & obj) const;
    12254     PObject * Clone() const;
    12255 };
    12256
    12257
    12258 //
    12259 // ExtendedVideoCapability
    12260 //
    12261
    12262 class H245_ExtendedVideoCapability : public PASN_Sequence
    12263 {
    12264 #ifndef PASN_LEANANDMEAN
    12265     PCLASSINFO(H245_ExtendedVideoCapability, PASN_Sequence);
    12266 #endif
    12267   public:
    12268     H245_ExtendedVideoCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12269
    12270     enum OptionalFields {
    12271       e_videoCapabilityExtension
    12272     };
    12273
    12274     H245_ArrayOf_VideoCapability m_videoCapability;
    12275     H245_ArrayOf_GenericCapability m_videoCapabilityExtension;
    12276
    12277     PINDEX GetDataLength() const;
    12278     PBoolean Decode(PASN_Stream & strm);
    12279     void Encode(PASN_Stream & strm) const;
    12280 #ifndef PASN_NOPRINTON
    12281     void PrintOn(ostream & strm) const;
    12282 #endif
    12283     Comparison Compare(const PObject & obj) const;
    12284     PObject * Clone() const;
    12285 };
    12286
    12287
    12288 //
    12289 // EnhancementLayerInfo
    12290 //
    12291
    12292 class H245_EnhancementLayerInfo : public PASN_Sequence
    12293 {
    12294 #ifndef PASN_LEANANDMEAN
    12295     PCLASSINFO(H245_EnhancementLayerInfo, PASN_Sequence);
    12296 #endif
    12297   public:
    12298     H245_EnhancementLayerInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12299
    12300     enum OptionalFields {
    12301       e_snrEnhancement,
    12302       e_spatialEnhancement,
    12303       e_bPictureEnhancement
    12304     };
    12305
    12306     PASN_Boolean m_baseBitRateConstrained;
    12307     H245_ArrayOf_EnhancementOptions m_snrEnhancement;
    12308     H245_ArrayOf_EnhancementOptions m_spatialEnhancement;
    12309     H245_ArrayOf_BEnhancementParameters m_bPictureEnhancement;
    12310
    12311     PINDEX GetDataLength() const;
    12312     PBoolean Decode(PASN_Stream & strm);
    12313     void Encode(PASN_Stream & strm) const;
    12314 #ifndef PASN_NOPRINTON
    12315     void PrintOn(ostream & strm) const;
    12316 #endif
    12317     Comparison Compare(const PObject & obj) const;
    12318     PObject * Clone() const;
    12319 };
    12320
    12321
    12322 //
    12323 // H263ModeComboFlags
    12324 //
    12325
    12326 class H245_H263ModeComboFlags : public PASN_Sequence
    12327 {
    12328 #ifndef PASN_LEANANDMEAN
    12329     PCLASSINFO(H245_H263ModeComboFlags, PASN_Sequence);
    12330 #endif
    12331   public:
    12332     H245_H263ModeComboFlags(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12333
    12334     enum OptionalFields {
    12335       e_enhancedReferencePicSelect,
    12336       e_h263Version3Options
    12337     };
    12338
    12339     PASN_Boolean m_unrestrictedVector;
    12340     PASN_Boolean m_arithmeticCoding;
    12341     PASN_Boolean m_advancedPrediction;
    12342     PASN_Boolean m_pbFrames;
    12343     PASN_Boolean m_advancedIntraCodingMode;
    12344     PASN_Boolean m_deblockingFilterMode;
    12345     PASN_Boolean m_unlimitedMotionVectors;
    12346     PASN_Boolean m_slicesInOrder_NonRect;
    12347     PASN_Boolean m_slicesInOrder_Rect;
    12348     PASN_Boolean m_slicesNoOrder_NonRect;
    12349     PASN_Boolean m_slicesNoOrder_Rect;
    12350     PASN_Boolean m_improvedPBFramesMode;
    12351     PASN_Boolean m_referencePicSelect;
    12352     PASN_Boolean m_dynamicPictureResizingByFour;
    12353     PASN_Boolean m_dynamicPictureResizingSixteenthPel;
    12354     PASN_Boolean m_dynamicWarpingHalfPel;
    12355     PASN_Boolean m_dynamicWarpingSixteenthPel;
    12356     PASN_Boolean m_reducedResolutionUpdate;
    12357     PASN_Boolean m_independentSegmentDecoding;
    12358     PASN_Boolean m_alternateInterVLCMode;
    12359     PASN_Boolean m_modifiedQuantizationMode;
    12360     PASN_Boolean m_enhancedReferencePicSelect;
    12361     H245_H263Version3Options m_h263Version3Options;
    12362
    12363     PINDEX GetDataLength() const;
    12364     PBoolean Decode(PASN_Stream & strm);
    12365     void Encode(PASN_Stream & strm) const;
    12366 #ifndef PASN_NOPRINTON
    12367     void PrintOn(ostream & strm) const;
    12368 #endif
    12369     Comparison Compare(const PObject & obj) const;
    12370     PObject * Clone() const;
    12371 };
    12372
    12373
    12374 //
    12375 // G7231AnnexCCapability
    12376 //
    12377
    12378 class H245_G7231AnnexCCapability : public PASN_Sequence
    12379 {
    12380 #ifndef PASN_LEANANDMEAN
    12381     PCLASSINFO(H245_G7231AnnexCCapability, PASN_Sequence);
    12382 #endif
    12383   public:
    12384     H245_G7231AnnexCCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12385
    12386     enum OptionalFields {
    12387       e_g723AnnexCAudioMode
    12388     };
    12389
    12390     PASN_Integer m_maxAl_sduAudioFrames;
    12391     PASN_Boolean m_silenceSuppression;
    12392     H245_G7231AnnexCCapability_g723AnnexCAudioMode m_g723AnnexCAudioMode;
    12393
    12394     PINDEX GetDataLength() const;
    12395     PBoolean Decode(PASN_Stream & strm);
    12396     void Encode(PASN_Stream & strm) const;
    12397 #ifndef PASN_NOPRINTON
    12398     void PrintOn(ostream & strm) const;
    12399 #endif
    12400     Comparison Compare(const PObject & obj) const;
    12401     PObject * Clone() const;
    12402 };
    12403
    12404
    12405 //
    12406 // DataApplicationCapability
    12407 //
    12408
    12409 class H245_DataApplicationCapability : public PASN_Sequence
    12410 {
    12411 #ifndef PASN_LEANANDMEAN
    12412     PCLASSINFO(H245_DataApplicationCapability, PASN_Sequence);
    12413 #endif
    12414   public:
    12415     H245_DataApplicationCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12416
    12417     H245_DataApplicationCapability_application m_application;
    12418     PASN_Integer m_maxBitRate;
    12419
    12420     PINDEX GetDataLength() const;
    12421     PBoolean Decode(PASN_Stream & strm);
    12422     void Encode(PASN_Stream & strm) const;
    12423 #ifndef PASN_NOPRINTON
    12424     void PrintOn(ostream & strm) const;
    12425 #endif
    12426     Comparison Compare(const PObject & obj) const;
    12427     PObject * Clone() const;
    12428 };
    12429
    12430
    12431 //
    12432 // T38FaxUdpOptions
    12433 //
    12434
    12435 class H245_T38FaxUdpOptions : public PASN_Sequence
    12436 {
    12437 #ifndef PASN_LEANANDMEAN
    12438     PCLASSINFO(H245_T38FaxUdpOptions, PASN_Sequence);
    12439 #endif
    12440   public:
    12441     H245_T38FaxUdpOptions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12442
    12443     enum OptionalFields {
    12444       e_t38FaxMaxBuffer,
    12445       e_t38FaxMaxDatagram
    12446     };
    12447
    12448     PASN_Integer m_t38FaxMaxBuffer;
    12449     PASN_Integer m_t38FaxMaxDatagram;
    12450     H245_T38FaxUdpOptions_t38FaxUdpEC m_t38FaxUdpEC;
    12451
    12452     PINDEX GetDataLength() const;
    12453     PBoolean Decode(PASN_Stream & strm);
    12454     void Encode(PASN_Stream & strm) const;
    12455 #ifndef PASN_NOPRINTON
    12456     void PrintOn(ostream & strm) const;
    12457 #endif
    12458     Comparison Compare(const PObject & obj) const;
    12459     PObject * Clone() const;
    12460 };
    12461
    12462
    12463 //
    12464 // AuthenticationCapability
    12465 //
    12466
    12467 class H245_AuthenticationCapability : public PASN_Sequence
    12468 {
    12469 #ifndef PASN_LEANANDMEAN
    12470     PCLASSINFO(H245_AuthenticationCapability, PASN_Sequence);
    12471 #endif
    12472   public:
    12473     H245_AuthenticationCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12474
    12475     enum OptionalFields {
    12476       e_nonStandard,
    12477       e_antiSpamAlgorithm
    12478     };
    12479
    12480     H245_NonStandardParameter m_nonStandard;
    12481     PASN_ObjectId m_antiSpamAlgorithm;
    12482
    12483     PINDEX GetDataLength() const;
    12484     PBoolean Decode(PASN_Stream & strm);
    12485     void Encode(PASN_Stream & strm) const;
    12486 #ifndef PASN_NOPRINTON
    12487     void PrintOn(ostream & strm) const;
    12488 #endif
    12489     Comparison Compare(const PObject & obj) const;
    12490     PObject * Clone() const;
    12491 };
    12492
    12493
    12494 //
    12495 // IntegrityCapability
    12496 //
    12497
    12498 class H245_IntegrityCapability : public PASN_Sequence
    12499 {
    12500 #ifndef PASN_LEANANDMEAN
    12501     PCLASSINFO(H245_IntegrityCapability, PASN_Sequence);
    12502 #endif
    12503   public:
    12504     H245_IntegrityCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12505
    12506     enum OptionalFields {
    12507       e_nonStandard
    12508     };
    12509
    12510     H245_NonStandardParameter m_nonStandard;
    12511
    12512     PINDEX GetDataLength() const;
    12513     PBoolean Decode(PASN_Stream & strm);
    12514     void Encode(PASN_Stream & strm) const;
    12515 #ifndef PASN_NOPRINTON
    12516     void PrintOn(ostream & strm) const;
    12517 #endif
    12518     Comparison Compare(const PObject & obj) const;
    12519     PObject * Clone() const;
    12520 };
    12521
    12522
    12523 //
    12524 // ConferenceCapability
    12525 //
    12526
    12527 class H245_ConferenceCapability : public PASN_Sequence
    12528 {
    12529 #ifndef PASN_LEANANDMEAN
    12530     PCLASSINFO(H245_ConferenceCapability, PASN_Sequence);
    12531 #endif
    12532   public:
    12533     H245_ConferenceCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12534
    12535     enum OptionalFields {
    12536       e_nonStandardData,
    12537       e_videoIndicateMixingCapability,
    12538       e_multipointVisualizationCapability
    12539     };
    12540
    12541     H245_ArrayOf_NonStandardParameter m_nonStandardData;
    12542     PASN_Boolean m_chairControlCapability;
    12543     PASN_Boolean m_videoIndicateMixingCapability;
    12544     PASN_Boolean m_multipointVisualizationCapability;
    12545
    12546     PINDEX GetDataLength() const;
    12547     PBoolean Decode(PASN_Stream & strm);
    12548     void Encode(PASN_Stream & strm) const;
    12549 #ifndef PASN_NOPRINTON
    12550     void PrintOn(ostream & strm) const;
    12551 #endif
    12552     Comparison Compare(const PObject & obj) const;
    12553     PObject * Clone() const;
    12554 };
    12555
    12556
    12557 //
    12558 // GenericCapability
    12559 //
    12560
    12561 class H245_GenericCapability : public PASN_Sequence
    12562 {
    12563 #ifndef PASN_LEANANDMEAN
    12564     PCLASSINFO(H245_GenericCapability, PASN_Sequence);
    12565 #endif
    12566   public:
    12567     H245_GenericCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12568
    12569     enum OptionalFields {
    12570       e_maxBitRate,
    12571       e_collapsing,
    12572       e_nonCollapsing,
    12573       e_nonCollapsingRaw,
    12574       e_transport
    12575     };
    12576
    12577     H245_CapabilityIdentifier m_capabilityIdentifier;
    12578     PASN_Integer m_maxBitRate;
    12579     H245_ArrayOf_GenericParameter m_collapsing;
    12580     H245_ArrayOf_GenericParameter m_nonCollapsing;
    12581     PASN_OctetString m_nonCollapsingRaw;
    12582     H245_DataProtocolCapability m_transport;
    12583
    12584     PINDEX GetDataLength() const;
    12585     PBoolean Decode(PASN_Stream & strm);
    12586     void Encode(PASN_Stream & strm) const;
    12587 #ifndef PASN_NOPRINTON
    12588     void PrintOn(ostream & strm) const;
    12589 #endif
    12590     Comparison Compare(const PObject & obj) const;
    12591     PObject * Clone() const;
    12592 };
    12593
    12594
    12595 //
    12596 // GenericParameter
    12597 //
    12598
    12599 class H245_GenericParameter : public PASN_Sequence
    12600 {
    12601 #ifndef PASN_LEANANDMEAN
    12602     PCLASSINFO(H245_GenericParameter, PASN_Sequence);
    12603 #endif
    12604   public:
    12605     H245_GenericParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12606
    12607     enum OptionalFields {
    12608       e_supersedes
    12609     };
    12610
    12611     H245_ParameterIdentifier m_parameterIdentifier;
    12612     H245_ParameterValue m_parameterValue;
    12613     H245_ArrayOf_ParameterIdentifier m_supersedes;
    12614
    12615     PINDEX GetDataLength() const;
    12616     PBoolean Decode(PASN_Stream & strm);
    12617     void Encode(PASN_Stream & strm) const;
    12618 #ifndef PASN_NOPRINTON
    12619     void PrintOn(ostream & strm) const;
    12620 #endif
    12621     Comparison Compare(const PObject & obj) const;
    12622     PObject * Clone() const;
    12623 };
    12624
    12625
    12626 //
    12627 // MultiplexedStreamCapability
    12628 //
    12629
    12630 class H245_MultiplexedStreamCapability : public PASN_Sequence
    12631 {
    12632 #ifndef PASN_LEANANDMEAN
    12633     PCLASSINFO(H245_MultiplexedStreamCapability, PASN_Sequence);
    12634 #endif
    12635   public:
    12636     H245_MultiplexedStreamCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12637
    12638     enum OptionalFields {
    12639       e_capabilityOnMuxStream
    12640     };
    12641
    12642     H245_MultiplexFormat m_multiplexFormat;
    12643     PASN_Boolean m_controlOnMuxStream;
    12644     H245_ArrayOf_AlternativeCapabilitySet m_capabilityOnMuxStream;
    12645
    12646     PINDEX GetDataLength() const;
    12647     PBoolean Decode(PASN_Stream & strm);
    12648     void Encode(PASN_Stream & strm) const;
    12649 #ifndef PASN_NOPRINTON
    12650     void PrintOn(ostream & strm) const;
    12651 #endif
    12652     Comparison Compare(const PObject & obj) const;
    12653     PObject * Clone() const;
    12654 };
    12655
    12656
    12657 //
    12658 // MultiplePayloadStreamCapability
    12659 //
    12660
    12661 class H245_MultiplePayloadStreamCapability : public PASN_Sequence
    12662 {
    12663 #ifndef PASN_LEANANDMEAN
    12664     PCLASSINFO(H245_MultiplePayloadStreamCapability, PASN_Sequence);
    12665 #endif
    12666   public:
    12667     H245_MultiplePayloadStreamCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12668
    12669     H245_ArrayOf_AlternativeCapabilitySet m_capabilities;
    12670
    12671     PINDEX GetDataLength() const;
    12672     PBoolean Decode(PASN_Stream & strm);
    12673     void Encode(PASN_Stream & strm) const;
    12674 #ifndef PASN_NOPRINTON
    12675     void PrintOn(ostream & strm) const;
    12676 #endif
    12677     Comparison Compare(const PObject & obj) const;
    12678     PObject * Clone() const;
    12679 };
    12680
    12681
    12682 //
    12683 // FECCapability
    12684 //
    12685
    12686 class H245_FECCapability : public PASN_Sequence
    12687 {
    12688 #ifndef PASN_LEANANDMEAN
    12689     PCLASSINFO(H245_FECCapability, PASN_Sequence);
    12690 #endif
    12691   public:
    12692     H245_FECCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12693
    12694     enum OptionalFields {
    12695       e_fecScheme,
    12696       e_rfc2733Format
    12697     };
    12698
    12699     H245_CapabilityTableEntryNumber m_protectedCapability;
    12700     PASN_ObjectId m_fecScheme;
    12701     H245_FECCapability_rfc2733Format m_rfc2733Format;
    12702
    12703     PINDEX GetDataLength() const;
    12704     PBoolean Decode(PASN_Stream & strm);
    12705     void Encode(PASN_Stream & strm) const;
    12706 #ifndef PASN_NOPRINTON
    12707     void PrintOn(ostream & strm) const;
    12708 #endif
    12709     Comparison Compare(const PObject & obj) const;
    12710     PObject * Clone() const;
    12711 };
    12712
    12713
    12714 //
    12715 // NetworkAccessParameters
    12716 //
    12717
    12718 class H245_NetworkAccessParameters : public PASN_Sequence
    12719 {
    12720 #ifndef PASN_LEANANDMEAN
    12721     PCLASSINFO(H245_NetworkAccessParameters, PASN_Sequence);
    12722 #endif
    12723   public:
    12724     H245_NetworkAccessParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12725
    12726     enum OptionalFields {
    12727       e_distribution,
    12728       e_externalReference,
    12729       e_t120SetupProcedure
    12730     };
    12731
    12732     H245_NetworkAccessParameters_distribution m_distribution;
    12733     H245_NetworkAccessParameters_networkAddress m_networkAddress;
    12734     PASN_Boolean m_associateConference;
    12735     PASN_OctetString m_externalReference;
    12736     H245_NetworkAccessParameters_t120SetupProcedure m_t120SetupProcedure;
    12737
    12738     PINDEX GetDataLength() const;
    12739     PBoolean Decode(PASN_Stream & strm);
    12740     void Encode(PASN_Stream & strm) const;
    12741 #ifndef PASN_NOPRINTON
    12742     void PrintOn(ostream & strm) const;
    12743 #endif
    12744     Comparison Compare(const PObject & obj) const;
    12745     PObject * Clone() const;
    12746 };
    12747
    12748
    12749 //
    12750 // Q2931Address
    12751 //
    12752
    12753 class H245_Q2931Address : public PASN_Sequence
    12754 {
    12755 #ifndef PASN_LEANANDMEAN
    12756     PCLASSINFO(H245_Q2931Address, PASN_Sequence);
    12757 #endif
    12758   public:
    12759     H245_Q2931Address(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12760
    12761     enum OptionalFields {
    12762       e_subaddress
    12763     };
    12764
    12765     H245_Q2931Address_address m_address;
    12766     PASN_OctetString m_subaddress;
    12767
    12768     PINDEX GetDataLength() const;
    12769     PBoolean Decode(PASN_Stream & strm);
    12770     void Encode(PASN_Stream & strm) const;
    12771 #ifndef PASN_NOPRINTON
    12772     void PrintOn(ostream & strm) const;
    12773 #endif
    12774     Comparison Compare(const PObject & obj) const;
    12775     PObject * Clone() const;
    12776 };
    12777
    12778
    12779 //
    12780 // H223LogicalChannelParameters
    12781 //
    12782
    12783 class H245_H223LogicalChannelParameters : public PASN_Sequence
    12784 {
    12785 #ifndef PASN_LEANANDMEAN
    12786     PCLASSINFO(H245_H223LogicalChannelParameters, PASN_Sequence);
    12787 #endif
    12788   public:
    12789     H245_H223LogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12790
    12791     H245_H223LogicalChannelParameters_adaptationLayerType m_adaptationLayerType;
    12792     PASN_Boolean m_segmentableFlag;
    12793
    12794     PINDEX GetDataLength() const;
    12795     PBoolean Decode(PASN_Stream & strm);
    12796     void Encode(PASN_Stream & strm) const;
    12797 #ifndef PASN_NOPRINTON
    12798     void PrintOn(ostream & strm) const;
    12799 #endif
    12800     Comparison Compare(const PObject & obj) const;
    12801     PObject * Clone() const;
    12802 };
    12803
    12804
    12805 //
    12806 // H223AL1MParameters
    12807 //
    12808
    12809 class H245_H223AL1MParameters : public PASN_Sequence
    12810 {
    12811 #ifndef PASN_LEANANDMEAN
    12812     PCLASSINFO(H245_H223AL1MParameters, PASN_Sequence);
    12813 #endif
    12814   public:
    12815     H245_H223AL1MParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12816
    12817     enum OptionalFields {
    12818       e_rsCodeCorrection
    12819     };
    12820
    12821     H245_H223AL1MParameters_transferMode m_transferMode;
    12822     H245_H223AL1MParameters_headerFEC m_headerFEC;
    12823     H245_H223AL1MParameters_crcLength m_crcLength;
    12824     PASN_Integer m_rcpcCodeRate;
    12825     H245_H223AL1MParameters_arqType m_arqType;
    12826     PASN_Boolean m_alpduInterleaving;
    12827     PASN_Boolean m_alsduSplitting;
    12828     PASN_Integer m_rsCodeCorrection;
    12829
    12830     PINDEX GetDataLength() const;
    12831     PBoolean Decode(PASN_Stream & strm);
    12832     void Encode(PASN_Stream & strm) const;
    12833 #ifndef PASN_NOPRINTON
    12834     void PrintOn(ostream & strm) const;
    12835 #endif
    12836     Comparison Compare(const PObject & obj) const;
    12837     PObject * Clone() const;
    12838 };
    12839
    12840
    12841 //
    12842 // H223AL2MParameters
    12843 //
    12844
    12845 class H245_H223AL2MParameters : public PASN_Sequence
    12846 {
    12847 #ifndef PASN_LEANANDMEAN
    12848     PCLASSINFO(H245_H223AL2MParameters, PASN_Sequence);
    12849 #endif
    12850   public:
    12851     H245_H223AL2MParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12852
    12853     H245_H223AL2MParameters_headerFEC m_headerFEC;
    12854     PASN_Boolean m_alpduInterleaving;
    12855
    12856     PINDEX GetDataLength() const;
    12857     PBoolean Decode(PASN_Stream & strm);
    12858     void Encode(PASN_Stream & strm) const;
    12859 #ifndef PASN_NOPRINTON
    12860     void PrintOn(ostream & strm) const;
    12861 #endif
    12862     Comparison Compare(const PObject & obj) const;
    12863     PObject * Clone() const;
    12864 };
    12865
    12866
    12867 //
    12868 // H223AL3MParameters
    12869 //
    12870
    12871 class H245_H223AL3MParameters : public PASN_Sequence
    12872 {
    12873 #ifndef PASN_LEANANDMEAN
    12874     PCLASSINFO(H245_H223AL3MParameters, PASN_Sequence);
    12875 #endif
    12876   public:
    12877     H245_H223AL3MParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12878
    12879     enum OptionalFields {
    12880       e_rsCodeCorrection
    12881     };
    12882
    12883     H245_H223AL3MParameters_headerFormat m_headerFormat;
    12884     H245_H223AL3MParameters_crcLength m_crcLength;
    12885     PASN_Integer m_rcpcCodeRate;
    12886     H245_H223AL3MParameters_arqType m_arqType;
    12887     PASN_Boolean m_alpduInterleaving;
    12888     PASN_Integer m_rsCodeCorrection;
    12889
    12890     PINDEX GetDataLength() const;
    12891     PBoolean Decode(PASN_Stream & strm);
    12892     void Encode(PASN_Stream & strm) const;
    12893 #ifndef PASN_NOPRINTON
    12894     void PrintOn(ostream & strm) const;
    12895 #endif
    12896     Comparison Compare(const PObject & obj) const;
    12897     PObject * Clone() const;
    12898 };
    12899
    12900
    12901 //
    12902 // H223AnnexCArqParameters
    12903 //
    12904
    12905 class H245_H223AnnexCArqParameters : public PASN_Sequence
    12906 {
    12907 #ifndef PASN_LEANANDMEAN
    12908     PCLASSINFO(H245_H223AnnexCArqParameters, PASN_Sequence);
    12909 #endif
    12910   public:
    12911     H245_H223AnnexCArqParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12912
    12913     H245_H223AnnexCArqParameters_numberOfRetransmissions m_numberOfRetransmissions;
    12914     PASN_Integer m_sendBufferSize;
    12915
    12916     PINDEX GetDataLength() const;
    12917     PBoolean Decode(PASN_Stream & strm);
    12918     void Encode(PASN_Stream & strm) const;
    12919 #ifndef PASN_NOPRINTON
    12920     void PrintOn(ostream & strm) const;
    12921 #endif
    12922     Comparison Compare(const PObject & obj) const;
    12923     PObject * Clone() const;
    12924 };
    12925
    12926
    12927 //
    12928 // V76HDLCParameters
    12929 //
    12930
    12931 class H245_V76HDLCParameters : public PASN_Sequence
    12932 {
    12933 #ifndef PASN_LEANANDMEAN
    12934     PCLASSINFO(H245_V76HDLCParameters, PASN_Sequence);
    12935 #endif
    12936   public:
    12937     H245_V76HDLCParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12938
    12939     H245_CRCLength m_crcLength;
    12940     PASN_Integer m_n401;
    12941     PASN_Boolean m_loopbackTestProcedure;
    12942
    12943     PINDEX GetDataLength() const;
    12944     PBoolean Decode(PASN_Stream & strm);
    12945     void Encode(PASN_Stream & strm) const;
    12946 #ifndef PASN_NOPRINTON
    12947     void PrintOn(ostream & strm) const;
    12948 #endif
    12949     Comparison Compare(const PObject & obj) const;
    12950     PObject * Clone() const;
    12951 };
    12952
    12953
    12954 //
    12955 // RTPPayloadType
    12956 //
    12957
    12958 class H245_RTPPayloadType : public PASN_Sequence
    12959 {
    12960 #ifndef PASN_LEANANDMEAN
    12961     PCLASSINFO(H245_RTPPayloadType, PASN_Sequence);
    12962 #endif
    12963   public:
    12964     H245_RTPPayloadType(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12965
    12966     enum OptionalFields {
    12967       e_payloadType
    12968     };
    12969
    12970     H245_RTPPayloadType_payloadDescriptor m_payloadDescriptor;
    12971     PASN_Integer m_payloadType;
    12972
    12973     PINDEX GetDataLength() const;
    12974     PBoolean Decode(PASN_Stream & strm);
    12975     void Encode(PASN_Stream & strm) const;
    12976 #ifndef PASN_NOPRINTON
    12977     void PrintOn(ostream & strm) const;
    12978 #endif
    12979     Comparison Compare(const PObject & obj) const;
    12980     PObject * Clone() const;
    12981 };
    12982
    12983
    12984 //
    12985 // MultiplePayloadStream
    12986 //
    12987
    12988 class H245_MultiplePayloadStream : public PASN_Sequence
    12989 {
    12990 #ifndef PASN_LEANANDMEAN
    12991     PCLASSINFO(H245_MultiplePayloadStream, PASN_Sequence);
    12992 #endif
    12993   public:
    12994     H245_MultiplePayloadStream(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    12995
    12996     H245_ArrayOf_MultiplePayloadStreamElement m_elements;
    12997
    12998     PINDEX GetDataLength() const;
    12999     PBoolean Decode(PASN_Stream & strm);
    13000     void Encode(PASN_Stream & strm) const;
    13001 #ifndef PASN_NOPRINTON
    13002     void PrintOn(ostream & strm) const;
    13003 #endif
    13004     Comparison Compare(const PObject & obj) const;
    13005     PObject * Clone() const;
    13006 };
    13007
    13008
    13009 //
    13010 // EncryptionSync
    13011 //
    13012
    13013 class H245_EncryptionSync : public PASN_Sequence
    13014 {
    13015 #ifndef PASN_LEANANDMEAN
    13016     PCLASSINFO(H245_EncryptionSync, PASN_Sequence);
    13017 #endif
    13018   public:
    13019     H245_EncryptionSync(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13020
    13021     enum OptionalFields {
    13022       e_nonStandard,
    13023       e_escrowentry,
    13024       e_genericParameter
    13025     };
    13026
    13027     H245_NonStandardParameter m_nonStandard;
    13028     PASN_Integer m_synchFlag;
    13029     PASN_OctetString m_h235Key;
    13030     H245_ArrayOf_EscrowData m_escrowentry;
    13031     H245_GenericParameter m_genericParameter;
    13032
    13033     PINDEX GetDataLength() const;
    13034     PBoolean Decode(PASN_Stream & strm);
    13035     void Encode(PASN_Stream & strm) const;
    13036 #ifndef PASN_NOPRINTON
    13037     void PrintOn(ostream & strm) const;
    13038 #endif
    13039     Comparison Compare(const PObject & obj) const;
    13040     PObject * Clone() const;
    13041 };
    13042
    13043
    13044 //
    13045 // OpenLogicalChannelReject
    13046 //
    13047
    13048 class H245_OpenLogicalChannelReject : public PASN_Sequence
    13049 {
    13050 #ifndef PASN_LEANANDMEAN
    13051     PCLASSINFO(H245_OpenLogicalChannelReject, PASN_Sequence);
    13052 #endif
    13053   public:
    13054     H245_OpenLogicalChannelReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13055
    13056     enum OptionalFields {
    13057       e_genericInformation
    13058     };
    13059
    13060     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
    13061     H245_OpenLogicalChannelReject_cause m_cause;
    13062     H245_ArrayOf_GenericInformation m_genericInformation;
    13063
    13064     PINDEX GetDataLength() const;
    13065     PBoolean Decode(PASN_Stream & strm);
    13066     void Encode(PASN_Stream & strm) const;
    13067 #ifndef PASN_NOPRINTON
    13068     void PrintOn(ostream & strm) const;
    13069 #endif
    13070     Comparison Compare(const PObject & obj) const;
    13071     PObject * Clone() const;
    13072 };
    13073
    13074
    13075 //
    13076 // OpenLogicalChannelConfirm
    13077 //
    13078
    13079 class H245_OpenLogicalChannelConfirm : public PASN_Sequence
    13080 {
    13081 #ifndef PASN_LEANANDMEAN
    13082     PCLASSINFO(H245_OpenLogicalChannelConfirm, PASN_Sequence);
    13083 #endif
    13084   public:
    13085     H245_OpenLogicalChannelConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13086
    13087     enum OptionalFields {
    13088       e_genericInformation
    13089     };
    13090
    13091     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
    13092     H245_ArrayOf_GenericInformation m_genericInformation;
    13093
    13094     PINDEX GetDataLength() const;
    13095     PBoolean Decode(PASN_Stream & strm);
    13096     void Encode(PASN_Stream & strm) const;
    13097 #ifndef PASN_NOPRINTON
    13098     void PrintOn(ostream & strm) const;
    13099 #endif
    13100     Comparison Compare(const PObject & obj) const;
    13101     PObject * Clone() const;
    13102 };
    13103
    13104
    13105 //
    13106 // H2250LogicalChannelAckParameters
    13107 //
    13108
    13109 class H245_H2250LogicalChannelAckParameters : public PASN_Sequence
    13110 {
    13111 #ifndef PASN_LEANANDMEAN
    13112     PCLASSINFO(H245_H2250LogicalChannelAckParameters, PASN_Sequence);
    13113 #endif
    13114   public:
    13115     H245_H2250LogicalChannelAckParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13116
    13117     enum OptionalFields {
    13118       e_nonStandard,
    13119       e_sessionID,
    13120       e_mediaChannel,
    13121       e_mediaControlChannel,
    13122       e_dynamicRTPPayloadType,
    13123       e_flowControlToZero,
    13124       e_portNumber
    13125     };
    13126
    13127     H245_ArrayOf_NonStandardParameter m_nonStandard;
    13128     PASN_Integer m_sessionID;
    13129     H245_TransportAddress m_mediaChannel;
    13130     H245_TransportAddress m_mediaControlChannel;
    13131     PASN_Integer m_dynamicRTPPayloadType;
    13132     PASN_Boolean m_flowControlToZero;
    13133     PASN_Integer m_portNumber;
    13134
    13135     PINDEX GetDataLength() const;
    13136     PBoolean Decode(PASN_Stream & strm);
    13137     void Encode(PASN_Stream & strm) const;
    13138 #ifndef PASN_NOPRINTON
    13139     void PrintOn(ostream & strm) const;
    13140 #endif
    13141     Comparison Compare(const PObject & obj) const;
    13142     PObject * Clone() const;
    13143 };
    13144
    13145
    13146 //
    13147 // CloseLogicalChannel
    13148 //
    13149
    13150 class H245_CloseLogicalChannel : public PASN_Sequence
    13151 {
    13152 #ifndef PASN_LEANANDMEAN
    13153     PCLASSINFO(H245_CloseLogicalChannel, PASN_Sequence);
    13154 #endif
    13155   public:
    13156     H245_CloseLogicalChannel(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13157
    13158     enum OptionalFields {
    13159       e_reason
    13160     };
    13161
    13162     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
    13163     H245_CloseLogicalChannel_source m_source;
    13164     H245_CloseLogicalChannel_reason m_reason;
    13165
    13166     PINDEX GetDataLength() const;
    13167     PBoolean Decode(PASN_Stream & strm);
    13168     void Encode(PASN_Stream & strm) const;
    13169 #ifndef PASN_NOPRINTON
    13170     void PrintOn(ostream & strm) const;
    13171 #endif
    13172     Comparison Compare(const PObject & obj) const;
    13173     PObject * Clone() const;
    13174 };
    13175
    13176
    13177 //
    13178 // RequestChannelClose
    13179 //
    13180
    13181 class H245_RequestChannelClose : public PASN_Sequence
    13182 {
    13183 #ifndef PASN_LEANANDMEAN
    13184     PCLASSINFO(H245_RequestChannelClose, PASN_Sequence);
    13185 #endif
    13186   public:
    13187     H245_RequestChannelClose(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13188
    13189     enum OptionalFields {
    13190       e_qosCapability,
    13191       e_reason
    13192     };
    13193
    13194     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
    13195     H245_QOSCapability m_qosCapability;
    13196     H245_RequestChannelClose_reason m_reason;
    13197
    13198     PINDEX GetDataLength() const;
    13199     PBoolean Decode(PASN_Stream & strm);
    13200     void Encode(PASN_Stream & strm) const;
    13201 #ifndef PASN_NOPRINTON
    13202     void PrintOn(ostream & strm) const;
    13203 #endif
    13204     Comparison Compare(const PObject & obj) const;
    13205     PObject * Clone() const;
    13206 };
    13207
    13208
    13209 //
    13210 // RequestChannelCloseReject
    13211 //
    13212
    13213 class H245_RequestChannelCloseReject : public PASN_Sequence
    13214 {
    13215 #ifndef PASN_LEANANDMEAN
    13216     PCLASSINFO(H245_RequestChannelCloseReject, PASN_Sequence);
    13217 #endif
    13218   public:
    13219     H245_RequestChannelCloseReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13220
    13221     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
    13222     H245_RequestChannelCloseReject_cause m_cause;
    13223
    13224     PINDEX GetDataLength() const;
    13225     PBoolean Decode(PASN_Stream & strm);
    13226     void Encode(PASN_Stream & strm) const;
    13227 #ifndef PASN_NOPRINTON
    13228     void PrintOn(ostream & strm) const;
    13229 #endif
    13230     Comparison Compare(const PObject & obj) const;
    13231     PObject * Clone() const;
    13232 };
    13233
    13234
    13235 //
    13236 // MultiplexEntrySend
    13237 //
    13238
    13239 class H245_MultiplexEntrySend : public PASN_Sequence
    13240 {
    13241 #ifndef PASN_LEANANDMEAN
    13242     PCLASSINFO(H245_MultiplexEntrySend, PASN_Sequence);
    13243 #endif
    13244   public:
    13245     H245_MultiplexEntrySend(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13246
    13247     H245_SequenceNumber m_sequenceNumber;
    13248     H245_ArrayOf_MultiplexEntryDescriptor m_multiplexEntryDescriptors;
    13249
    13250     PINDEX GetDataLength() const;
    13251     PBoolean Decode(PASN_Stream & strm);
    13252     void Encode(PASN_Stream & strm) const;
    13253 #ifndef PASN_NOPRINTON
    13254     void PrintOn(ostream & strm) const;
    13255 #endif
    13256     Comparison Compare(const PObject & obj) const;
    13257     PObject * Clone() const;
    13258 };
    13259
    13260
    13261 //
    13262 // MultiplexEntryDescriptor
    13263 //
    13264
    13265 class H245_MultiplexEntryDescriptor : public PASN_Sequence
    13266 {
    13267 #ifndef PASN_LEANANDMEAN
    13268     PCLASSINFO(H245_MultiplexEntryDescriptor, PASN_Sequence);
    13269 #endif
    13270   public:
    13271     H245_MultiplexEntryDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13272
    13273     enum OptionalFields {
    13274       e_elementList
    13275     };
    13276
    13277     H245_MultiplexTableEntryNumber m_multiplexTableEntryNumber;
    13278     H245_ArrayOf_MultiplexElement m_elementList;
    13279
    13280     PINDEX GetDataLength() const;
    13281     PBoolean Decode(PASN_Stream & strm);
    13282     void Encode(PASN_Stream & strm) const;
    13283 #ifndef PASN_NOPRINTON
    13284     void PrintOn(ostream & strm) const;
    13285 #endif
    13286     Comparison Compare(const PObject & obj) const;
    13287     PObject * Clone() const;
    13288 };
    13289
    13290
    13291 //
    13292 // MultiplexElement
    13293 //
    13294
    13295 class H245_MultiplexElement : public PASN_Sequence
    13296 {
    13297 #ifndef PASN_LEANANDMEAN
    13298     PCLASSINFO(H245_MultiplexElement, PASN_Sequence);
    13299 #endif
    13300   public:
    13301     H245_MultiplexElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13302
    13303     H245_MultiplexElement_type m_type;
    13304     H245_MultiplexElement_repeatCount m_repeatCount;
    13305
    13306     PINDEX GetDataLength() const;
    13307     PBoolean Decode(PASN_Stream & strm);
    13308     void Encode(PASN_Stream & strm) const;
    13309 #ifndef PASN_NOPRINTON
    13310     void PrintOn(ostream & strm) const;
    13311 #endif
    13312     Comparison Compare(const PObject & obj) const;
    13313     PObject * Clone() const;
    13314 };
    13315
    13316
    13317 //
    13318 // MultiplexEntrySendAck
    13319 //
    13320
    13321 class H245_MultiplexEntrySendAck : public PASN_Sequence
    13322 {
    13323 #ifndef PASN_LEANANDMEAN
    13324     PCLASSINFO(H245_MultiplexEntrySendAck, PASN_Sequence);
    13325 #endif
    13326   public:
    13327     H245_MultiplexEntrySendAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13328
    13329     H245_SequenceNumber m_sequenceNumber;
    13330     H245_ArrayOf_MultiplexTableEntryNumber m_multiplexTableEntryNumber;
    13331
    13332     PINDEX GetDataLength() const;
    13333     PBoolean Decode(PASN_Stream & strm);
    13334     void Encode(PASN_Stream & strm) const;
    13335 #ifndef PASN_NOPRINTON
    13336     void PrintOn(ostream & strm) const;
    13337 #endif
    13338     Comparison Compare(const PObject & obj) const;
    13339     PObject * Clone() const;
    13340 };
    13341
    13342
    13343 //
    13344 // MultiplexEntrySendReject
    13345 //
    13346
    13347 class H245_MultiplexEntrySendReject : public PASN_Sequence
    13348 {
    13349 #ifndef PASN_LEANANDMEAN
    13350     PCLASSINFO(H245_MultiplexEntrySendReject, PASN_Sequence);
    13351 #endif
    13352   public:
    13353     H245_MultiplexEntrySendReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13354
    13355     H245_SequenceNumber m_sequenceNumber;
    13356     H245_ArrayOf_MultiplexEntryRejectionDescriptions m_rejectionDescriptions;
    13357
    13358     PINDEX GetDataLength() const;
    13359     PBoolean Decode(PASN_Stream & strm);
    13360     void Encode(PASN_Stream & strm) const;
    13361 #ifndef PASN_NOPRINTON
    13362     void PrintOn(ostream & strm) const;
    13363 #endif
    13364     Comparison Compare(const PObject & obj) const;
    13365     PObject * Clone() const;
    13366 };
    13367
    13368
    13369 //
    13370 // MultiplexEntryRejectionDescriptions
    13371 //
    13372
    13373 class H245_MultiplexEntryRejectionDescriptions : public PASN_Sequence
    13374 {
    13375 #ifndef PASN_LEANANDMEAN
    13376     PCLASSINFO(H245_MultiplexEntryRejectionDescriptions, PASN_Sequence);
    13377 #endif
    13378   public:
    13379     H245_MultiplexEntryRejectionDescriptions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13380
    13381     H245_MultiplexTableEntryNumber m_multiplexTableEntryNumber;
    13382     H245_MultiplexEntryRejectionDescriptions_cause m_cause;
    13383
    13384     PINDEX GetDataLength() const;
    13385     PBoolean Decode(PASN_Stream & strm);
    13386     void Encode(PASN_Stream & strm) const;
    13387 #ifndef PASN_NOPRINTON
    13388     void PrintOn(ostream & strm) const;
    13389 #endif
    13390     Comparison Compare(const PObject & obj) const;
    13391     PObject * Clone() const;
    13392 };
    13393
    13394
    13395 //
    13396 // MultiplexEntrySendRelease
    13397 //
    13398
    13399 class H245_MultiplexEntrySendRelease : public PASN_Sequence
    13400 {
    13401 #ifndef PASN_LEANANDMEAN
    13402     PCLASSINFO(H245_MultiplexEntrySendRelease, PASN_Sequence);
    13403 #endif
    13404   public:
    13405     H245_MultiplexEntrySendRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13406
    13407     H245_ArrayOf_MultiplexTableEntryNumber m_multiplexTableEntryNumber;
    13408
    13409     PINDEX GetDataLength() const;
    13410     PBoolean Decode(PASN_Stream & strm);
    13411     void Encode(PASN_Stream & strm) const;
    13412 #ifndef PASN_NOPRINTON
    13413     void PrintOn(ostream & strm) const;
    13414 #endif
    13415     Comparison Compare(const PObject & obj) const;
    13416     PObject * Clone() const;
    13417 };
    13418
    13419
    13420 //
    13421 // RequestMultiplexEntry
    13422 //
    13423
    13424 class H245_RequestMultiplexEntry : public PASN_Sequence
    13425 {
    13426 #ifndef PASN_LEANANDMEAN
    13427     PCLASSINFO(H245_RequestMultiplexEntry, PASN_Sequence);
    13428 #endif
    13429   public:
    13430     H245_RequestMultiplexEntry(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13431
    13432     H245_ArrayOf_MultiplexTableEntryNumber m_entryNumbers;
    13433
    13434     PINDEX GetDataLength() const;
    13435     PBoolean Decode(PASN_Stream & strm);
    13436     void Encode(PASN_Stream & strm) const;
    13437 #ifndef PASN_NOPRINTON
    13438     void PrintOn(ostream & strm) const;
    13439 #endif
    13440     Comparison Compare(const PObject & obj) const;
    13441     PObject * Clone() const;
    13442 };
    13443
    13444
    13445 //
    13446 // RequestMultiplexEntryAck
    13447 //
    13448
    13449 class H245_RequestMultiplexEntryAck : public PASN_Sequence
    13450 {
    13451 #ifndef PASN_LEANANDMEAN
    13452     PCLASSINFO(H245_RequestMultiplexEntryAck, PASN_Sequence);
    13453 #endif
    13454   public:
    13455     H245_RequestMultiplexEntryAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13456
    13457     H245_ArrayOf_MultiplexTableEntryNumber m_entryNumbers;
    13458
    13459     PINDEX GetDataLength() const;
    13460     PBoolean Decode(PASN_Stream & strm);
    13461     void Encode(PASN_Stream & strm) const;
    13462 #ifndef PASN_NOPRINTON
    13463     void PrintOn(ostream & strm) const;
    13464 #endif
    13465     Comparison Compare(const PObject & obj) const;
    13466     PObject * Clone() const;
    13467 };
    13468
    13469
    13470 //
    13471 // RequestMultiplexEntryReject
    13472 //
    13473
    13474 class H245_RequestMultiplexEntryReject : public PASN_Sequence
    13475 {
    13476 #ifndef PASN_LEANANDMEAN
    13477     PCLASSINFO(H245_RequestMultiplexEntryReject, PASN_Sequence);
    13478 #endif
    13479   public:
    13480     H245_RequestMultiplexEntryReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13481
    13482     H245_ArrayOf_MultiplexTableEntryNumber m_entryNumbers;
    13483     H245_ArrayOf_RequestMultiplexEntryRejectionDescriptions m_rejectionDescriptions;
    13484
    13485     PINDEX GetDataLength() const;
    13486     PBoolean Decode(PASN_Stream & strm);
    13487     void Encode(PASN_Stream & strm) const;
    13488 #ifndef PASN_NOPRINTON
    13489     void PrintOn(ostream & strm) const;
    13490 #endif
    13491     Comparison Compare(const PObject & obj) const;
    13492     PObject * Clone() const;
    13493 };
    13494
    13495
    13496 //
    13497 // RequestMultiplexEntryRejectionDescriptions
    13498 //
    13499
    13500 class H245_RequestMultiplexEntryRejectionDescriptions : public PASN_Sequence
    13501 {
    13502 #ifndef PASN_LEANANDMEAN
    13503     PCLASSINFO(H245_RequestMultiplexEntryRejectionDescriptions, PASN_Sequence);
    13504 #endif
    13505   public:
    13506     H245_RequestMultiplexEntryRejectionDescriptions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13507
    13508     H245_MultiplexTableEntryNumber m_multiplexTableEntryNumber;
    13509     H245_RequestMultiplexEntryRejectionDescriptions_cause m_cause;
    13510
    13511     PINDEX GetDataLength() const;
    13512     PBoolean Decode(PASN_Stream & strm);
    13513     void Encode(PASN_Stream & strm) const;
    13514 #ifndef PASN_NOPRINTON
    13515     void PrintOn(ostream & strm) const;
    13516 #endif
    13517     Comparison Compare(const PObject & obj) const;
    13518     PObject * Clone() const;
    13519 };
    13520
    13521
    13522 //
    13523 // RequestMultiplexEntryRelease
    13524 //
    13525
    13526 class H245_RequestMultiplexEntryRelease : public PASN_Sequence
    13527 {
    13528 #ifndef PASN_LEANANDMEAN
    13529     PCLASSINFO(H245_RequestMultiplexEntryRelease, PASN_Sequence);
    13530 #endif
    13531   public:
    13532     H245_RequestMultiplexEntryRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13533
    13534     H245_ArrayOf_MultiplexTableEntryNumber m_entryNumbers;
    13535
    13536     PINDEX GetDataLength() const;
    13537     PBoolean Decode(PASN_Stream & strm);
    13538     void Encode(PASN_Stream & strm) const;
    13539 #ifndef PASN_NOPRINTON
    13540     void PrintOn(ostream & strm) const;
    13541 #endif
    13542     Comparison Compare(const PObject & obj) const;
    13543     PObject * Clone() const;
    13544 };
    13545
    13546
    13547 //
    13548 // RequestMode
    13549 //
    13550
    13551 class H245_RequestMode : public PASN_Sequence
    13552 {
    13553 #ifndef PASN_LEANANDMEAN
    13554     PCLASSINFO(H245_RequestMode, PASN_Sequence);
    13555 #endif
    13556   public:
    13557     H245_RequestMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13558
    13559     H245_SequenceNumber m_sequenceNumber;
    13560     H245_ArrayOf_ModeDescription m_requestedModes;
    13561
    13562     PINDEX GetDataLength() const;
    13563     PBoolean Decode(PASN_Stream & strm);
    13564     void Encode(PASN_Stream & strm) const;
    13565 #ifndef PASN_NOPRINTON
    13566     void PrintOn(ostream & strm) const;
    13567 #endif
    13568     Comparison Compare(const PObject & obj) const;
    13569     PObject * Clone() const;
    13570 };
    13571
    13572
    13573 //
    13574 // RequestModeAck
    13575 //
    13576
    13577 class H245_RequestModeAck : public PASN_Sequence
    13578 {
    13579 #ifndef PASN_LEANANDMEAN
    13580     PCLASSINFO(H245_RequestModeAck, PASN_Sequence);
    13581 #endif
    13582   public:
    13583     H245_RequestModeAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13584
    13585     H245_SequenceNumber m_sequenceNumber;
    13586     H245_RequestModeAck_response m_response;
    13587
    13588     PINDEX GetDataLength() const;
    13589     PBoolean Decode(PASN_Stream & strm);
    13590     void Encode(PASN_Stream & strm) const;
    13591 #ifndef PASN_NOPRINTON
    13592     void PrintOn(ostream & strm) const;
    13593 #endif
    13594     Comparison Compare(const PObject & obj) const;
    13595     PObject * Clone() const;
    13596 };
    13597
    13598
    13599 //
    13600 // RequestModeReject
    13601 //
    13602
    13603 class H245_RequestModeReject : public PASN_Sequence
    13604 {
    13605 #ifndef PASN_LEANANDMEAN
    13606     PCLASSINFO(H245_RequestModeReject, PASN_Sequence);
    13607 #endif
    13608   public:
    13609     H245_RequestModeReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13610
    13611     H245_SequenceNumber m_sequenceNumber;
    13612     H245_RequestModeReject_cause m_cause;
    13613
    13614     PINDEX GetDataLength() const;
    13615     PBoolean Decode(PASN_Stream & strm);
    13616     void Encode(PASN_Stream & strm) const;
    13617 #ifndef PASN_NOPRINTON
    13618     void PrintOn(ostream & strm) const;
    13619 #endif
    13620     Comparison Compare(const PObject & obj) const;
    13621     PObject * Clone() const;
    13622 };
    13623
    13624
    13625 //
    13626 // RedundancyEncodingDTModeElement
    13627 //
    13628
    13629 class H245_RedundancyEncodingDTModeElement : public PASN_Sequence
    13630 {
    13631 #ifndef PASN_LEANANDMEAN
    13632     PCLASSINFO(H245_RedundancyEncodingDTModeElement, PASN_Sequence);
    13633 #endif
    13634   public:
    13635     H245_RedundancyEncodingDTModeElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13636
    13637     H245_RedundancyEncodingDTModeElement_type m_type;
    13638
    13639     PINDEX GetDataLength() const;
    13640     PBoolean Decode(PASN_Stream & strm);
    13641     void Encode(PASN_Stream & strm) const;
    13642 #ifndef PASN_NOPRINTON
    13643     void PrintOn(ostream & strm) const;
    13644 #endif
    13645     Comparison Compare(const PObject & obj) const;
    13646     PObject * Clone() const;
    13647 };
    13648
    13649
    13650 //
    13651 // MultiplePayloadStreamMode
    13652 //
    13653
    13654 class H245_MultiplePayloadStreamMode : public PASN_Sequence
    13655 {
    13656 #ifndef PASN_LEANANDMEAN
    13657     PCLASSINFO(H245_MultiplePayloadStreamMode, PASN_Sequence);
    13658 #endif
    13659   public:
    13660     H245_MultiplePayloadStreamMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13661
    13662     H245_ArrayOf_MultiplePayloadStreamElementMode m_elements;
    13663
    13664     PINDEX GetDataLength() const;
    13665     PBoolean Decode(PASN_Stream & strm);
    13666     void Encode(PASN_Stream & strm) const;
    13667 #ifndef PASN_NOPRINTON
    13668     void PrintOn(ostream & strm) const;
    13669 #endif
    13670     Comparison Compare(const PObject & obj) const;
    13671     PObject * Clone() const;
    13672 };
    13673
    13674
    13675 //
    13676 // FECMode
    13677 //
    13678
    13679 class H245_FECMode : public PASN_Sequence
    13680 {
    13681 #ifndef PASN_LEANANDMEAN
    13682     PCLASSINFO(H245_FECMode, PASN_Sequence);
    13683 #endif
    13684   public:
    13685     H245_FECMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13686
    13687     enum OptionalFields {
    13688       e_fecScheme,
    13689       e_rfc2733Format
    13690     };
    13691
    13692     H245_ModeElementType m_protectedElement;
    13693     PASN_ObjectId m_fecScheme;
    13694     H245_FECMode_rfc2733Format m_rfc2733Format;
    13695
    13696     PINDEX GetDataLength() const;
    13697     PBoolean Decode(PASN_Stream & strm);
    13698     void Encode(PASN_Stream & strm) const;
    13699 #ifndef PASN_NOPRINTON
    13700     void PrintOn(ostream & strm) const;
    13701 #endif
    13702     Comparison Compare(const PObject & obj) const;
    13703     PObject * Clone() const;
    13704 };
    13705
    13706
    13707 //
    13708 // H223ModeParameters
    13709 //
    13710
    13711 class H245_H223ModeParameters : public PASN_Sequence
    13712 {
    13713 #ifndef PASN_LEANANDMEAN
    13714     PCLASSINFO(H245_H223ModeParameters, PASN_Sequence);
    13715 #endif
    13716   public:
    13717     H245_H223ModeParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13718
    13719     H245_H223ModeParameters_adaptationLayerType m_adaptationLayerType;
    13720     PASN_Boolean m_segmentableFlag;
    13721
    13722     PINDEX GetDataLength() const;
    13723     PBoolean Decode(PASN_Stream & strm);
    13724     void Encode(PASN_Stream & strm) const;
    13725 #ifndef PASN_NOPRINTON
    13726     void PrintOn(ostream & strm) const;
    13727 #endif
    13728     Comparison Compare(const PObject & obj) const;
    13729     PObject * Clone() const;
    13730 };
    13731
    13732
    13733 //
    13734 // RedundancyEncodingMode
    13735 //
    13736
    13737 class H245_RedundancyEncodingMode : public PASN_Sequence
    13738 {
    13739 #ifndef PASN_LEANANDMEAN
    13740     PCLASSINFO(H245_RedundancyEncodingMode, PASN_Sequence);
    13741 #endif
    13742   public:
    13743     H245_RedundancyEncodingMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13744
    13745     enum OptionalFields {
    13746       e_secondaryEncoding
    13747     };
    13748
    13749     H245_RedundancyEncodingMethod m_redundancyEncodingMethod;
    13750     H245_RedundancyEncodingMode_secondaryEncoding m_secondaryEncoding;
    13751
    13752     PINDEX GetDataLength() const;
    13753     PBoolean Decode(PASN_Stream & strm);
    13754     void Encode(PASN_Stream & strm) const;
    13755 #ifndef PASN_NOPRINTON
    13756     void PrintOn(ostream & strm) const;
    13757 #endif
    13758     Comparison Compare(const PObject & obj) const;
    13759     PObject * Clone() const;
    13760 };
    13761
    13762
    13763 //
    13764 // H261VideoMode
    13765 //
    13766
    13767 class H245_H261VideoMode : public PASN_Sequence
    13768 {
    13769 #ifndef PASN_LEANANDMEAN
    13770     PCLASSINFO(H245_H261VideoMode, PASN_Sequence);
    13771 #endif
    13772   public:
    13773     H245_H261VideoMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13774
    13775     H245_H261VideoMode_resolution m_resolution;
    13776     PASN_Integer m_bitRate;
    13777     PASN_Boolean m_stillImageTransmission;
    13778
    13779     PINDEX GetDataLength() const;
    13780     PBoolean Decode(PASN_Stream & strm);
    13781     void Encode(PASN_Stream & strm) const;
    13782 #ifndef PASN_NOPRINTON
    13783     void PrintOn(ostream & strm) const;
    13784 #endif
    13785     Comparison Compare(const PObject & obj) const;
    13786     PObject * Clone() const;
    13787 };
    13788
    13789
    13790 //
    13791 // H262VideoMode
    13792 //
    13793
    13794 class H245_H262VideoMode : public PASN_Sequence
    13795 {
    13796 #ifndef PASN_LEANANDMEAN
    13797     PCLASSINFO(H245_H262VideoMode, PASN_Sequence);
    13798 #endif
    13799   public:
    13800     H245_H262VideoMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13801
    13802     enum OptionalFields {
    13803       e_videoBitRate,
    13804       e_vbvBufferSize,
    13805       e_samplesPerLine,
    13806       e_linesPerFrame,
    13807       e_framesPerSecond,
    13808       e_luminanceSampleRate
    13809     };
    13810
    13811     H245_H262VideoMode_profileAndLevel m_profileAndLevel;
    13812     PASN_Integer m_videoBitRate;
    13813     PASN_Integer m_vbvBufferSize;
    13814     PASN_Integer m_samplesPerLine;
    13815     PASN_Integer m_linesPerFrame;
    13816     PASN_Integer m_framesPerSecond;
    13817     PASN_Integer m_luminanceSampleRate;
    13818
    13819     PINDEX GetDataLength() const;
    13820     PBoolean Decode(PASN_Stream & strm);
    13821     void Encode(PASN_Stream & strm) const;
    13822 #ifndef PASN_NOPRINTON
    13823     void PrintOn(ostream & strm) const;
    13824 #endif
    13825     Comparison Compare(const PObject & obj) const;
    13826     PObject * Clone() const;
    13827 };
    13828
    13829
    13830 //
    13831 // IS11172AudioMode
    13832 //
    13833
    13834 class H245_IS11172AudioMode : public PASN_Sequence
    13835 {
    13836 #ifndef PASN_LEANANDMEAN
    13837     PCLASSINFO(H245_IS11172AudioMode, PASN_Sequence);
    13838 #endif
    13839   public:
    13840     H245_IS11172AudioMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13841
    13842     H245_IS11172AudioMode_audioLayer m_audioLayer;
    13843     H245_IS11172AudioMode_audioSampling m_audioSampling;
    13844     H245_IS11172AudioMode_multichannelType m_multichannelType;
    13845     PASN_Integer m_bitRate;
    13846
    13847     PINDEX GetDataLength() const;
    13848     PBoolean Decode(PASN_Stream & strm);
    13849     void Encode(PASN_Stream & strm) const;
    13850 #ifndef PASN_NOPRINTON
    13851     void PrintOn(ostream & strm) const;
    13852 #endif
    13853     Comparison Compare(const PObject & obj) const;
    13854     PObject * Clone() const;
    13855 };
    13856
    13857
    13858 //
    13859 // IS13818AudioMode
    13860 //
    13861
    13862 class H245_IS13818AudioMode : public PASN_Sequence
    13863 {
    13864 #ifndef PASN_LEANANDMEAN
    13865     PCLASSINFO(H245_IS13818AudioMode, PASN_Sequence);
    13866 #endif
    13867   public:
    13868     H245_IS13818AudioMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13869
    13870     H245_IS13818AudioMode_audioLayer m_audioLayer;
    13871     H245_IS13818AudioMode_audioSampling m_audioSampling;
    13872     H245_IS13818AudioMode_multichannelType m_multichannelType;
    13873     PASN_Boolean m_lowFrequencyEnhancement;
    13874     PASN_Boolean m_multilingual;
    13875     PASN_Integer m_bitRate;
    13876
    13877     PINDEX GetDataLength() const;
    13878     PBoolean Decode(PASN_Stream & strm);
    13879     void Encode(PASN_Stream & strm) const;
    13880 #ifndef PASN_NOPRINTON
    13881     void PrintOn(ostream & strm) const;
    13882 #endif
    13883     Comparison Compare(const PObject & obj) const;
    13884     PObject * Clone() const;
    13885 };
    13886
    13887
    13888 //
    13889 // G7231AnnexCMode
    13890 //
    13891
    13892 class H245_G7231AnnexCMode : public PASN_Sequence
    13893 {
    13894 #ifndef PASN_LEANANDMEAN
    13895     PCLASSINFO(H245_G7231AnnexCMode, PASN_Sequence);
    13896 #endif
    13897   public:
    13898     H245_G7231AnnexCMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13899
    13900     PASN_Integer m_maxAl_sduAudioFrames;
    13901     PASN_Boolean m_silenceSuppression;
    13902     H245_G7231AnnexCMode_g723AnnexCAudioMode m_g723AnnexCAudioMode;
    13903
    13904     PINDEX GetDataLength() const;
    13905     PBoolean Decode(PASN_Stream & strm);
    13906     void Encode(PASN_Stream & strm) const;
    13907 #ifndef PASN_NOPRINTON
    13908     void PrintOn(ostream & strm) const;
    13909 #endif
    13910     Comparison Compare(const PObject & obj) const;
    13911     PObject * Clone() const;
    13912 };
    13913
    13914
    13915 //
    13916 // DataMode
    13917 //
    13918
    13919 class H245_DataMode : public PASN_Sequence
    13920 {
    13921 #ifndef PASN_LEANANDMEAN
    13922     PCLASSINFO(H245_DataMode, PASN_Sequence);
    13923 #endif
    13924   public:
    13925     H245_DataMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13926
    13927     H245_DataMode_application m_application;
    13928     PASN_Integer m_bitRate;
    13929
    13930     PINDEX GetDataLength() const;
    13931     PBoolean Decode(PASN_Stream & strm);
    13932     void Encode(PASN_Stream & strm) const;
    13933 #ifndef PASN_NOPRINTON
    13934     void PrintOn(ostream & strm) const;
    13935 #endif
    13936     Comparison Compare(const PObject & obj) const;
    13937     PObject * Clone() const;
    13938 };
    13939
    13940
    13941 //
    13942 // MaintenanceLoopRequest
    13943 //
    13944
    13945 class H245_MaintenanceLoopRequest : public PASN_Sequence
    13946 {
    13947 #ifndef PASN_LEANANDMEAN
    13948     PCLASSINFO(H245_MaintenanceLoopRequest, PASN_Sequence);
    13949 #endif
    13950   public:
    13951     H245_MaintenanceLoopRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13952
    13953     H245_MaintenanceLoopRequest_type m_type;
    13954
    13955     PINDEX GetDataLength() const;
    13956     PBoolean Decode(PASN_Stream & strm);
    13957     void Encode(PASN_Stream & strm) const;
    13958 #ifndef PASN_NOPRINTON
    13959     void PrintOn(ostream & strm) const;
    13960 #endif
    13961     Comparison Compare(const PObject & obj) const;
    13962     PObject * Clone() const;
    13963 };
    13964
    13965
    13966 //
    13967 // MaintenanceLoopAck
    13968 //
    13969
    13970 class H245_MaintenanceLoopAck : public PASN_Sequence
    13971 {
    13972 #ifndef PASN_LEANANDMEAN
    13973     PCLASSINFO(H245_MaintenanceLoopAck, PASN_Sequence);
    13974 #endif
    13975   public:
    13976     H245_MaintenanceLoopAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    13977
    13978     H245_MaintenanceLoopAck_type m_type;
    13979
    13980     PINDEX GetDataLength() const;
    13981     PBoolean Decode(PASN_Stream & strm);
    13982     void Encode(PASN_Stream & strm) const;
    13983 #ifndef PASN_NOPRINTON
    13984     void PrintOn(ostream & strm) const;
    13985 #endif
    13986     Comparison Compare(const PObject & obj) const;
    13987     PObject * Clone() const;
    13988 };
    13989
    13990
    13991 //
    13992 // MaintenanceLoopReject
    13993 //
    13994
    13995 class H245_MaintenanceLoopReject : public PASN_Sequence
    13996 {
    13997 #ifndef PASN_LEANANDMEAN
    13998     PCLASSINFO(H245_MaintenanceLoopReject, PASN_Sequence);
    13999 #endif
    14000   public:
    14001     H245_MaintenanceLoopReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14002
    14003     H245_MaintenanceLoopReject_type m_type;
    14004     H245_MaintenanceLoopReject_cause m_cause;
    14005
    14006     PINDEX GetDataLength() const;
    14007     PBoolean Decode(PASN_Stream & strm);
    14008     void Encode(PASN_Stream & strm) const;
    14009 #ifndef PASN_NOPRINTON
    14010     void PrintOn(ostream & strm) const;
    14011 #endif
    14012     Comparison Compare(const PObject & obj) const;
    14013     PObject * Clone() const;
    14014 };
    14015
    14016
    14017 //
    14018 // CommunicationModeCommand
    14019 //
    14020
    14021 class H245_CommunicationModeCommand : public PASN_Sequence
    14022 {
    14023 #ifndef PASN_LEANANDMEAN
    14024     PCLASSINFO(H245_CommunicationModeCommand, PASN_Sequence);
    14025 #endif
    14026   public:
    14027     H245_CommunicationModeCommand(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14028
    14029     H245_ArrayOf_CommunicationModeTableEntry m_communicationModeTable;
    14030
    14031     PINDEX GetDataLength() const;
    14032     PBoolean Decode(PASN_Stream & strm);
    14033     void Encode(PASN_Stream & strm) const;
    14034 #ifndef PASN_NOPRINTON
    14035     void PrintOn(ostream & strm) const;
    14036 #endif
    14037     Comparison Compare(const PObject & obj) const;
    14038     PObject * Clone() const;
    14039 };
    14040
    14041
    14042 //
    14043 // TerminalLabel
    14044 //
    14045
    14046 class H245_TerminalLabel : public PASN_Sequence
    14047 {
    14048 #ifndef PASN_LEANANDMEAN
    14049     PCLASSINFO(H245_TerminalLabel, PASN_Sequence);
    14050 #endif
    14051   public:
    14052     H245_TerminalLabel(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14053
    14054     H245_McuNumber m_mcuNumber;
    14055     H245_TerminalNumber m_terminalNumber;
    14056
    14057     PINDEX GetDataLength() const;
    14058     PBoolean Decode(PASN_Stream & strm);
    14059     void Encode(PASN_Stream & strm) const;
    14060 #ifndef PASN_NOPRINTON
    14061     void PrintOn(ostream & strm) const;
    14062 #endif
    14063     Comparison Compare(const PObject & obj) const;
    14064     PObject * Clone() const;
    14065 };
    14066
    14067
    14068 //
    14069 // RequestAllTerminalIDsResponse
    14070 //
    14071
    14072 class H245_RequestAllTerminalIDsResponse : public PASN_Sequence
    14073 {
    14074 #ifndef PASN_LEANANDMEAN
    14075     PCLASSINFO(H245_RequestAllTerminalIDsResponse, PASN_Sequence);
    14076 #endif
    14077   public:
    14078     H245_RequestAllTerminalIDsResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14079
    14080     H245_ArrayOf_TerminalInformation m_terminalInformation;
    14081
    14082     PINDEX GetDataLength() const;
    14083     PBoolean Decode(PASN_Stream & strm);
    14084     void Encode(PASN_Stream & strm) const;
    14085 #ifndef PASN_NOPRINTON
    14086     void PrintOn(ostream & strm) const;
    14087 #endif
    14088     Comparison Compare(const PObject & obj) const;
    14089     PObject * Clone() const;
    14090 };
    14091
    14092
    14093 //
    14094 // TerminalInformation
    14095 //
    14096
    14097 class H245_TerminalInformation : public PASN_Sequence
    14098 {
    14099 #ifndef PASN_LEANANDMEAN
    14100     PCLASSINFO(H245_TerminalInformation, PASN_Sequence);
    14101 #endif
    14102   public:
    14103     H245_TerminalInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14104
    14105     H245_TerminalLabel m_terminalLabel;
    14106     H245_TerminalID m_terminalID;
    14107
    14108     PINDEX GetDataLength() const;
    14109     PBoolean Decode(PASN_Stream & strm);
    14110     void Encode(PASN_Stream & strm) const;
    14111 #ifndef PASN_NOPRINTON
    14112     void PrintOn(ostream & strm) const;
    14113 #endif
    14114     Comparison Compare(const PObject & obj) const;
    14115     PObject * Clone() const;
    14116 };
    14117
    14118
    14119 //
    14120 // DialingInformationNumber
    14121 //
    14122
    14123 class H245_DialingInformationNumber : public PASN_Sequence
    14124 {
    14125 #ifndef PASN_LEANANDMEAN
    14126     PCLASSINFO(H245_DialingInformationNumber, PASN_Sequence);
    14127 #endif
    14128   public:
    14129     H245_DialingInformationNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14130
    14131     enum OptionalFields {
    14132       e_subAddress
    14133     };
    14134
    14135     PASN_NumericString m_networkAddress;
    14136     PASN_IA5String m_subAddress;
    14137     H245_ArrayOf_DialingInformationNetworkType m_networkType;
    14138
    14139     PINDEX GetDataLength() const;
    14140     PBoolean Decode(PASN_Stream & strm);
    14141     void Encode(PASN_Stream & strm) const;
    14142 #ifndef PASN_NOPRINTON
    14143     void PrintOn(ostream & strm) const;
    14144 #endif
    14145     Comparison Compare(const PObject & obj) const;
    14146     PObject * Clone() const;
    14147 };
    14148
    14149
    14150 //
    14151 // LogicalChannelRateReject
    14152 //
    14153
    14154 class H245_LogicalChannelRateReject : public PASN_Sequence
    14155 {
    14156 #ifndef PASN_LEANANDMEAN
    14157     PCLASSINFO(H245_LogicalChannelRateReject, PASN_Sequence);
    14158 #endif
    14159   public:
    14160     H245_LogicalChannelRateReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14161
    14162     enum OptionalFields {
    14163       e_currentMaximumBitRate
    14164     };
    14165
    14166     H245_SequenceNumber m_sequenceNumber;
    14167     H245_LogicalChannelNumber m_logicalChannelNumber;
    14168     H245_LogicalChannelRateRejectReason m_rejectReason;
    14169     H245_MaximumBitRate m_currentMaximumBitRate;
    14170
    14171     PINDEX GetDataLength() const;
    14172     PBoolean Decode(PASN_Stream & strm);
    14173     void Encode(PASN_Stream & strm) const;
    14174 #ifndef PASN_NOPRINTON
    14175     void PrintOn(ostream & strm) const;
    14176 #endif
    14177     Comparison Compare(const PObject & obj) const;
    14178     PObject * Clone() const;
    14179 };
    14180
    14181
    14182 //
    14183 // FlowControlCommand
    14184 //
    14185
    14186 class H245_FlowControlCommand : public PASN_Sequence
    14187 {
    14188 #ifndef PASN_LEANANDMEAN
    14189     PCLASSINFO(H245_FlowControlCommand, PASN_Sequence);
    14190 #endif
    14191   public:
    14192     H245_FlowControlCommand(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14193
    14194     H245_FlowControlCommand_scope m_scope;
    14195     H245_FlowControlCommand_restriction m_restriction;
    14196
    14197     PINDEX GetDataLength() const;
    14198     PBoolean Decode(PASN_Stream & strm);
    14199     void Encode(PASN_Stream & strm) const;
    14200 #ifndef PASN_NOPRINTON
    14201     void PrintOn(ostream & strm) const;
    14202 #endif
    14203     Comparison Compare(const PObject & obj) const;
    14204     PObject * Clone() const;
    14205 };
    14206
    14207
    14208 //
    14209 // MiscellaneousCommand
    14210 //
    14211
    14212 class H245_MiscellaneousCommand : public PASN_Sequence
    14213 {
    14214 #ifndef PASN_LEANANDMEAN
    14215     PCLASSINFO(H245_MiscellaneousCommand, PASN_Sequence);
    14216 #endif
    14217   public:
    14218     H245_MiscellaneousCommand(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14219
    14220     enum OptionalFields {
    14221       e_direction
    14222     };
    14223
    14224     H245_LogicalChannelNumber m_logicalChannelNumber;
    14225     H245_MiscellaneousCommand_type m_type;
    14226     H245_EncryptionUpdateDirection m_direction;
    14227
    14228     PINDEX GetDataLength() const;
    14229     PBoolean Decode(PASN_Stream & strm);
    14230     void Encode(PASN_Stream & strm) const;
    14231 #ifndef PASN_NOPRINTON
    14232     void PrintOn(ostream & strm) const;
    14233 #endif
    14234     Comparison Compare(const PObject & obj) const;
    14235     PObject * Clone() const;
    14236 };
    14237
    14238
    14239 //
    14240 // MobileMultilinkReconfigurationCommand
    14241 //
    14242
    14243 class H245_MobileMultilinkReconfigurationCommand : public PASN_Sequence
    14244 {
    14245 #ifndef PASN_LEANANDMEAN
    14246     PCLASSINFO(H245_MobileMultilinkReconfigurationCommand, PASN_Sequence);
    14247 #endif
    14248   public:
    14249     H245_MobileMultilinkReconfigurationCommand(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14250
    14251     PASN_Integer m_sampleSize;
    14252     PASN_Integer m_samplesPerFrame;
    14253     H245_MobileMultilinkReconfigurationCommand_status m_status;
    14254
    14255     PINDEX GetDataLength() const;
    14256     PBoolean Decode(PASN_Stream & strm);
    14257     void Encode(PASN_Stream & strm) const;
    14258 #ifndef PASN_NOPRINTON
    14259     void PrintOn(ostream & strm) const;
    14260 #endif
    14261     Comparison Compare(const PObject & obj) const;
    14262     PObject * Clone() const;
    14263 };
    14264
    14265
    14266 //
    14267 // FunctionNotSupported
    14268 //
    14269
    14270 class H245_FunctionNotSupported : public PASN_Sequence
    14271 {
    14272 #ifndef PASN_LEANANDMEAN
    14273     PCLASSINFO(H245_FunctionNotSupported, PASN_Sequence);
    14274 #endif
    14275   public:
    14276     H245_FunctionNotSupported(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14277
    14278     enum OptionalFields {
    14279       e_returnedFunction
    14280     };
    14281
    14282     H245_FunctionNotSupported_cause m_cause;
    14283     PASN_OctetString m_returnedFunction;
    14284
    14285     PINDEX GetDataLength() const;
    14286     PBoolean Decode(PASN_Stream & strm);
    14287     void Encode(PASN_Stream & strm) const;
    14288 #ifndef PASN_NOPRINTON
    14289     void PrintOn(ostream & strm) const;
    14290 #endif
    14291     Comparison Compare(const PObject & obj) const;
    14292     PObject * Clone() const;
    14293 };
    14294
    14295
    14296 //
    14297 // MiscellaneousIndication
    14298 //
    14299
    14300 class H245_MiscellaneousIndication : public PASN_Sequence
    14301 {
    14302 #ifndef PASN_LEANANDMEAN
    14303     PCLASSINFO(H245_MiscellaneousIndication, PASN_Sequence);
    14304 #endif
    14305   public:
    14306     H245_MiscellaneousIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14307
    14308     H245_LogicalChannelNumber m_logicalChannelNumber;
    14309     H245_MiscellaneousIndication_type m_type;
    14310
    14311     PINDEX GetDataLength() const;
    14312     PBoolean Decode(PASN_Stream & strm);
    14313     void Encode(PASN_Stream & strm) const;
    14314 #ifndef PASN_NOPRINTON
    14315     void PrintOn(ostream & strm) const;
    14316 #endif
    14317     Comparison Compare(const PObject & obj) const;
    14318     PObject * Clone() const;
    14319 };
    14320
    14321
    14322 //
    14323 // JitterIndication
    14324 //
    14325
    14326 class H245_JitterIndication : public PASN_Sequence
    14327 {
    14328 #ifndef PASN_LEANANDMEAN
    14329     PCLASSINFO(H245_JitterIndication, PASN_Sequence);
    14330 #endif
    14331   public:
    14332     H245_JitterIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14333
    14334     enum OptionalFields {
    14335       e_skippedFrameCount,
    14336       e_additionalDecoderBuffer
    14337     };
    14338
    14339     H245_JitterIndication_scope m_scope;
    14340     PASN_Integer m_estimatedReceivedJitterMantissa;
    14341     PASN_Integer m_estimatedReceivedJitterExponent;
    14342     PASN_Integer m_skippedFrameCount;
    14343     PASN_Integer m_additionalDecoderBuffer;
    14344
    14345     PINDEX GetDataLength() const;
    14346     PBoolean Decode(PASN_Stream & strm);
    14347     void Encode(PASN_Stream & strm) const;
    14348 #ifndef PASN_NOPRINTON
    14349     void PrintOn(ostream & strm) const;
    14350 #endif
    14351     Comparison Compare(const PObject & obj) const;
    14352     PObject * Clone() const;
    14353 };
    14354
    14355
    14356 //
    14357 // FlowControlIndication
    14358 //
    14359
    14360 class H245_FlowControlIndication : public PASN_Sequence
    14361 {
    14362 #ifndef PASN_LEANANDMEAN
    14363     PCLASSINFO(H245_FlowControlIndication, PASN_Sequence);
    14364 #endif
    14365   public:
    14366     H245_FlowControlIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14367
    14368     H245_FlowControlIndication_scope m_scope;
    14369     H245_FlowControlIndication_restriction m_restriction;
    14370
    14371     PINDEX GetDataLength() const;
    14372     PBoolean Decode(PASN_Stream & strm);
    14373     void Encode(PASN_Stream & strm) const;
    14374 #ifndef PASN_NOPRINTON
    14375     void PrintOn(ostream & strm) const;
    14376 #endif
    14377     Comparison Compare(const PObject & obj) const;
    14378     PObject * Clone() const;
    14379 };
    14380
    14381
    14382 //
    14383 // VCCapability_availableBitRates
    14384 //
    14385
    14386 class H245_VCCapability_availableBitRates : public PASN_Sequence
    14387 {
    14388 #ifndef PASN_LEANANDMEAN
    14389     PCLASSINFO(H245_VCCapability_availableBitRates, PASN_Sequence);
    14390 #endif
    14391   public:
    14392     H245_VCCapability_availableBitRates(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14393
    14394     H245_VCCapability_availableBitRates_type m_type;
    14395
    14396     PINDEX GetDataLength() const;
    14397     PBoolean Decode(PASN_Stream & strm);
    14398     void Encode(PASN_Stream & strm) const;
    14399 #ifndef PASN_NOPRINTON
    14400     void PrintOn(ostream & strm) const;
    14401 #endif
    14402     Comparison Compare(const PObject & obj) const;
    14403     PObject * Clone() const;
    14404 };
    14405
    14406
    14407 //
    14408 // VCCapability_aal1ViaGateway
    14409 //
    14410
    14411 class H245_VCCapability_aal1ViaGateway : public PASN_Sequence
    14412 {
    14413 #ifndef PASN_LEANANDMEAN
    14414     PCLASSINFO(H245_VCCapability_aal1ViaGateway, PASN_Sequence);
    14415 #endif
    14416   public:
    14417     H245_VCCapability_aal1ViaGateway(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14418
    14419     H245_ArrayOf_Q2931Address m_gatewayAddress;
    14420     PASN_Boolean m_nullClockRecovery;
    14421     PASN_Boolean m_srtsClockRecovery;
    14422     PASN_Boolean m_adaptiveClockRecovery;
    14423     PASN_Boolean m_nullErrorCorrection;
    14424     PASN_Boolean m_longInterleaver;
    14425     PASN_Boolean m_shortInterleaver;
    14426     PASN_Boolean m_errorCorrectionOnly;
    14427     PASN_Boolean m_structuredDataTransfer;
    14428     PASN_Boolean m_partiallyFilledCells;
    14429
    14430     PINDEX GetDataLength() const;
    14431     PBoolean Decode(PASN_Stream & strm);
    14432     void Encode(PASN_Stream & strm) const;
    14433 #ifndef PASN_NOPRINTON
    14434     void PrintOn(ostream & strm) const;
    14435 #endif
    14436     Comparison Compare(const PObject & obj) const;
    14437     PObject * Clone() const;
    14438 };
    14439
    14440
    14441 //
    14442 // RefPictureSelection_enhancedReferencePicSelect
    14443 //
    14444
    14445 class H245_RefPictureSelection_enhancedReferencePicSelect : public PASN_Sequence
    14446 {
    14447 #ifndef PASN_LEANANDMEAN
    14448     PCLASSINFO(H245_RefPictureSelection_enhancedReferencePicSelect, PASN_Sequence);
    14449 #endif
    14450   public:
    14451     H245_RefPictureSelection_enhancedReferencePicSelect(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14452
    14453     enum OptionalFields {
    14454       e_subPictureRemovalParameters
    14455     };
    14456
    14457     H245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters m_subPictureRemovalParameters;
    14458
    14459     PINDEX GetDataLength() const;
    14460     PBoolean Decode(PASN_Stream & strm);
    14461     void Encode(PASN_Stream & strm) const;
    14462 #ifndef PASN_NOPRINTON
    14463     void PrintOn(ostream & strm) const;
    14464 #endif
    14465     Comparison Compare(const PObject & obj) const;
    14466     PObject * Clone() const;
    14467 };
    14468
    14469
    14470 //
    14471 // CustomPictureFormat_mPI
    14472 //
    14473
    14474 class H245_CustomPictureFormat_mPI : public PASN_Sequence
    14475 {
    14476 #ifndef PASN_LEANANDMEAN
    14477     PCLASSINFO(H245_CustomPictureFormat_mPI, PASN_Sequence);
    14478 #endif
    14479   public:
    14480     H245_CustomPictureFormat_mPI(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14481
    14482     enum OptionalFields {
    14483       e_standardMPI,
    14484       e_customPCF
    14485     };
    14486
    14487     PASN_Integer m_standardMPI;
    14488     H245_CustomPictureFormat_mPI_customPCF m_customPCF;
    14489
    14490     PINDEX GetDataLength() const;
    14491     PBoolean Decode(PASN_Stream & strm);
    14492     void Encode(PASN_Stream & strm) const;
    14493 #ifndef PASN_NOPRINTON
    14494     void PrintOn(ostream & strm) const;
    14495 #endif
    14496     Comparison Compare(const PObject & obj) const;
    14497     PObject * Clone() const;
    14498 };
    14499
    14500
    14501 //
    14502 // DepFECCapability_rfc2733
    14503 //
    14504
    14505 class H245_DepFECCapability_rfc2733 : public PASN_Sequence
    14506 {
    14507 #ifndef PASN_LEANANDMEAN
    14508     PCLASSINFO(H245_DepFECCapability_rfc2733, PASN_Sequence);
    14509 #endif
    14510   public:
    14511     H245_DepFECCapability_rfc2733(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14512
    14513     PASN_Boolean m_redundancyEncoding;
    14514     H245_DepFECCapability_rfc2733_separateStream m_separateStream;
    14515
    14516     PINDEX GetDataLength() const;
    14517     PBoolean Decode(PASN_Stream & strm);
    14518     void Encode(PASN_Stream & strm) const;
    14519 #ifndef PASN_NOPRINTON
    14520     void PrintOn(ostream & strm) const;
    14521 #endif
    14522     Comparison Compare(const PObject & obj) const;
    14523     PObject * Clone() const;
    14524 };
    14525
    14526
    14527 //
    14528 // OpenLogicalChannel_forwardLogicalChannelParameters
    14529 //
    14530
    14531 class H245_OpenLogicalChannel_forwardLogicalChannelParameters : public PASN_Sequence
    14532 {
    14533 #ifndef PASN_LEANANDMEAN
    14534     PCLASSINFO(H245_OpenLogicalChannel_forwardLogicalChannelParameters, PASN_Sequence);
    14535 #endif
    14536   public:
    14537     H245_OpenLogicalChannel_forwardLogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14538
    14539     enum OptionalFields {
    14540       e_portNumber,
    14541       e_forwardLogicalChannelDependency,
    14542       e_replacementFor
    14543     };
    14544
    14545     PASN_Integer m_portNumber;
    14546     H245_DataType m_dataType;
    14547     H245_OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters m_multiplexParameters;
    14548     H245_LogicalChannelNumber m_forwardLogicalChannelDependency;
    14549     H245_LogicalChannelNumber m_replacementFor;
    14550
    14551     PINDEX GetDataLength() const;
    14552     PBoolean Decode(PASN_Stream & strm);
    14553     void Encode(PASN_Stream & strm) const;
    14554 #ifndef PASN_NOPRINTON
    14555     void PrintOn(ostream & strm) const;
    14556 #endif
    14557     Comparison Compare(const PObject & obj) const;
    14558     PObject * Clone() const;
    14559 };
    14560
    14561
    14562 //
    14563 // OpenLogicalChannel_reverseLogicalChannelParameters
    14564 //
    14565
    14566 class H245_OpenLogicalChannel_reverseLogicalChannelParameters : public PASN_Sequence
    14567 {
    14568 #ifndef PASN_LEANANDMEAN
    14569     PCLASSINFO(H245_OpenLogicalChannel_reverseLogicalChannelParameters, PASN_Sequence);
    14570 #endif
    14571   public:
    14572     H245_OpenLogicalChannel_reverseLogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14573
    14574     enum OptionalFields {
    14575       e_multiplexParameters,
    14576       e_reverseLogicalChannelDependency,
    14577       e_replacementFor
    14578     };
    14579
    14580     H245_DataType m_dataType;
    14581     H245_OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters m_multiplexParameters;
    14582     H245_LogicalChannelNumber m_reverseLogicalChannelDependency;
    14583     H245_LogicalChannelNumber m_replacementFor;
    14584
    14585     PINDEX GetDataLength() const;
    14586     PBoolean Decode(PASN_Stream & strm);
    14587     void Encode(PASN_Stream & strm) const;
    14588 #ifndef PASN_NOPRINTON
    14589     void PrintOn(ostream & strm) const;
    14590 #endif
    14591     Comparison Compare(const PObject & obj) const;
    14592     PObject * Clone() const;
    14593 };
    14594
    14595
    14596 //
    14597 // RedundancyEncoding_rtpRedundancyEncoding
    14598 //
    14599
    14600 class H245_RedundancyEncoding_rtpRedundancyEncoding : public PASN_Sequence
    14601 {
    14602 #ifndef PASN_LEANANDMEAN
    14603     PCLASSINFO(H245_RedundancyEncoding_rtpRedundancyEncoding, PASN_Sequence);
    14604 #endif
    14605   public:
    14606     H245_RedundancyEncoding_rtpRedundancyEncoding(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14607
    14608     enum OptionalFields {
    14609       e_primary,
    14610       e_secondary
    14611     };
    14612
    14613     H245_RedundancyEncodingElement m_primary;
    14614     H245_ArrayOf_RedundancyEncodingElement m_secondary;
    14615
    14616     PINDEX GetDataLength() const;
    14617     PBoolean Decode(PASN_Stream & strm);
    14618     void Encode(PASN_Stream & strm) const;
    14619 #ifndef PASN_NOPRINTON
    14620     void PrintOn(ostream & strm) const;
    14621 #endif
    14622     Comparison Compare(const PObject & obj) const;
    14623     PObject * Clone() const;
    14624 };
    14625
    14626
    14627 //
    14628 // DepFECData_rfc2733
    14629 //
    14630
    14631 class H245_DepFECData_rfc2733 : public PASN_Sequence
    14632 {
    14633 #ifndef PASN_LEANANDMEAN
    14634     PCLASSINFO(H245_DepFECData_rfc2733, PASN_Sequence);
    14635 #endif
    14636   public:
    14637     H245_DepFECData_rfc2733(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14638
    14639     H245_DepFECData_rfc2733_mode m_mode;
    14640
    14641     PINDEX GetDataLength() const;
    14642     PBoolean Decode(PASN_Stream & strm);
    14643     void Encode(PASN_Stream & strm) const;
    14644 #ifndef PASN_NOPRINTON
    14645     void PrintOn(ostream & strm) const;
    14646 #endif
    14647     Comparison Compare(const PObject & obj) const;
    14648     PObject * Clone() const;
    14649 };
    14650
    14651
    14652 //
    14653 // FECData_rfc2733
    14654 //
    14655
    14656 class H245_FECData_rfc2733 : public PASN_Sequence
    14657 {
    14658 #ifndef PASN_LEANANDMEAN
    14659     PCLASSINFO(H245_FECData_rfc2733, PASN_Sequence);
    14660 #endif
    14661   public:
    14662     H245_FECData_rfc2733(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14663
    14664     enum OptionalFields {
    14665       e_fecScheme
    14666     };
    14667
    14668     PASN_Integer m_protectedPayloadType;
    14669     PASN_ObjectId m_fecScheme;
    14670     H245_FECData_rfc2733_pktMode m_pktMode;
    14671
    14672     PINDEX GetDataLength() const;
    14673     PBoolean Decode(PASN_Stream & strm);
    14674     void Encode(PASN_Stream & strm) const;
    14675 #ifndef PASN_NOPRINTON
    14676     void PrintOn(ostream & strm) const;
    14677 #endif
    14678     Comparison Compare(const PObject & obj) const;
    14679     PObject * Clone() const;
    14680 };
    14681
    14682
    14683 //
    14684 // UnicastAddress_iPSourceRouteAddress
    14685 //
    14686
    14687 class H245_UnicastAddress_iPSourceRouteAddress : public PASN_Sequence
    14688 {
    14689 #ifndef PASN_LEANANDMEAN
    14690     PCLASSINFO(H245_UnicastAddress_iPSourceRouteAddress, PASN_Sequence);
    14691 #endif
    14692   public:
    14693     H245_UnicastAddress_iPSourceRouteAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14694
    14695     H245_UnicastAddress_iPSourceRouteAddress_routing m_routing;
    14696     PASN_OctetString m_network;
    14697     PASN_Integer m_tsapIdentifier;
    14698     H245_UnicastAddress_iPSourceRouteAddress_route m_route;
    14699
    14700     PINDEX GetDataLength() const;
    14701     PBoolean Decode(PASN_Stream & strm);
    14702     void Encode(PASN_Stream & strm) const;
    14703 #ifndef PASN_NOPRINTON
    14704     void PrintOn(ostream & strm) const;
    14705 #endif
    14706     Comparison Compare(const PObject & obj) const;
    14707     PObject * Clone() const;
    14708 };
    14709
    14710
    14711 //
    14712 // OpenLogicalChannelAck_reverseLogicalChannelParameters
    14713 //
    14714
    14715 class H245_OpenLogicalChannelAck_reverseLogicalChannelParameters : public PASN_Sequence
    14716 {
    14717 #ifndef PASN_LEANANDMEAN
    14718     PCLASSINFO(H245_OpenLogicalChannelAck_reverseLogicalChannelParameters, PASN_Sequence);
    14719 #endif
    14720   public:
    14721     H245_OpenLogicalChannelAck_reverseLogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14722
    14723     enum OptionalFields {
    14724       e_portNumber,
    14725       e_multiplexParameters,
    14726       e_replacementFor
    14727     };
    14728
    14729     H245_LogicalChannelNumber m_reverseLogicalChannelNumber;
    14730     PASN_Integer m_portNumber;
    14731     H245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters m_multiplexParameters;
    14732     H245_LogicalChannelNumber m_replacementFor;
    14733
    14734     PINDEX GetDataLength() const;
    14735     PBoolean Decode(PASN_Stream & strm);
    14736     void Encode(PASN_Stream & strm) const;
    14737 #ifndef PASN_NOPRINTON
    14738     void PrintOn(ostream & strm) const;
    14739 #endif
    14740     Comparison Compare(const PObject & obj) const;
    14741     PObject * Clone() const;
    14742 };
    14743
    14744
    14745 //
    14746 // DepFECMode_rfc2733Mode
    14747 //
    14748
    14749 class H245_DepFECMode_rfc2733Mode : public PASN_Sequence
    14750 {
    14751 #ifndef PASN_LEANANDMEAN
    14752     PCLASSINFO(H245_DepFECMode_rfc2733Mode, PASN_Sequence);
    14753 #endif
    14754   public:
    14755     H245_DepFECMode_rfc2733Mode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14756
    14757     H245_DepFECMode_rfc2733Mode_mode m_mode;
    14758
    14759     PINDEX GetDataLength() const;
    14760     PBoolean Decode(PASN_Stream & strm);
    14761     void Encode(PASN_Stream & strm) const;
    14762 #ifndef PASN_NOPRINTON
    14763     void PrintOn(ostream & strm) const;
    14764 #endif
    14765     Comparison Compare(const PObject & obj) const;
    14766     PObject * Clone() const;
    14767 };
    14768
    14769
    14770 //
    14771 // ConferenceRequest_requestTerminalCertificate
    14772 //
    14773
    14774 class H245_ConferenceRequest_requestTerminalCertificate : public PASN_Sequence
    14775 {
    14776 #ifndef PASN_LEANANDMEAN
    14777     PCLASSINFO(H245_ConferenceRequest_requestTerminalCertificate, PASN_Sequence);
    14778 #endif
    14779   public:
    14780     H245_ConferenceRequest_requestTerminalCertificate(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14781
    14782     enum OptionalFields {
    14783       e_terminalLabel,
    14784       e_certSelectionCriteria,
    14785       e_sRandom
    14786     };
    14787
    14788     H245_TerminalLabel m_terminalLabel;
    14789     H245_CertSelectionCriteria m_certSelectionCriteria;
    14790     PASN_Integer m_sRandom;
    14791
    14792     PINDEX GetDataLength() const;
    14793     PBoolean Decode(PASN_Stream & strm);
    14794     void Encode(PASN_Stream & strm) const;
    14795 #ifndef PASN_NOPRINTON
    14796     void PrintOn(ostream & strm) const;
    14797 #endif
    14798     Comparison Compare(const PObject & obj) const;
    14799     PObject * Clone() const;
    14800 };
    14801
    14802
    14803 //
    14804 // ConferenceResponse_mCTerminalIDResponse
    14805 //
    14806
    14807 class H245_ConferenceResponse_mCTerminalIDResponse : public PASN_Sequence
    14808 {
    14809 #ifndef PASN_LEANANDMEAN
    14810     PCLASSINFO(H245_ConferenceResponse_mCTerminalIDResponse, PASN_Sequence);
    14811 #endif
    14812   public:
    14813     H245_ConferenceResponse_mCTerminalIDResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14814
    14815     H245_TerminalLabel m_terminalLabel;
    14816     H245_TerminalID m_terminalID;
    14817
    14818     PINDEX GetDataLength() const;
    14819     PBoolean Decode(PASN_Stream & strm);
    14820     void Encode(PASN_Stream & strm) const;
    14821 #ifndef PASN_NOPRINTON
    14822     void PrintOn(ostream & strm) const;
    14823 #endif
    14824     Comparison Compare(const PObject & obj) const;
    14825     PObject * Clone() const;
    14826 };
    14827
    14828
    14829 //
    14830 // ConferenceResponse_terminalIDResponse
    14831 //
    14832
    14833 class H245_ConferenceResponse_terminalIDResponse : public PASN_Sequence
    14834 {
    14835 #ifndef PASN_LEANANDMEAN
    14836     PCLASSINFO(H245_ConferenceResponse_terminalIDResponse, PASN_Sequence);
    14837 #endif
    14838   public:
    14839     H245_ConferenceResponse_terminalIDResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14840
    14841     H245_TerminalLabel m_terminalLabel;
    14842     H245_TerminalID m_terminalID;
    14843
    14844     PINDEX GetDataLength() const;
    14845     PBoolean Decode(PASN_Stream & strm);
    14846     void Encode(PASN_Stream & strm) const;
    14847 #ifndef PASN_NOPRINTON
    14848     void PrintOn(ostream & strm) const;
    14849 #endif
    14850     Comparison Compare(const PObject & obj) const;
    14851     PObject * Clone() const;
    14852 };
    14853
    14854
    14855 //
    14856 // ConferenceResponse_conferenceIDResponse
    14857 //
    14858
    14859 class H245_ConferenceResponse_conferenceIDResponse : public PASN_Sequence
    14860 {
    14861 #ifndef PASN_LEANANDMEAN
    14862     PCLASSINFO(H245_ConferenceResponse_conferenceIDResponse, PASN_Sequence);
    14863 #endif
    14864   public:
    14865     H245_ConferenceResponse_conferenceIDResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14866
    14867     H245_TerminalLabel m_terminalLabel;
    14868     H245_ConferenceID m_conferenceID;
    14869
    14870     PINDEX GetDataLength() const;
    14871     PBoolean Decode(PASN_Stream & strm);
    14872     void Encode(PASN_Stream & strm) const;
    14873 #ifndef PASN_NOPRINTON
    14874     void PrintOn(ostream & strm) const;
    14875 #endif
    14876     Comparison Compare(const PObject & obj) const;
    14877     PObject * Clone() const;
    14878 };
    14879
    14880
    14881 //
    14882 // ConferenceResponse_passwordResponse
    14883 //
    14884
    14885 class H245_ConferenceResponse_passwordResponse : public PASN_Sequence
    14886 {
    14887 #ifndef PASN_LEANANDMEAN
    14888     PCLASSINFO(H245_ConferenceResponse_passwordResponse, PASN_Sequence);
    14889 #endif
    14890   public:
    14891     H245_ConferenceResponse_passwordResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14892
    14893     H245_TerminalLabel m_terminalLabel;
    14894     H245_Password m_password;
    14895
    14896     PINDEX GetDataLength() const;
    14897     PBoolean Decode(PASN_Stream & strm);
    14898     void Encode(PASN_Stream & strm) const;
    14899 #ifndef PASN_NOPRINTON
    14900     void PrintOn(ostream & strm) const;
    14901 #endif
    14902     Comparison Compare(const PObject & obj) const;
    14903     PObject * Clone() const;
    14904 };
    14905
    14906
    14907 //
    14908 // ConferenceResponse_chairTokenOwnerResponse
    14909 //
    14910
    14911 class H245_ConferenceResponse_chairTokenOwnerResponse : public PASN_Sequence
    14912 {
    14913 #ifndef PASN_LEANANDMEAN
    14914     PCLASSINFO(H245_ConferenceResponse_chairTokenOwnerResponse, PASN_Sequence);
    14915 #endif
    14916   public:
    14917     H245_ConferenceResponse_chairTokenOwnerResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14918
    14919     H245_TerminalLabel m_terminalLabel;
    14920     H245_TerminalID m_terminalID;
    14921
    14922     PINDEX GetDataLength() const;
    14923     PBoolean Decode(PASN_Stream & strm);
    14924     void Encode(PASN_Stream & strm) const;
    14925 #ifndef PASN_NOPRINTON
    14926     void PrintOn(ostream & strm) const;
    14927 #endif
    14928     Comparison Compare(const PObject & obj) const;
    14929     PObject * Clone() const;
    14930 };
    14931
    14932
    14933 //
    14934 // ConferenceResponse_terminalCertificateResponse
    14935 //
    14936
    14937 class H245_ConferenceResponse_terminalCertificateResponse : public PASN_Sequence
    14938 {
    14939 #ifndef PASN_LEANANDMEAN
    14940     PCLASSINFO(H245_ConferenceResponse_terminalCertificateResponse, PASN_Sequence);
    14941 #endif
    14942   public:
    14943     H245_ConferenceResponse_terminalCertificateResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14944
    14945     enum OptionalFields {
    14946       e_terminalLabel,
    14947       e_certificateResponse
    14948     };
    14949
    14950     H245_TerminalLabel m_terminalLabel;
    14951     PASN_OctetString m_certificateResponse;
    14952
    14953     PINDEX GetDataLength() const;
    14954     PBoolean Decode(PASN_Stream & strm);
    14955     void Encode(PASN_Stream & strm) const;
    14956 #ifndef PASN_NOPRINTON
    14957     void PrintOn(ostream & strm) const;
    14958 #endif
    14959     Comparison Compare(const PObject & obj) const;
    14960     PObject * Clone() const;
    14961 };
    14962
    14963
    14964 //
    14965 // MultilinkRequest_maximumHeaderInterval
    14966 //
    14967
    14968 class H245_MultilinkRequest_maximumHeaderInterval : public PASN_Sequence
    14969 {
    14970 #ifndef PASN_LEANANDMEAN
    14971     PCLASSINFO(H245_MultilinkRequest_maximumHeaderInterval, PASN_Sequence);
    14972 #endif
    14973   public:
    14974     H245_MultilinkRequest_maximumHeaderInterval(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    14975
    14976     H245_MultilinkRequest_maximumHeaderInterval_requestType m_requestType;
    14977
    14978     PINDEX GetDataLength() const;
    14979     PBoolean Decode(PASN_Stream & strm);
    14980     void Encode(PASN_Stream & strm) const;
    14981 #ifndef PASN_NOPRINTON
    14982     void PrintOn(ostream & strm) const;
    14983 #endif
    14984     Comparison Compare(const PObject & obj) const;
    14985     PObject * Clone() const;
    14986 };
    14987
    14988
    14989 //
    14990 // MultilinkResponse_addConnection
    14991 //
    14992
    14993 class H245_MultilinkResponse_addConnection : public PASN_Sequence
    14994 {
    14995 #ifndef PASN_LEANANDMEAN
    14996     PCLASSINFO(H245_MultilinkResponse_addConnection, PASN_Sequence);
    14997 #endif
    14998   public:
    14999     H245_MultilinkResponse_addConnection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15000
    15001     H245_SequenceNumber m_sequenceNumber;
    15002     H245_MultilinkResponse_addConnection_responseCode m_responseCode;
    15003
    15004     PINDEX GetDataLength() const;
    15005     PBoolean Decode(PASN_Stream & strm);
    15006     void Encode(PASN_Stream & strm) const;
    15007 #ifndef PASN_NOPRINTON
    15008     void PrintOn(ostream & strm) const;
    15009 #endif
    15010     Comparison Compare(const PObject & obj) const;
    15011     PObject * Clone() const;
    15012 };
    15013
    15014
    15015 //
    15016 // SendTerminalCapabilitySet_specificRequest
    15017 //
    15018
    15019 class H245_SendTerminalCapabilitySet_specificRequest : public PASN_Sequence
    15020 {
    15021 #ifndef PASN_LEANANDMEAN
    15022     PCLASSINFO(H245_SendTerminalCapabilitySet_specificRequest, PASN_Sequence);
    15023 #endif
    15024   public:
    15025     H245_SendTerminalCapabilitySet_specificRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15026
    15027     enum OptionalFields {
    15028       e_capabilityTableEntryNumbers,
    15029       e_capabilityDescriptorNumbers
    15030     };
    15031
    15032     PASN_Boolean m_multiplexCapability;
    15033     H245_ArrayOf_CapabilityTableEntryNumber m_capabilityTableEntryNumbers;
    15034     H245_ArrayOf_CapabilityDescriptorNumber m_capabilityDescriptorNumbers;
    15035
    15036     PINDEX GetDataLength() const;
    15037     PBoolean Decode(PASN_Stream & strm);
    15038     void Encode(PASN_Stream & strm) const;
    15039 #ifndef PASN_NOPRINTON
    15040     void PrintOn(ostream & strm) const;
    15041 #endif
    15042     Comparison Compare(const PObject & obj) const;
    15043     PObject * Clone() const;
    15044 };
    15045
    15046
    15047 //
    15048 // EncryptionCommand_encryptionAlgorithmID
    15049 //
    15050
    15051 class H245_EncryptionCommand_encryptionAlgorithmID : public PASN_Sequence
    15052 {
    15053 #ifndef PASN_LEANANDMEAN
    15054     PCLASSINFO(H245_EncryptionCommand_encryptionAlgorithmID, PASN_Sequence);
    15055 #endif
    15056   public:
    15057     H245_EncryptionCommand_encryptionAlgorithmID(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15058
    15059     H245_SequenceNumber m_h233AlgorithmIdentifier;
    15060     H245_NonStandardParameter m_associatedAlgorithm;
    15061
    15062     PINDEX GetDataLength() const;
    15063     PBoolean Decode(PASN_Stream & strm);
    15064     void Encode(PASN_Stream & strm) const;
    15065 #ifndef PASN_NOPRINTON
    15066     void PrintOn(ostream & strm) const;
    15067 #endif
    15068     Comparison Compare(const PObject & obj) const;
    15069     PObject * Clone() const;
    15070 };
    15071
    15072
    15073 //
    15074 // NewATMVCCommand_reverseParameters
    15075 //
    15076
    15077 class H245_NewATMVCCommand_reverseParameters : public PASN_Sequence
    15078 {
    15079 #ifndef PASN_LEANANDMEAN
    15080     PCLASSINFO(H245_NewATMVCCommand_reverseParameters, PASN_Sequence);
    15081 #endif
    15082   public:
    15083     H245_NewATMVCCommand_reverseParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15084
    15085     PASN_Integer m_bitRate;
    15086     PASN_Boolean m_bitRateLockedToPCRClock;
    15087     PASN_Boolean m_bitRateLockedToNetworkClock;
    15088     H245_NewATMVCCommand_reverseParameters_multiplex m_multiplex;
    15089
    15090     PINDEX GetDataLength() const;
    15091     PBoolean Decode(PASN_Stream & strm);
    15092     void Encode(PASN_Stream & strm) const;
    15093 #ifndef PASN_NOPRINTON
    15094     void PrintOn(ostream & strm) const;
    15095 #endif
    15096     Comparison Compare(const PObject & obj) const;
    15097     PObject * Clone() const;
    15098 };
    15099
    15100
    15101 //
    15102 // NewATMVCIndication_reverseParameters
    15103 //
    15104
    15105 class H245_NewATMVCIndication_reverseParameters : public PASN_Sequence
    15106 {
    15107 #ifndef PASN_LEANANDMEAN
    15108     PCLASSINFO(H245_NewATMVCIndication_reverseParameters, PASN_Sequence);
    15109 #endif
    15110   public:
    15111     H245_NewATMVCIndication_reverseParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15112
    15113     PASN_Integer m_bitRate;
    15114     PASN_Boolean m_bitRateLockedToPCRClock;
    15115     PASN_Boolean m_bitRateLockedToNetworkClock;
    15116     H245_NewATMVCIndication_reverseParameters_multiplex m_multiplex;
    15117
    15118     PINDEX GetDataLength() const;
    15119     PBoolean Decode(PASN_Stream & strm);
    15120     void Encode(PASN_Stream & strm) const;
    15121 #ifndef PASN_NOPRINTON
    15122     void PrintOn(ostream & strm) const;
    15123 #endif
    15124     Comparison Compare(const PObject & obj) const;
    15125     PObject * Clone() const;
    15126 };
    15127
    15128
    15129 //
    15130 // UserInputIndication_signal
    15131 //
    15132
    15133 class H245_UserInputIndication_signal : public PASN_Sequence
    15134 {
    15135 #ifndef PASN_LEANANDMEAN
    15136     PCLASSINFO(H245_UserInputIndication_signal, PASN_Sequence);
    15137 #endif
    15138   public:
    15139     H245_UserInputIndication_signal(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15140
    15141     enum OptionalFields {
    15142       e_duration,
    15143       e_rtp,
    15144       e_rtpPayloadIndication,
    15145       e_paramS,
    15146       e_encryptedSignalType,
    15147       e_algorithmOID
    15148     };
    15149
    15150     PASN_IA5String m_signalType;
    15151     PASN_Integer m_duration;
    15152     H245_UserInputIndication_signal_rtp m_rtp;
    15153     PASN_Null m_rtpPayloadIndication;
    15154     H245_Params m_paramS;
    15155     PASN_OctetString m_encryptedSignalType;
    15156     PASN_ObjectId m_algorithmOID;
    15157
    15158     PINDEX GetDataLength() const;
    15159     PBoolean Decode(PASN_Stream & strm);
    15160     void Encode(PASN_Stream & strm) const;
    15161 #ifndef PASN_NOPRINTON
    15162     void PrintOn(ostream & strm) const;
    15163 #endif
    15164     Comparison Compare(const PObject & obj) const;
    15165     PObject * Clone() const;
    15166 };
    15167
    15168
    15169 //
    15170 // UserInputIndication_signalUpdate
    15171 //
    15172
    15173 class H245_UserInputIndication_signalUpdate : public PASN_Sequence
    15174 {
    15175 #ifndef PASN_LEANANDMEAN
    15176     PCLASSINFO(H245_UserInputIndication_signalUpdate, PASN_Sequence);
    15177 #endif
    15178   public:
    15179     H245_UserInputIndication_signalUpdate(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15180
    15181     enum OptionalFields {
    15182       e_rtp
    15183     };
    15184
    15185     PASN_Integer m_duration;
    15186     H245_UserInputIndication_signalUpdate_rtp m_rtp;
    15187
    15188     PINDEX GetDataLength() const;
    15189     PBoolean Decode(PASN_Stream & strm);
    15190     void Encode(PASN_Stream & strm) const;
    15191 #ifndef PASN_NOPRINTON
    15192     void PrintOn(ostream & strm) const;
    15193 #endif
    15194     Comparison Compare(const PObject & obj) const;
    15195     PObject * Clone() const;
    15196 };
    15197
    15198
    15199 //
    15200 // UserInputIndication_extendedAlphanumeric
    15201 //
    15202
    15203 class H245_UserInputIndication_extendedAlphanumeric : public PASN_Sequence
    15204 {
    15205 #ifndef PASN_LEANANDMEAN
    15206     PCLASSINFO(H245_UserInputIndication_extendedAlphanumeric, PASN_Sequence);
    15207 #endif
    15208   public:
    15209     H245_UserInputIndication_extendedAlphanumeric(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15210
    15211     enum OptionalFields {
    15212       e_rtpPayloadIndication,
    15213       e_encryptedAlphanumeric
    15214     };
    15215
    15216     PASN_GeneralString m_alphanumeric;
    15217     PASN_Null m_rtpPayloadIndication;
    15218     H245_UserInputIndication_extendedAlphanumeric_encryptedAlphanumeric m_encryptedAlphanumeric;
    15219
    15220     PINDEX GetDataLength() const;
    15221     PBoolean Decode(PASN_Stream & strm);
    15222     void Encode(PASN_Stream & strm) const;
    15223 #ifndef PASN_NOPRINTON
    15224     void PrintOn(ostream & strm) const;
    15225 #endif
    15226     Comparison Compare(const PObject & obj) const;
    15227     PObject * Clone() const;
    15228 };
    15229
    15230
    15231 //
    15232 // V76LogicalChannelParameters_mode_eRM
    15233 //
    15234
    15235 class H245_V76LogicalChannelParameters_mode_eRM : public PASN_Sequence
    15236 {
    15237 #ifndef PASN_LEANANDMEAN
    15238     PCLASSINFO(H245_V76LogicalChannelParameters_mode_eRM, PASN_Sequence);
    15239 #endif
    15240   public:
    15241     H245_V76LogicalChannelParameters_mode_eRM(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15242
    15243     PASN_Integer m_windowSize;
    15244     H245_V76LogicalChannelParameters_mode_eRM_recovery m_recovery;
    15245
    15246     PINDEX GetDataLength() const;
    15247     PBoolean Decode(PASN_Stream & strm);
    15248     void Encode(PASN_Stream & strm) const;
    15249 #ifndef PASN_NOPRINTON
    15250     void PrintOn(ostream & strm) const;
    15251 #endif
    15252     Comparison Compare(const PObject & obj) const;
    15253     PObject * Clone() const;
    15254 };
    15255
    15256
    15257 //
    15258 // MiscellaneousCommand_type_progressiveRefinementStart
    15259 //
    15260
    15261 class H245_MiscellaneousCommand_type_progressiveRefinementStart : public PASN_Sequence
    15262 {
    15263 #ifndef PASN_LEANANDMEAN
    15264     PCLASSINFO(H245_MiscellaneousCommand_type_progressiveRefinementStart, PASN_Sequence);
    15265 #endif
    15266   public:
    15267     H245_MiscellaneousCommand_type_progressiveRefinementStart(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15268
    15269     H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount m_repeatCount;
    15270
    15271     PINDEX GetDataLength() const;
    15272     PBoolean Decode(PASN_Stream & strm);
    15273     void Encode(PASN_Stream & strm) const;
    15274 #ifndef PASN_NOPRINTON
    15275     void PrintOn(ostream & strm) const;
    15276 #endif
    15277     Comparison Compare(const PObject & obj) const;
    15278     PObject * Clone() const;
    15279 };
    15280
    15281
    15282 //
    15283 // MiscellaneousCommand_type_encryptionUpdateCommand
    15284 //
    15285
    15286 class H245_MiscellaneousCommand_type_encryptionUpdateCommand : public PASN_Sequence
    15287 {
    15288 #ifndef PASN_LEANANDMEAN
    15289     PCLASSINFO(H245_MiscellaneousCommand_type_encryptionUpdateCommand, PASN_Sequence);
    15290 #endif
    15291   public:
    15292     H245_MiscellaneousCommand_type_encryptionUpdateCommand(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15293
    15294     enum OptionalFields {
    15295       e_multiplePayloadStream
    15296     };
    15297
    15298     H245_EncryptionSync m_encryptionSync;
    15299     H245_MultiplePayloadStream m_multiplePayloadStream;
    15300
    15301     PINDEX GetDataLength() const;
    15302     PBoolean Decode(PASN_Stream & strm);
    15303     void Encode(PASN_Stream & strm) const;
    15304 #ifndef PASN_NOPRINTON
    15305     void PrintOn(ostream & strm) const;
    15306 #endif
    15307     Comparison Compare(const PObject & obj) const;
    15308     PObject * Clone() const;
    15309 };
    15310
    15311
    15312 //
    15313 // NewATMVCCommand_aal_aal1
    15314 //
    15315
    15316 class H245_NewATMVCCommand_aal_aal1 : public PASN_Sequence
    15317 {
    15318 #ifndef PASN_LEANANDMEAN
    15319     PCLASSINFO(H245_NewATMVCCommand_aal_aal1, PASN_Sequence);
    15320 #endif
    15321   public:
    15322     H245_NewATMVCCommand_aal_aal1(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15323
    15324     H245_NewATMVCCommand_aal_aal1_clockRecovery m_clockRecovery;
    15325     H245_NewATMVCCommand_aal_aal1_errorCorrection m_errorCorrection;
    15326     PASN_Boolean m_structuredDataTransfer;
    15327     PASN_Boolean m_partiallyFilledCells;
    15328
    15329     PINDEX GetDataLength() const;
    15330     PBoolean Decode(PASN_Stream & strm);
    15331     void Encode(PASN_Stream & strm) const;
    15332 #ifndef PASN_NOPRINTON
    15333     void PrintOn(ostream & strm) const;
    15334 #endif
    15335     Comparison Compare(const PObject & obj) const;
    15336     PObject * Clone() const;
    15337 };
    15338
    15339
    15340 //
    15341 // NewATMVCIndication_aal_aal1
    15342 //
    15343
    15344 class H245_NewATMVCIndication_aal_aal1 : public PASN_Sequence
    15345 {
    15346 #ifndef PASN_LEANANDMEAN
    15347     PCLASSINFO(H245_NewATMVCIndication_aal_aal1, PASN_Sequence);
    15348 #endif
    15349   public:
    15350     H245_NewATMVCIndication_aal_aal1(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15351
    15352     H245_NewATMVCIndication_aal_aal1_clockRecovery m_clockRecovery;
    15353     H245_NewATMVCIndication_aal_aal1_errorCorrection m_errorCorrection;
    15354     PASN_Boolean m_structuredDataTransfer;
    15355     PASN_Boolean m_partiallyFilledCells;
    15356
    15357     PINDEX GetDataLength() const;
    15358     PBoolean Decode(PASN_Stream & strm);
    15359     void Encode(PASN_Stream & strm) const;
    15360 #ifndef PASN_NOPRINTON
    15361     void PrintOn(ostream & strm) const;
    15362 #endif
    15363     Comparison Compare(const PObject & obj) const;
    15364     PObject * Clone() const;
    15365 };
    15366
    15367
    15368 //
    15369 // NonStandardMessage
    15370 //
    15371
    15372 class H245_NonStandardMessage : public PASN_Sequence
    15373 {
    15374 #ifndef PASN_LEANANDMEAN
    15375     PCLASSINFO(H245_NonStandardMessage, PASN_Sequence);
    15376 #endif
    15377   public:
    15378     H245_NonStandardMessage(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15379
    15380     H245_NonStandardParameter m_nonStandardData;
    15381
    15382     PINDEX GetDataLength() const;
    15383     PBoolean Decode(PASN_Stream & strm);
    15384     void Encode(PASN_Stream & strm) const;
    15385 #ifndef PASN_NOPRINTON
    15386     void PrintOn(ostream & strm) const;
    15387 #endif
    15388     Comparison Compare(const PObject & obj) const;
    15389     PObject * Clone() const;
    15390 };
    15391
    15392
    15393 //
    15394 // VCCapability
    15395 //
    15396
    15397 class H245_VCCapability : public PASN_Sequence
    15398 {
    15399 #ifndef PASN_LEANANDMEAN
    15400     PCLASSINFO(H245_VCCapability, PASN_Sequence);
    15401 #endif
    15402   public:
    15403     H245_VCCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15404
    15405     enum OptionalFields {
    15406       e_aal1,
    15407       e_aal5,
    15408       e_aal1ViaGateway
    15409     };
    15410
    15411     H245_VCCapability_aal1 m_aal1;
    15412     H245_VCCapability_aal5 m_aal5;
    15413     PASN_Boolean m_transportStream;
    15414     PASN_Boolean m_programStream;
    15415     H245_VCCapability_availableBitRates m_availableBitRates;
    15416     H245_VCCapability_aal1ViaGateway m_aal1ViaGateway;
    15417
    15418     PINDEX GetDataLength() const;
    15419     PBoolean Decode(PASN_Stream & strm);
    15420     void Encode(PASN_Stream & strm) const;
    15421 #ifndef PASN_NOPRINTON
    15422     void PrintOn(ostream & strm) const;
    15423 #endif
    15424     Comparison Compare(const PObject & obj) const;
    15425     PObject * Clone() const;
    15426 };
    15427
    15428
    15429 //
    15430 // H2250Capability
    15431 //
    15432
    15433 class H245_H2250Capability : public PASN_Sequence
    15434 {
    15435 #ifndef PASN_LEANANDMEAN
    15436     PCLASSINFO(H245_H2250Capability, PASN_Sequence);
    15437 #endif
    15438   public:
    15439     H245_H2250Capability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15440
    15441     enum OptionalFields {
    15442       e_transportCapability,
    15443       e_redundancyEncodingCapability,
    15444       e_logicalChannelSwitchingCapability,
    15445       e_t120DynamicPortCapability
    15446     };
    15447
    15448     PASN_Integer m_maximumAudioDelayJitter;
    15449     H245_MultipointCapability m_receiveMultipointCapability;
    15450     H245_MultipointCapability m_transmitMultipointCapability;
    15451     H245_MultipointCapability m_receiveAndTransmitMultipointCapability;
    15452     H245_H2250Capability_mcCapability m_mcCapability;
    15453     PASN_Boolean m_rtcpVideoControlCapability;
    15454     H245_MediaPacketizationCapability m_mediaPacketizationCapability;
    15455     H245_TransportCapability m_transportCapability;
    15456     H245_ArrayOf_RedundancyEncodingCapability m_redundancyEncodingCapability;
    15457     PASN_Boolean m_logicalChannelSwitchingCapability;
    15458     PASN_Boolean m_t120DynamicPortCapability;
    15459
    15460     PINDEX GetDataLength() const;
    15461     PBoolean Decode(PASN_Stream & strm);
    15462     void Encode(PASN_Stream & strm) const;
    15463 #ifndef PASN_NOPRINTON
    15464     void PrintOn(ostream & strm) const;
    15465 #endif
    15466     Comparison Compare(const PObject & obj) const;
    15467     PObject * Clone() const;
    15468 };
    15469
    15470
    15471 //
    15472 // RefPictureSelection
    15473 //
    15474
    15475 class H245_RefPictureSelection : public PASN_Sequence
    15476 {
    15477 #ifndef PASN_LEANANDMEAN
    15478     PCLASSINFO(H245_RefPictureSelection, PASN_Sequence);
    15479 #endif
    15480   public:
    15481     H245_RefPictureSelection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15482
    15483     enum OptionalFields {
    15484       e_additionalPictureMemory,
    15485       e_enhancedReferencePicSelect
    15486     };
    15487
    15488     H245_RefPictureSelection_additionalPictureMemory m_additionalPictureMemory;
    15489     PASN_Boolean m_videoMux;
    15490     H245_RefPictureSelection_videoBackChannelSend m_videoBackChannelSend;
    15491     H245_RefPictureSelection_enhancedReferencePicSelect m_enhancedReferencePicSelect;
    15492
    15493     PINDEX GetDataLength() const;
    15494     PBoolean Decode(PASN_Stream & strm);
    15495     void Encode(PASN_Stream & strm) const;
    15496 #ifndef PASN_NOPRINTON
    15497     void PrintOn(ostream & strm) const;
    15498 #endif
    15499     Comparison Compare(const PObject & obj) const;
    15500     PObject * Clone() const;
    15501 };
    15502
    15503
    15504 //
    15505 // CustomPictureFormat
    15506 //
    15507
    15508 class H245_CustomPictureFormat : public PASN_Sequence
    15509 {
    15510 #ifndef PASN_LEANANDMEAN
    15511     PCLASSINFO(H245_CustomPictureFormat, PASN_Sequence);
    15512 #endif
    15513   public:
    15514     H245_CustomPictureFormat(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15515
    15516     PASN_Integer m_maxCustomPictureWidth;
    15517     PASN_Integer m_maxCustomPictureHeight;
    15518     PASN_Integer m_minCustomPictureWidth;
    15519     PASN_Integer m_minCustomPictureHeight;
    15520     H245_CustomPictureFormat_mPI m_mPI;
    15521     H245_CustomPictureFormat_pixelAspectInformation m_pixelAspectInformation;
    15522
    15523     PINDEX GetDataLength() const;
    15524     PBoolean Decode(PASN_Stream & strm);
    15525     void Encode(PASN_Stream & strm) const;
    15526 #ifndef PASN_NOPRINTON
    15527     void PrintOn(ostream & strm) const;
    15528 #endif
    15529     Comparison Compare(const PObject & obj) const;
    15530     PObject * Clone() const;
    15531 };
    15532
    15533
    15534 //
    15535 // H263VideoModeCombos
    15536 //
    15537
    15538 class H245_H263VideoModeCombos : public PASN_Sequence
    15539 {
    15540 #ifndef PASN_LEANANDMEAN
    15541     PCLASSINFO(H245_H263VideoModeCombos, PASN_Sequence);
    15542 #endif
    15543   public:
    15544     H245_H263VideoModeCombos(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15545
    15546     H245_H263ModeComboFlags m_h263VideoUncoupledModes;
    15547     H245_ArrayOf_H263ModeComboFlags m_h263VideoCoupledModes;
    15548
    15549     PINDEX GetDataLength() const;
    15550     PBoolean Decode(PASN_Stream & strm);
    15551     void Encode(PASN_Stream & strm) const;
    15552 #ifndef PASN_NOPRINTON
    15553     void PrintOn(ostream & strm) const;
    15554 #endif
    15555     Comparison Compare(const PObject & obj) const;
    15556     PObject * Clone() const;
    15557 };
    15558
    15559
    15560 //
    15561 // T38FaxProfile
    15562 //
    15563
    15564 class H245_T38FaxProfile : public PASN_Sequence
    15565 {
    15566 #ifndef PASN_LEANANDMEAN
    15567     PCLASSINFO(H245_T38FaxProfile, PASN_Sequence);
    15568 #endif
    15569   public:
    15570     H245_T38FaxProfile(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15571
    15572     enum OptionalFields {
    15573       e_version,
    15574       e_t38FaxRateManagement,
    15575       e_t38FaxUdpOptions,
    15576       e_t38FaxTcpOptions
    15577     };
    15578
    15579     PASN_Boolean m_fillBitRemoval;
    15580     PASN_Boolean m_transcodingJBIG;
    15581     PASN_Boolean m_transcodingMMR;
    15582     PASN_Integer m_version;
    15583     H245_T38FaxRateManagement m_t38FaxRateManagement;
    15584     H245_T38FaxUdpOptions m_t38FaxUdpOptions;
    15585     H245_T38FaxTcpOptions m_t38FaxTcpOptions;
    15586
    15587     PINDEX GetDataLength() const;
    15588     PBoolean Decode(PASN_Stream & strm);
    15589     void Encode(PASN_Stream & strm) const;
    15590 #ifndef PASN_NOPRINTON
    15591     void PrintOn(ostream & strm) const;
    15592 #endif
    15593     Comparison Compare(const PObject & obj) const;
    15594     PObject * Clone() const;
    15595 };
    15596
    15597
    15598 //
    15599 // EncryptionAuthenticationAndIntegrity
    15600 //
    15601
    15602 class H245_EncryptionAuthenticationAndIntegrity : public PASN_Sequence
    15603 {
    15604 #ifndef PASN_LEANANDMEAN
    15605     PCLASSINFO(H245_EncryptionAuthenticationAndIntegrity, PASN_Sequence);
    15606 #endif
    15607   public:
    15608     H245_EncryptionAuthenticationAndIntegrity(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15609
    15610     enum OptionalFields {
    15611       e_encryptionCapability,
    15612       e_authenticationCapability,
    15613       e_integrityCapability,
    15614       e_genericH235SecurityCapability
    15615     };
    15616
    15617     H245_EncryptionCapability m_encryptionCapability;
    15618     H245_AuthenticationCapability m_authenticationCapability;
    15619     H245_IntegrityCapability m_integrityCapability;
    15620     H245_GenericCapability m_genericH235SecurityCapability;
    15621
    15622     PINDEX GetDataLength() const;
    15623     PBoolean Decode(PASN_Stream & strm);
    15624     void Encode(PASN_Stream & strm) const;
    15625 #ifndef PASN_NOPRINTON
    15626     void PrintOn(ostream & strm) const;
    15627 #endif
    15628     Comparison Compare(const PObject & obj) const;
    15629     PObject * Clone() const;
    15630 };
    15631
    15632
    15633 //
    15634 // OpenLogicalChannel
    15635 //
    15636
    15637 class H245_OpenLogicalChannel : public PASN_Sequence
    15638 {
    15639 #ifndef PASN_LEANANDMEAN
    15640     PCLASSINFO(H245_OpenLogicalChannel, PASN_Sequence);
    15641 #endif
    15642   public:
    15643     H245_OpenLogicalChannel(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15644
    15645     enum OptionalFields {
    15646       e_reverseLogicalChannelParameters,
    15647       e_separateStack,
    15648       e_encryptionSync,
    15649       e_genericInformation
    15650     };
    15651
    15652     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
    15653     H245_OpenLogicalChannel_forwardLogicalChannelParameters m_forwardLogicalChannelParameters;
    15654     H245_OpenLogicalChannel_reverseLogicalChannelParameters m_reverseLogicalChannelParameters;
    15655     H245_NetworkAccessParameters m_separateStack;
    15656     H245_EncryptionSync m_encryptionSync;
    15657     H245_ArrayOf_GenericInformation m_genericInformation;
    15658
    15659     PINDEX GetDataLength() const;
    15660     PBoolean Decode(PASN_Stream & strm);
    15661     void Encode(PASN_Stream & strm) const;
    15662 #ifndef PASN_NOPRINTON
    15663     void PrintOn(ostream & strm) const;
    15664 #endif
    15665     Comparison Compare(const PObject & obj) const;
    15666     PObject * Clone() const;
    15667 };
    15668
    15669
    15670 //
    15671 // H235Media
    15672 //
    15673
    15674 class H245_H235Media : public PASN_Sequence
    15675 {
    15676 #ifndef PASN_LEANANDMEAN
    15677     PCLASSINFO(H245_H235Media, PASN_Sequence);
    15678 #endif
    15679   public:
    15680     H245_H235Media(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15681
    15682     H245_EncryptionAuthenticationAndIntegrity m_encryptionAuthenticationAndIntegrity;
    15683     H245_H235Media_mediaType m_mediaType;
    15684
    15685     PINDEX GetDataLength() const;
    15686     PBoolean Decode(PASN_Stream & strm);
    15687     void Encode(PASN_Stream & strm) const;
    15688 #ifndef PASN_NOPRINTON
    15689     void PrintOn(ostream & strm) const;
    15690 #endif
    15691     Comparison Compare(const PObject & obj) const;
    15692     PObject * Clone() const;
    15693 };
    15694
    15695
    15696 //
    15697 // V76LogicalChannelParameters
    15698 //
    15699
    15700 class H245_V76LogicalChannelParameters : public PASN_Sequence
    15701 {
    15702 #ifndef PASN_LEANANDMEAN
    15703     PCLASSINFO(H245_V76LogicalChannelParameters, PASN_Sequence);
    15704 #endif
    15705   public:
    15706     H245_V76LogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15707
    15708     H245_V76HDLCParameters m_hdlcParameters;
    15709     H245_V76LogicalChannelParameters_suspendResume m_suspendResume;
    15710     PASN_Boolean m_uIH;
    15711     H245_V76LogicalChannelParameters_mode m_mode;
    15712     H245_V75Parameters m_v75Parameters;
    15713
    15714     PINDEX GetDataLength() const;
    15715     PBoolean Decode(PASN_Stream & strm);
    15716     void Encode(PASN_Stream & strm) const;
    15717 #ifndef PASN_NOPRINTON
    15718     void PrintOn(ostream & strm) const;
    15719 #endif
    15720     Comparison Compare(const PObject & obj) const;
    15721     PObject * Clone() const;
    15722 };
    15723
    15724
    15725 //
    15726 // RedundancyEncoding
    15727 //
    15728
    15729 class H245_RedundancyEncoding : public PASN_Sequence
    15730 {
    15731 #ifndef PASN_LEANANDMEAN
    15732     PCLASSINFO(H245_RedundancyEncoding, PASN_Sequence);
    15733 #endif
    15734   public:
    15735     H245_RedundancyEncoding(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15736
    15737     enum OptionalFields {
    15738       e_secondaryEncoding,
    15739       e_rtpRedundancyEncoding
    15740     };
    15741
    15742     H245_RedundancyEncodingMethod m_redundancyEncodingMethod;
    15743     H245_DataType m_secondaryEncoding;
    15744     H245_RedundancyEncoding_rtpRedundancyEncoding m_rtpRedundancyEncoding;
    15745
    15746     PINDEX GetDataLength() const;
    15747     PBoolean Decode(PASN_Stream & strm);
    15748     void Encode(PASN_Stream & strm) const;
    15749 #ifndef PASN_NOPRINTON
    15750     void PrintOn(ostream & strm) const;
    15751 #endif
    15752     Comparison Compare(const PObject & obj) const;
    15753     PObject * Clone() const;
    15754 };
    15755
    15756
    15757 //
    15758 // OpenLogicalChannelAck
    15759 //
    15760
    15761 class H245_OpenLogicalChannelAck : public PASN_Sequence
    15762 {
    15763 #ifndef PASN_LEANANDMEAN
    15764     PCLASSINFO(H245_OpenLogicalChannelAck, PASN_Sequence);
    15765 #endif
    15766   public:
    15767     H245_OpenLogicalChannelAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15768
    15769     enum OptionalFields {
    15770       e_reverseLogicalChannelParameters,
    15771       e_separateStack,
    15772       e_forwardMultiplexAckParameters,
    15773       e_encryptionSync,
    15774       e_genericInformation
    15775     };
    15776
    15777     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
    15778     H245_OpenLogicalChannelAck_reverseLogicalChannelParameters m_reverseLogicalChannelParameters;
    15779     H245_NetworkAccessParameters m_separateStack;
    15780     H245_OpenLogicalChannelAck_forwardMultiplexAckParameters m_forwardMultiplexAckParameters;
    15781     H245_EncryptionSync m_encryptionSync;
    15782     H245_ArrayOf_GenericInformation m_genericInformation;
    15783
    15784     PINDEX GetDataLength() const;
    15785     PBoolean Decode(PASN_Stream & strm);
    15786     void Encode(PASN_Stream & strm) const;
    15787 #ifndef PASN_NOPRINTON
    15788     void PrintOn(ostream & strm) const;
    15789 #endif
    15790     Comparison Compare(const PObject & obj) const;
    15791     PObject * Clone() const;
    15792 };
    15793
    15794
    15795 //
    15796 // H235Mode
    15797 //
    15798
    15799 class H245_H235Mode : public PASN_Sequence
    15800 {
    15801 #ifndef PASN_LEANANDMEAN
    15802     PCLASSINFO(H245_H235Mode, PASN_Sequence);
    15803 #endif
    15804   public:
    15805     H245_H235Mode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15806
    15807     H245_EncryptionAuthenticationAndIntegrity m_encryptionAuthenticationAndIntegrity;
    15808     H245_H235Mode_mediaMode m_mediaMode;
    15809
    15810     PINDEX GetDataLength() const;
    15811     PBoolean Decode(PASN_Stream & strm);
    15812     void Encode(PASN_Stream & strm) const;
    15813 #ifndef PASN_NOPRINTON
    15814     void PrintOn(ostream & strm) const;
    15815 #endif
    15816     Comparison Compare(const PObject & obj) const;
    15817     PObject * Clone() const;
    15818 };
    15819
    15820
    15821 //
    15822 // RedundancyEncodingDTMode
    15823 //
    15824
    15825 class H245_RedundancyEncodingDTMode : public PASN_Sequence
    15826 {
    15827 #ifndef PASN_LEANANDMEAN
    15828     PCLASSINFO(H245_RedundancyEncodingDTMode, PASN_Sequence);
    15829 #endif
    15830   public:
    15831     H245_RedundancyEncodingDTMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15832
    15833     H245_RedundancyEncodingMethod m_redundancyEncodingMethod;
    15834     H245_RedundancyEncodingDTModeElement m_primary;
    15835     H245_ArrayOf_RedundancyEncodingDTModeElement m_secondary;
    15836
    15837     PINDEX GetDataLength() const;
    15838     PBoolean Decode(PASN_Stream & strm);
    15839     void Encode(PASN_Stream & strm) const;
    15840 #ifndef PASN_NOPRINTON
    15841     void PrintOn(ostream & strm) const;
    15842 #endif
    15843     Comparison Compare(const PObject & obj) const;
    15844     PObject * Clone() const;
    15845 };
    15846
    15847
    15848 //
    15849 // H2250ModeParameters
    15850 //
    15851
    15852 class H245_H2250ModeParameters : public PASN_Sequence
    15853 {
    15854 #ifndef PASN_LEANANDMEAN
    15855     PCLASSINFO(H245_H2250ModeParameters, PASN_Sequence);
    15856 #endif
    15857   public:
    15858     H245_H2250ModeParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15859
    15860     enum OptionalFields {
    15861       e_redundancyEncodingMode
    15862     };
    15863
    15864     H245_RedundancyEncodingMode m_redundancyEncodingMode;
    15865
    15866     PINDEX GetDataLength() const;
    15867     PBoolean Decode(PASN_Stream & strm);
    15868     void Encode(PASN_Stream & strm) const;
    15869 #ifndef PASN_NOPRINTON
    15870     void PrintOn(ostream & strm) const;
    15871 #endif
    15872     Comparison Compare(const PObject & obj) const;
    15873     PObject * Clone() const;
    15874 };
    15875
    15876
    15877 //
    15878 // CommunicationModeTableEntry
    15879 //
    15880
    15881 class H245_CommunicationModeTableEntry : public PASN_Sequence
    15882 {
    15883 #ifndef PASN_LEANANDMEAN
    15884     PCLASSINFO(H245_CommunicationModeTableEntry, PASN_Sequence);
    15885 #endif
    15886   public:
    15887     H245_CommunicationModeTableEntry(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15888
    15889     enum OptionalFields {
    15890       e_nonStandard,
    15891       e_associatedSessionID,
    15892       e_terminalLabel,
    15893       e_mediaChannel,
    15894       e_mediaGuaranteedDelivery,
    15895       e_mediaControlChannel,
    15896       e_mediaControlGuaranteedDelivery,
    15897       e_redundancyEncoding,
    15898       e_sessionDependency,
    15899       e_destination
    15900     };
    15901
    15902     H245_ArrayOf_NonStandardParameter m_nonStandard;
    15903     PASN_Integer m_sessionID;
    15904     PASN_Integer m_associatedSessionID;
    15905     H245_TerminalLabel m_terminalLabel;
    15906     PASN_BMPString m_sessionDescription;
    15907     H245_CommunicationModeTableEntry_dataType m_dataType;
    15908     H245_TransportAddress m_mediaChannel;
    15909     PASN_Boolean m_mediaGuaranteedDelivery;
    15910     H245_TransportAddress m_mediaControlChannel;
    15911     PASN_Boolean m_mediaControlGuaranteedDelivery;
    15912     H245_RedundancyEncoding m_redundancyEncoding;
    15913     PASN_Integer m_sessionDependency;
    15914     H245_TerminalLabel m_destination;
    15915
    15916     PINDEX GetDataLength() const;
    15917     PBoolean Decode(PASN_Stream & strm);
    15918     void Encode(PASN_Stream & strm) const;
    15919 #ifndef PASN_NOPRINTON
    15920     void PrintOn(ostream & strm) const;
    15921 #endif
    15922     Comparison Compare(const PObject & obj) const;
    15923     PObject * Clone() const;
    15924 };
    15925
    15926
    15927 //
    15928 // NewATMVCCommand
    15929 //
    15930
    15931 class H245_NewATMVCCommand : public PASN_Sequence
    15932 {
    15933 #ifndef PASN_LEANANDMEAN
    15934     PCLASSINFO(H245_NewATMVCCommand, PASN_Sequence);
    15935 #endif
    15936   public:
    15937     H245_NewATMVCCommand(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15938
    15939     PASN_Integer m_resourceID;
    15940     PASN_Integer m_bitRate;
    15941     PASN_Boolean m_bitRateLockedToPCRClock;
    15942     PASN_Boolean m_bitRateLockedToNetworkClock;
    15943     H245_NewATMVCCommand_aal m_aal;
    15944     H245_NewATMVCCommand_multiplex m_multiplex;
    15945     H245_NewATMVCCommand_reverseParameters m_reverseParameters;
    15946
    15947     PINDEX GetDataLength() const;
    15948     PBoolean Decode(PASN_Stream & strm);
    15949     void Encode(PASN_Stream & strm) const;
    15950 #ifndef PASN_NOPRINTON
    15951     void PrintOn(ostream & strm) const;
    15952 #endif
    15953     Comparison Compare(const PObject & obj) const;
    15954     PObject * Clone() const;
    15955 };
    15956
    15957
    15958 //
    15959 // NewATMVCIndication
    15960 //
    15961
    15962 class H245_NewATMVCIndication : public PASN_Sequence
    15963 {
    15964 #ifndef PASN_LEANANDMEAN
    15965     PCLASSINFO(H245_NewATMVCIndication, PASN_Sequence);
    15966 #endif
    15967   public:
    15968     H245_NewATMVCIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    15969
    15970     enum OptionalFields {
    15971       e_reverseParameters
    15972     };
    15973
    15974     PASN_Integer m_resourceID;
    15975     PASN_Integer m_bitRate;
    15976     PASN_Boolean m_bitRateLockedToPCRClock;
    15977     PASN_Boolean m_bitRateLockedToNetworkClock;
    15978     H245_NewATMVCIndication_aal m_aal;
    15979     H245_NewATMVCIndication_multiplex m_multiplex;
    15980     H245_NewATMVCIndication_reverseParameters m_reverseParameters;
    15981
    15982     PINDEX GetDataLength() const;
    15983     PBoolean Decode(PASN_Stream & strm);
    15984     void Encode(PASN_Stream & strm) const;
    15985 #ifndef PASN_NOPRINTON
    15986     void PrintOn(ostream & strm) const;
    15987 #endif
    15988     Comparison Compare(const PObject & obj) const;
    15989     PObject * Clone() const;
    15990 };
    15991
    15992
    15993 //
    15994 // DataApplicationCapability_application_t38fax
    15995 //
    15996
    15997 class H245_DataApplicationCapability_application_t38fax : public PASN_Sequence
    15998 {
    15999 #ifndef PASN_LEANANDMEAN
    16000     PCLASSINFO(H245_DataApplicationCapability_application_t38fax, PASN_Sequence);
    16001 #endif
    16002   public:
    16003     H245_DataApplicationCapability_application_t38fax(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    16004
    16005     H245_DataProtocolCapability m_t38FaxProtocol;
    16006     H245_T38FaxProfile m_t38FaxProfile;
    16007
    16008     PINDEX GetDataLength() const;
    16009     PBoolean Decode(PASN_Stream & strm);
    16010     void Encode(PASN_Stream & strm) const;
    16011 #ifndef PASN_NOPRINTON
    16012     void PrintOn(ostream & strm) const;
    16013 #endif
    16014     Comparison Compare(const PObject & obj) const;
    16015     PObject * Clone() const;
    16016 };
    16017
    16018
    16019 //
    16020 // DataMode_application_t38fax
    16021 //
    16022
    16023 class H245_DataMode_application_t38fax : public PASN_Sequence
    16024 {
    16025 #ifndef PASN_LEANANDMEAN
    16026     PCLASSINFO(H245_DataMode_application_t38fax, PASN_Sequence);
    16027 #endif
    16028   public:
    16029     H245_DataMode_application_t38fax(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    16030
    16031     H245_DataProtocolCapability m_t38FaxProtocol;
    16032     H245_T38FaxProfile m_t38FaxProfile;
    16033
    16034     PINDEX GetDataLength() const;
    16035     PBoolean Decode(PASN_Stream & strm);
    16036     void Encode(PASN_Stream & strm) const;
    16037 #ifndef PASN_NOPRINTON
    16038     void PrintOn(ostream & strm) const;
    16039 #endif
    16040     Comparison Compare(const PObject & obj) const;
    16041     PObject * Clone() const;
    16042 };
    16043
    16044
    16045 //
    16046 // H235SecurityCapability
    16047 //
    16048
    16049 class H245_H235SecurityCapability : public PASN_Sequence
    16050 {
    16051 #ifndef PASN_LEANANDMEAN
    16052     PCLASSINFO(H245_H235SecurityCapability, PASN_Sequence);
    16053 #endif
    16054   public:
    16055     H245_H235SecurityCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    16056
    16057     H245_EncryptionAuthenticationAndIntegrity m_encryptionAuthenticationAndIntegrity;
    16058     H245_CapabilityTableEntryNumber m_mediaCapability;
    16059
    16060     PINDEX GetDataLength() const;
    16061     PBoolean Decode(PASN_Stream & strm);
    16062     void Encode(PASN_Stream & strm) const;
    16063 #ifndef PASN_NOPRINTON
    16064     void PrintOn(ostream & strm) const;
    16065 #endif
    16066     Comparison Compare(const PObject & obj) const;
    16067     PObject * Clone() const;
    16068 };
    16069
    16070
    16071 //
    16072 // H263Options
    16073 //
    16074
    16075 class H245_H263Options : public PASN_Sequence
    16076 {
    16077 #ifndef PASN_LEANANDMEAN
    16078     PCLASSINFO(H245_H263Options, PASN_Sequence);
    16079 #endif
    16080   public:
    16081     H245_H263Options(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    16082
    16083     enum OptionalFields {
    16084       e_transparencyParameters,
    16085       e_refPictureSelection,
    16086       e_customPictureClockFrequency,
    16087       e_customPictureFormat,
    16088       e_modeCombos,
    16089       e_videoBadMBsCap,
    16090       e_h263Version3Options
    16091     };
    16092
    16093     PASN_Boolean m_advancedIntraCodingMode;
    16094     PASN_Boolean m_deblockingFilterMode;
    16095     PASN_Boolean m_improvedPBFramesMode;
    16096     PASN_Boolean m_unlimitedMotionVectors;
    16097     PASN_Boolean m_fullPictureFreeze;
    16098     PASN_Boolean m_partialPictureFreezeAndRelease;
    16099     PASN_Boolean m_resizingPartPicFreezeAndRelease;
    16100     PASN_Boolean m_fullPictureSnapshot;
    16101     PASN_Boolean m_partialPictureSnapshot;
    16102     PASN_Boolean m_videoSegmentTagging;
    16103     PASN_Boolean m_progressiveRefinement;
    16104     PASN_Boolean m_dynamicPictureResizingByFour;
    16105     PASN_Boolean m_dynamicPictureResizingSixteenthPel;
    16106     PASN_Boolean m_dynamicWarpingHalfPel;
    16107     PASN_Boolean m_dynamicWarpingSixteenthPel;
    16108     PASN_Boolean m_independentSegmentDecoding;
    16109     PASN_Boolean m_slicesInOrder_NonRect;
    16110     PASN_Boolean m_slicesInOrder_Rect;
    16111     PASN_Boolean m_slicesNoOrder_NonRect;
    16112     PASN_Boolean m_slicesNoOrder_Rect;
    16113     PASN_Boolean m_alternateInterVLCMode;
    16114     PASN_Boolean m_modifiedQuantizationMode;
    16115     PASN_Boolean m_reducedResolutionUpdate;
    16116     H245_TransparencyParameters m_transparencyParameters;
    16117     PASN_Boolean m_separateVideoBackChannel;
    16118     H245_RefPictureSelection m_refPictureSelection;
    16119     H245_ArrayOf_CustomPictureClockFrequency m_customPictureClockFrequency;
    16120     H245_ArrayOf_CustomPictureFormat m_customPictureFormat;
    16121     H245_ArrayOf_H263VideoModeCombos m_modeCombos;
    16122     PASN_Boolean m_videoBadMBsCap;
    16123     H245_H263Version3Options m_h263Version3Options;
    16124
    16125     PINDEX GetDataLength() const;
    16126     PBoolean Decode(PASN_Stream & strm);
    16127     void Encode(PASN_Stream & strm) const;
    16128 #ifndef PASN_NOPRINTON
    16129     void PrintOn(ostream & strm) const;
    16130 #endif
    16131     Comparison Compare(const PObject & obj) const;
    16132     PObject * Clone() const;
    16133 };
    16134
    16135
    16136 //
    16137 // H2250LogicalChannelParameters
    16138 //
    16139
    16140 class H245_H2250LogicalChannelParameters : public PASN_Sequence
    16141 {
    16142 #ifndef PASN_LEANANDMEAN
    16143     PCLASSINFO(H245_H2250LogicalChannelParameters, PASN_Sequence);
    16144 #endif
    16145   public:
    16146     H245_H2250LogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    16147
    16148     enum OptionalFields {
    16149       e_nonStandard,
    16150       e_associatedSessionID,
    16151       e_mediaChannel,
    16152       e_mediaGuaranteedDelivery,
    16153       e_mediaControlChannel,
    16154       e_mediaControlGuaranteedDelivery,
    16155       e_silenceSuppression,
    16156       e_destination,
    16157       e_dynamicRTPPayloadType,
    16158       e_mediaPacketization,
    16159       e_transportCapability,
    16160       e_redundancyEncoding,
    16161       e_source
    16162     };
    16163
    16164     H245_ArrayOf_NonStandardParameter m_nonStandard;
    16165     PASN_Integer m_sessionID;
    16166     PASN_Integer m_associatedSessionID;
    16167     H245_TransportAddress m_mediaChannel;
    16168     PASN_Boolean m_mediaGuaranteedDelivery;
    16169     H245_TransportAddress m_mediaControlChannel;
    16170     PASN_Boolean m_mediaControlGuaranteedDelivery;
    16171     PASN_Boolean m_silenceSuppression;
    16172     H245_TerminalLabel m_destination;
    16173     PASN_Integer m_dynamicRTPPayloadType;
    16174     H245_H2250LogicalChannelParameters_mediaPacketization m_mediaPacketization;
    16175     H245_TransportCapability m_transportCapability;
    16176     H245_RedundancyEncoding m_redundancyEncoding;
    16177     H245_TerminalLabel m_source;
    16178
    16179     PINDEX GetDataLength() const;
    16180     PBoolean Decode(PASN_Stream & strm);
    16181     void Encode(PASN_Stream & strm) const;
    16182 #ifndef PASN_NOPRINTON
    16183     void PrintOn(ostream & strm) const;
    16184 #endif
    16185     Comparison Compare(const PObject & obj) const;
    16186     PObject * Clone() const;
    16187 };
    16188
    16189
    16190 //
    16191 // ModeElement
    16192 //
    16193
    16194 class H245_ModeElement : public PASN_Sequence
    16195 {
    16196 #ifndef PASN_LEANANDMEAN
    16197     PCLASSINFO(H245_ModeElement, PASN_Sequence);
    16198 #endif
    16199   public:
    16200     H245_ModeElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    16201
    16202     enum OptionalFields {
    16203       e_h223ModeParameters,
    16204       e_v76ModeParameters,
    16205       e_h2250ModeParameters,
    16206       e_genericModeParameters,
    16207       e_multiplexedStreamModeParameters,
    16208       e_logicalChannelNumber
    16209     };
    16210
    16211     H245_ModeElementType m_type;
    16212     H245_H223ModeParameters m_h223ModeParameters;
    16213     H245_V76ModeParameters m_v76ModeParameters;
    16214     H245_H2250ModeParameters m_h2250ModeParameters;
    16215     H245_GenericCapability m_genericModeParameters;
    16216     H245_MultiplexedStreamModeParameters m_multiplexedStreamModeParameters;
    16217     H245_LogicalChannelNumber m_logicalChannelNumber;
    16218
    16219     PINDEX GetDataLength() const;
    16220     PBoolean Decode(PASN_Stream & strm);
    16221     void Encode(PASN_Stream & strm) const;
    16222 #ifndef PASN_NOPRINTON
    16223     void PrintOn(ostream & strm) const;
    16224 #endif
    16225     Comparison Compare(const PObject & obj) const;
    16226     PObject * Clone() const;
    16227 };
    16228
    16229
    16230 //
    16231 // H263VideoMode
    16232 //
    16233
    16234 class H245_H263VideoMode : public PASN_Sequence
    16235 {
    16236 #ifndef PASN_LEANANDMEAN
    16237     PCLASSINFO(H245_H263VideoMode, PASN_Sequence);
    16238 #endif
    16239   public:
    16240     H245_H263VideoMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    16241
    16242     enum OptionalFields {
    16243       e_errorCompensation,
    16244       e_enhancementLayerInfo,
    16245       e_h263Options
    16246     };
    16247
    16248     H245_H263VideoMode_resolution m_resolution;
    16249     PASN_Integer m_bitRate;
    16250     PASN_Boolean m_unrestrictedVector;
    16251     PASN_Boolean m_arithmeticCoding;
    16252     PASN_Boolean m_advancedPrediction;
    16253     PASN_Boolean m_pbFrames;
    16254     PASN_Boolean m_errorCompensation;
    16255     H245_EnhancementLayerInfo m_enhancementLayerInfo;
    16256     H245_H263Options m_h263Options;
    16257
    16258     PINDEX GetDataLength() const;
    16259     PBoolean Decode(PASN_Stream & strm);
    16260     void Encode(PASN_Stream & strm) const;
    16261 #ifndef PASN_NOPRINTON
    16262     void PrintOn(ostream & strm) const;
    16263 #endif
    16264     Comparison Compare(const PObject & obj) const;
    16265     PObject * Clone() const;
    16266 };
    16267
    16268
    16269 //
    16270 // H263VideoCapability
    16271 //
    16272
    16273 class H245_H263VideoCapability : public PASN_Sequence
    16274 {
    16275 #ifndef PASN_LEANANDMEAN
    16276     PCLASSINFO(H245_H263VideoCapability, PASN_Sequence);
    16277 #endif
    16278   public:
    16279     H245_H263VideoCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    16280
    16281     enum OptionalFields {
    16282       e_sqcifMPI,
    16283       e_qcifMPI,
    16284       e_cifMPI,
    16285       e_cif4MPI,
    16286       e_cif16MPI,
    16287       e_hrd_B,
    16288       e_bppMaxKb,
    16289       e_slowSqcifMPI,
    16290       e_slowQcifMPI,
    16291       e_slowCifMPI,
    16292       e_slowCif4MPI,
    16293       e_slowCif16MPI,
    16294       e_errorCompensation,
    16295       e_enhancementLayerInfo,
    16296       e_h263Options
    16297     };
    16298
    16299     PASN_Integer m_sqcifMPI;
    16300     PASN_Integer m_qcifMPI;
    16301     PASN_Integer m_cifMPI;
    16302     PASN_Integer m_cif4MPI;
    16303     PASN_Integer m_cif16MPI;
    16304     PASN_Integer m_maxBitRate;
    16305     PASN_Boolean m_unrestrictedVector;
    16306     PASN_Boolean m_arithmeticCoding;
    16307     PASN_Boolean m_advancedPrediction;
    16308     PASN_Boolean m_pbFrames;
    16309     PASN_Boolean m_temporalSpatialTradeOffCapability;
    16310     PASN_Integer m_hrd_B;
    16311     PASN_Integer m_bppMaxKb;
    16312     PASN_Integer m_slowSqcifMPI;
    16313     PASN_Integer m_slowQcifMPI;
    16314     PASN_Integer m_slowCifMPI;
    16315     PASN_Integer m_slowCif4MPI;
    16316     PASN_Integer m_slowCif16MPI;
    16317     PASN_Boolean m_errorCompensation;
    16318     H245_EnhancementLayerInfo m_enhancementLayerInfo;
    16319     H245_H263Options m_h263Options;
    16320
    16321     PINDEX GetDataLength() const;
    16322     PBoolean Decode(PASN_Stream & strm);
    16323     void Encode(PASN_Stream & strm) const;
    16324 #ifndef PASN_NOPRINTON
    16325     void PrintOn(ostream & strm) const;
    16326 #endif
    16327     Comparison Compare(const PObject & obj) const;
    16328     PObject * Clone() const;
    16329 };
    16330
    16331
    16332 //
    16333 // EnhancementOptions
    16334 //
    16335
    16336 class H245_EnhancementOptions : public PASN_Sequence
    16337 {
    16338 #ifndef PASN_LEANANDMEAN
    16339     PCLASSINFO(H245_EnhancementOptions, PASN_Sequence);
    16340 #endif
    16341   public:
    16342     H245_EnhancementOptions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    16343
    16344     enum OptionalFields {
    16345       e_sqcifMPI,
    16346       e_qcifMPI,
    16347       e_cifMPI,
    16348       e_cif4MPI,
    16349       e_cif16MPI,
    16350       e_slowSqcifMPI,
    16351       e_slowQcifMPI,
    16352       e_slowCifMPI,
    16353       e_slowCif4MPI,
    16354       e_slowCif16MPI,
    16355       e_h263Options
    16356     };
    16357
    16358     PASN_Integer m_sqcifMPI;
    16359     PASN_Integer m_qcifMPI;
    16360     PASN_Integer m_cifMPI;
    16361     PASN_Integer m_cif4MPI;
    16362     PASN_Integer m_cif16MPI;
    16363     PASN_Integer m_maxBitRate;
    16364     PASN_Boolean m_unrestrictedVector;
    16365     PASN_Boolean m_arithmeticCoding;
    16366     PASN_Boolean m_temporalSpatialTradeOffCapability;
    16367     PASN_Integer m_slowSqcifMPI;
    16368     PASN_Integer m_slowQcifMPI;
    16369     PASN_Integer m_slowCifMPI;
    16370     PASN_Integer m_slowCif4MPI;
    16371     PASN_Integer m_slowCif16MPI;
    16372     PASN_Boolean m_errorCompensation;
    16373     H245_H263Options m_h263Options;
    16374
    16375     PINDEX GetDataLength() const;
    16376     PBoolean Decode(PASN_Stream & strm);
    16377     void Encode(PASN_Stream & strm) const;
    16378 #ifndef PASN_NOPRINTON
    16379     void PrintOn(ostream & strm) const;
    16380 #endif
    16381     Comparison Compare(const PObject & obj) const;
    16382     PObject * Clone() const;
    16383 };
    16384
    16385
    16386 //
    16387 // BEnhancementParameters
    16388 //
    16389
    16390 class H245_BEnhancementParameters : public PASN_Sequence
    16391 {
    16392 #ifndef PASN_LEANANDMEAN
    16393     PCLASSINFO(H245_BEnhancementParameters, PASN_Sequence);
    16394 #endif
    16395   public:
    16396     H245_BEnhancementParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    16397
    16398     H245_EnhancementOptions m_enhancementOptions;
    16399     PASN_Integer m_numberOfBPictures;
    16400
    16401     PINDEX GetDataLength() const;
    16402     PBoolean Decode(PASN_Stream & strm);
    16403     void Encode(PASN_Stream & strm) const;
    16404 #ifndef PASN_NOPRINTON
    16405     void PrintOn(ostream & strm) const;
    16406 #endif
    16407     Comparison Compare(const PObject & obj) const;
    16408     PObject * Clone() const;
    16409 };
    16410
    16411
    16412 #endif // __H245_H
    16413
    16414 #endif // if ! H323_DISABLE_H245
    16415
    16416
    16417 // End of h245.h