h245.h

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

Generated on Mon Sep 15 11:49:01 2008 for OPAL by  doxygen 1.5.1