h245.h

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

Generated on Mon Feb 23 02:01:27 2009 for OPAL by  doxygen 1.5.1