Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

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

Generated on Tue Mar 15 11:16:58 2005 for OpenH323 by  doxygen 1.4.0