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

Generated on Mon Sep 25 16:19:55 2006 for OPAL by  doxygen 1.4.7