00001
00002
00003
00004
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
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
00074
00075
00076 class H245_NonStandardMessage;
00077 class H245_MasterSlaveDetermination;
00078 class H245_TerminalCapabilitySet;
00079 class H245_OpenLogicalChannel;
00080 class H245_CloseLogicalChannel;
00081 class H245_RequestChannelClose;
00082 class H245_MultiplexEntrySend;
00083 class H245_RequestMultiplexEntry;
00084 class H245_RequestMode;
00085 class H245_RoundTripDelayRequest;
00086 class H245_MaintenanceLoopRequest;
00087 class H245_CommunicationModeRequest;
00088 class H245_ConferenceRequest;
00089 class H245_MultilinkRequest;
00090 class H245_LogicalChannelRateRequest;
00091 class H245_GenericMessage;
00092
00093 class H245_RequestMessage : public PASN_Choice
00094 {
00095 #ifndef PASN_LEANANDMEAN
00096 PCLASSINFO(H245_RequestMessage, PASN_Choice);
00097 #endif
00098 public:
00099 H245_RequestMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00100
00101 enum Choices {
00102 e_nonStandard,
00103 e_masterSlaveDetermination,
00104 e_terminalCapabilitySet,
00105 e_openLogicalChannel,
00106 e_closeLogicalChannel,
00107 e_requestChannelClose,
00108 e_multiplexEntrySend,
00109 e_requestMultiplexEntry,
00110 e_requestMode,
00111 e_roundTripDelayRequest,
00112 e_maintenanceLoopRequest,
00113 e_communicationModeRequest,
00114 e_conferenceRequest,
00115 e_multilinkRequest,
00116 e_logicalChannelRateRequest,
00117 e_genericRequest
00118 };
00119
00120 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00121 operator H245_NonStandardMessage &() const;
00122 #else
00123 operator H245_NonStandardMessage &();
00124 operator const H245_NonStandardMessage &() const;
00125 #endif
00126 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00127 operator H245_MasterSlaveDetermination &() const;
00128 #else
00129 operator H245_MasterSlaveDetermination &();
00130 operator const H245_MasterSlaveDetermination &() const;
00131 #endif
00132 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00133 operator H245_TerminalCapabilitySet &() const;
00134 #else
00135 operator H245_TerminalCapabilitySet &();
00136 operator const H245_TerminalCapabilitySet &() const;
00137 #endif
00138 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00139 operator H245_OpenLogicalChannel &() const;
00140 #else
00141 operator H245_OpenLogicalChannel &();
00142 operator const H245_OpenLogicalChannel &() const;
00143 #endif
00144 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00145 operator H245_CloseLogicalChannel &() const;
00146 #else
00147 operator H245_CloseLogicalChannel &();
00148 operator const H245_CloseLogicalChannel &() const;
00149 #endif
00150 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00151 operator H245_RequestChannelClose &() const;
00152 #else
00153 operator H245_RequestChannelClose &();
00154 operator const H245_RequestChannelClose &() const;
00155 #endif
00156 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00157 operator H245_MultiplexEntrySend &() const;
00158 #else
00159 operator H245_MultiplexEntrySend &();
00160 operator const H245_MultiplexEntrySend &() const;
00161 #endif
00162 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00163 operator H245_RequestMultiplexEntry &() const;
00164 #else
00165 operator H245_RequestMultiplexEntry &();
00166 operator const H245_RequestMultiplexEntry &() const;
00167 #endif
00168 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00169 operator H245_RequestMode &() const;
00170 #else
00171 operator H245_RequestMode &();
00172 operator const H245_RequestMode &() const;
00173 #endif
00174 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00175 operator H245_RoundTripDelayRequest &() const;
00176 #else
00177 operator H245_RoundTripDelayRequest &();
00178 operator const H245_RoundTripDelayRequest &() const;
00179 #endif
00180 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00181 operator H245_MaintenanceLoopRequest &() const;
00182 #else
00183 operator H245_MaintenanceLoopRequest &();
00184 operator const H245_MaintenanceLoopRequest &() const;
00185 #endif
00186 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00187 operator H245_CommunicationModeRequest &() const;
00188 #else
00189 operator H245_CommunicationModeRequest &();
00190 operator const H245_CommunicationModeRequest &() const;
00191 #endif
00192 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00193 operator H245_ConferenceRequest &() const;
00194 #else
00195 operator H245_ConferenceRequest &();
00196 operator const H245_ConferenceRequest &() const;
00197 #endif
00198 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00199 operator H245_MultilinkRequest &() const;
00200 #else
00201 operator H245_MultilinkRequest &();
00202 operator const H245_MultilinkRequest &() const;
00203 #endif
00204 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00205 operator H245_LogicalChannelRateRequest &() const;
00206 #else
00207 operator H245_LogicalChannelRateRequest &();
00208 operator const H245_LogicalChannelRateRequest &() const;
00209 #endif
00210 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00211 operator H245_GenericMessage &() const;
00212 #else
00213 operator H245_GenericMessage &();
00214 operator const H245_GenericMessage &() const;
00215 #endif
00216
00217 BOOL CreateObject();
00218 PObject * Clone() const;
00219 };
00220
00221
00222
00223
00224
00225
00226 class H245_NonStandardMessage;
00227 class H245_MasterSlaveDeterminationAck;
00228 class H245_MasterSlaveDeterminationReject;
00229 class H245_TerminalCapabilitySetAck;
00230 class H245_TerminalCapabilitySetReject;
00231 class H245_OpenLogicalChannelAck;
00232 class H245_OpenLogicalChannelReject;
00233 class H245_CloseLogicalChannelAck;
00234 class H245_RequestChannelCloseAck;
00235 class H245_RequestChannelCloseReject;
00236 class H245_MultiplexEntrySendAck;
00237 class H245_MultiplexEntrySendReject;
00238 class H245_RequestMultiplexEntryAck;
00239 class H245_RequestMultiplexEntryReject;
00240 class H245_RequestModeAck;
00241 class H245_RequestModeReject;
00242 class H245_RoundTripDelayResponse;
00243 class H245_MaintenanceLoopAck;
00244 class H245_MaintenanceLoopReject;
00245 class H245_CommunicationModeResponse;
00246 class H245_ConferenceResponse;
00247 class H245_MultilinkResponse;
00248 class H245_LogicalChannelRateAcknowledge;
00249 class H245_LogicalChannelRateReject;
00250 class H245_GenericMessage;
00251
00252 class H245_ResponseMessage : public PASN_Choice
00253 {
00254 #ifndef PASN_LEANANDMEAN
00255 PCLASSINFO(H245_ResponseMessage, PASN_Choice);
00256 #endif
00257 public:
00258 H245_ResponseMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00259
00260 enum Choices {
00261 e_nonStandard,
00262 e_masterSlaveDeterminationAck,
00263 e_masterSlaveDeterminationReject,
00264 e_terminalCapabilitySetAck,
00265 e_terminalCapabilitySetReject,
00266 e_openLogicalChannelAck,
00267 e_openLogicalChannelReject,
00268 e_closeLogicalChannelAck,
00269 e_requestChannelCloseAck,
00270 e_requestChannelCloseReject,
00271 e_multiplexEntrySendAck,
00272 e_multiplexEntrySendReject,
00273 e_requestMultiplexEntryAck,
00274 e_requestMultiplexEntryReject,
00275 e_requestModeAck,
00276 e_requestModeReject,
00277 e_roundTripDelayResponse,
00278 e_maintenanceLoopAck,
00279 e_maintenanceLoopReject,
00280 e_communicationModeResponse,
00281 e_conferenceResponse,
00282 e_multilinkResponse,
00283 e_logicalChannelRateAcknowledge,
00284 e_logicalChannelRateReject,
00285 e_genericResponse
00286 };
00287
00288 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00289 operator H245_NonStandardMessage &() const;
00290 #else
00291 operator H245_NonStandardMessage &();
00292 operator const H245_NonStandardMessage &() const;
00293 #endif
00294 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00295 operator H245_MasterSlaveDeterminationAck &() const;
00296 #else
00297 operator H245_MasterSlaveDeterminationAck &();
00298 operator const H245_MasterSlaveDeterminationAck &() const;
00299 #endif
00300 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00301 operator H245_MasterSlaveDeterminationReject &() const;
00302 #else
00303 operator H245_MasterSlaveDeterminationReject &();
00304 operator const H245_MasterSlaveDeterminationReject &() const;
00305 #endif
00306 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00307 operator H245_TerminalCapabilitySetAck &() const;
00308 #else
00309 operator H245_TerminalCapabilitySetAck &();
00310 operator const H245_TerminalCapabilitySetAck &() const;
00311 #endif
00312 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00313 operator H245_TerminalCapabilitySetReject &() const;
00314 #else
00315 operator H245_TerminalCapabilitySetReject &();
00316 operator const H245_TerminalCapabilitySetReject &() const;
00317 #endif
00318 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00319 operator H245_OpenLogicalChannelAck &() const;
00320 #else
00321 operator H245_OpenLogicalChannelAck &();
00322 operator const H245_OpenLogicalChannelAck &() const;
00323 #endif
00324 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00325 operator H245_OpenLogicalChannelReject &() const;
00326 #else
00327 operator H245_OpenLogicalChannelReject &();
00328 operator const H245_OpenLogicalChannelReject &() const;
00329 #endif
00330 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00331 operator H245_CloseLogicalChannelAck &() const;
00332 #else
00333 operator H245_CloseLogicalChannelAck &();
00334 operator const H245_CloseLogicalChannelAck &() const;
00335 #endif
00336 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00337 operator H245_RequestChannelCloseAck &() const;
00338 #else
00339 operator H245_RequestChannelCloseAck &();
00340 operator const H245_RequestChannelCloseAck &() const;
00341 #endif
00342 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00343 operator H245_RequestChannelCloseReject &() const;
00344 #else
00345 operator H245_RequestChannelCloseReject &();
00346 operator const H245_RequestChannelCloseReject &() const;
00347 #endif
00348 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00349 operator H245_MultiplexEntrySendAck &() const;
00350 #else
00351 operator H245_MultiplexEntrySendAck &();
00352 operator const H245_MultiplexEntrySendAck &() const;
00353 #endif
00354 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00355 operator H245_MultiplexEntrySendReject &() const;
00356 #else
00357 operator H245_MultiplexEntrySendReject &();
00358 operator const H245_MultiplexEntrySendReject &() const;
00359 #endif
00360 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00361 operator H245_RequestMultiplexEntryAck &() const;
00362 #else
00363 operator H245_RequestMultiplexEntryAck &();
00364 operator const H245_RequestMultiplexEntryAck &() const;
00365 #endif
00366 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00367 operator H245_RequestMultiplexEntryReject &() const;
00368 #else
00369 operator H245_RequestMultiplexEntryReject &();
00370 operator const H245_RequestMultiplexEntryReject &() const;
00371 #endif
00372 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00373 operator H245_RequestModeAck &() const;
00374 #else
00375 operator H245_RequestModeAck &();
00376 operator const H245_RequestModeAck &() const;
00377 #endif
00378 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00379 operator H245_RequestModeReject &() const;
00380 #else
00381 operator H245_RequestModeReject &();
00382 operator const H245_RequestModeReject &() const;
00383 #endif
00384 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00385 operator H245_RoundTripDelayResponse &() const;
00386 #else
00387 operator H245_RoundTripDelayResponse &();
00388 operator const H245_RoundTripDelayResponse &() const;
00389 #endif
00390 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00391 operator H245_MaintenanceLoopAck &() const;
00392 #else
00393 operator H245_MaintenanceLoopAck &();
00394 operator const H245_MaintenanceLoopAck &() const;
00395 #endif
00396 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00397 operator H245_MaintenanceLoopReject &() const;
00398 #else
00399 operator H245_MaintenanceLoopReject &();
00400 operator const H245_MaintenanceLoopReject &() const;
00401 #endif
00402 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00403 operator H245_CommunicationModeResponse &() const;
00404 #else
00405 operator H245_CommunicationModeResponse &();
00406 operator const H245_CommunicationModeResponse &() const;
00407 #endif
00408 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00409 operator H245_ConferenceResponse &() const;
00410 #else
00411 operator H245_ConferenceResponse &();
00412 operator const H245_ConferenceResponse &() const;
00413 #endif
00414 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00415 operator H245_MultilinkResponse &() const;
00416 #else
00417 operator H245_MultilinkResponse &();
00418 operator const H245_MultilinkResponse &() const;
00419 #endif
00420 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00421 operator H245_LogicalChannelRateAcknowledge &() const;
00422 #else
00423 operator H245_LogicalChannelRateAcknowledge &();
00424 operator const H245_LogicalChannelRateAcknowledge &() const;
00425 #endif
00426 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00427 operator H245_LogicalChannelRateReject &() const;
00428 #else
00429 operator H245_LogicalChannelRateReject &();
00430 operator const H245_LogicalChannelRateReject &() const;
00431 #endif
00432 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00433 operator H245_GenericMessage &() const;
00434 #else
00435 operator H245_GenericMessage &();
00436 operator const H245_GenericMessage &() const;
00437 #endif
00438
00439 BOOL CreateObject();
00440 PObject * Clone() const;
00441 };
00442
00443
00444
00445
00446
00447
00448 class H245_NonStandardMessage;
00449 class H245_MaintenanceLoopOffCommand;
00450 class H245_SendTerminalCapabilitySet;
00451 class H245_EncryptionCommand;
00452 class H245_FlowControlCommand;
00453 class H245_EndSessionCommand;
00454 class H245_MiscellaneousCommand;
00455 class H245_CommunicationModeCommand;
00456 class H245_ConferenceCommand;
00457 class H245_H223MultiplexReconfiguration;
00458 class H245_NewATMVCCommand;
00459 class H245_MobileMultilinkReconfigurationCommand;
00460 class H245_GenericMessage;
00461
00462 class H245_CommandMessage : public PASN_Choice
00463 {
00464 #ifndef PASN_LEANANDMEAN
00465 PCLASSINFO(H245_CommandMessage, PASN_Choice);
00466 #endif
00467 public:
00468 H245_CommandMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00469
00470 enum Choices {
00471 e_nonStandard,
00472 e_maintenanceLoopOffCommand,
00473 e_sendTerminalCapabilitySet,
00474 e_encryptionCommand,
00475 e_flowControlCommand,
00476 e_endSessionCommand,
00477 e_miscellaneousCommand,
00478 e_communicationModeCommand,
00479 e_conferenceCommand,
00480 e_h223MultiplexReconfiguration,
00481 e_newATMVCCommand,
00482 e_mobileMultilinkReconfigurationCommand,
00483 e_genericCommand
00484 };
00485
00486 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00487 operator H245_NonStandardMessage &() const;
00488 #else
00489 operator H245_NonStandardMessage &();
00490 operator const H245_NonStandardMessage &() const;
00491 #endif
00492 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00493 operator H245_MaintenanceLoopOffCommand &() const;
00494 #else
00495 operator H245_MaintenanceLoopOffCommand &();
00496 operator const H245_MaintenanceLoopOffCommand &() const;
00497 #endif
00498 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00499 operator H245_SendTerminalCapabilitySet &() const;
00500 #else
00501 operator H245_SendTerminalCapabilitySet &();
00502 operator const H245_SendTerminalCapabilitySet &() const;
00503 #endif
00504 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00505 operator H245_EncryptionCommand &() const;
00506 #else
00507 operator H245_EncryptionCommand &();
00508 operator const H245_EncryptionCommand &() const;
00509 #endif
00510 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00511 operator H245_FlowControlCommand &() const;
00512 #else
00513 operator H245_FlowControlCommand &();
00514 operator const H245_FlowControlCommand &() const;
00515 #endif
00516 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00517 operator H245_EndSessionCommand &() const;
00518 #else
00519 operator H245_EndSessionCommand &();
00520 operator const H245_EndSessionCommand &() const;
00521 #endif
00522 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00523 operator H245_MiscellaneousCommand &() const;
00524 #else
00525 operator H245_MiscellaneousCommand &();
00526 operator const H245_MiscellaneousCommand &() const;
00527 #endif
00528 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00529 operator H245_CommunicationModeCommand &() const;
00530 #else
00531 operator H245_CommunicationModeCommand &();
00532 operator const H245_CommunicationModeCommand &() const;
00533 #endif
00534 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00535 operator H245_ConferenceCommand &() const;
00536 #else
00537 operator H245_ConferenceCommand &();
00538 operator const H245_ConferenceCommand &() const;
00539 #endif
00540 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00541 operator H245_H223MultiplexReconfiguration &() const;
00542 #else
00543 operator H245_H223MultiplexReconfiguration &();
00544 operator const H245_H223MultiplexReconfiguration &() const;
00545 #endif
00546 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00547 operator H245_NewATMVCCommand &() const;
00548 #else
00549 operator H245_NewATMVCCommand &();
00550 operator const H245_NewATMVCCommand &() const;
00551 #endif
00552 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00553 operator H245_MobileMultilinkReconfigurationCommand &() const;
00554 #else
00555 operator H245_MobileMultilinkReconfigurationCommand &();
00556 operator const H245_MobileMultilinkReconfigurationCommand &() const;
00557 #endif
00558 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00559 operator H245_GenericMessage &() const;
00560 #else
00561 operator H245_GenericMessage &();
00562 operator const H245_GenericMessage &() const;
00563 #endif
00564
00565 BOOL CreateObject();
00566 PObject * Clone() const;
00567 };
00568
00569
00570
00571
00572
00573
00574 class H245_NonStandardMessage;
00575 class H245_FunctionNotUnderstood;
00576 class H245_MasterSlaveDeterminationRelease;
00577 class H245_TerminalCapabilitySetRelease;
00578 class H245_OpenLogicalChannelConfirm;
00579 class H245_RequestChannelCloseRelease;
00580 class H245_MultiplexEntrySendRelease;
00581 class H245_RequestMultiplexEntryRelease;
00582 class H245_RequestModeRelease;
00583 class H245_MiscellaneousIndication;
00584 class H245_JitterIndication;
00585 class H245_H223SkewIndication;
00586 class H245_NewATMVCIndication;
00587 class H245_UserInputIndication;
00588 class H245_H2250MaximumSkewIndication;
00589 class H245_MCLocationIndication;
00590 class H245_ConferenceIndication;
00591 class H245_VendorIdentification;
00592 class H245_FunctionNotSupported;
00593 class H245_MultilinkIndication;
00594 class H245_LogicalChannelRateRelease;
00595 class H245_FlowControlIndication;
00596 class H245_MobileMultilinkReconfigurationIndication;
00597 class H245_GenericMessage;
00598
00599 class H245_IndicationMessage : public PASN_Choice
00600 {
00601 #ifndef PASN_LEANANDMEAN
00602 PCLASSINFO(H245_IndicationMessage, PASN_Choice);
00603 #endif
00604 public:
00605 H245_IndicationMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00606
00607 enum Choices {
00608 e_nonStandard,
00609 e_functionNotUnderstood,
00610 e_masterSlaveDeterminationRelease,
00611 e_terminalCapabilitySetRelease,
00612 e_openLogicalChannelConfirm,
00613 e_requestChannelCloseRelease,
00614 e_multiplexEntrySendRelease,
00615 e_requestMultiplexEntryRelease,
00616 e_requestModeRelease,
00617 e_miscellaneousIndication,
00618 e_jitterIndication,
00619 e_h223SkewIndication,
00620 e_newATMVCIndication,
00621 e_userInput,
00622 e_h2250MaximumSkewIndication,
00623 e_mcLocationIndication,
00624 e_conferenceIndication,
00625 e_vendorIdentification,
00626 e_functionNotSupported,
00627 e_multilinkIndication,
00628 e_logicalChannelRateRelease,
00629 e_flowControlIndication,
00630 e_mobileMultilinkReconfigurationIndication,
00631 e_genericIndication
00632 };
00633
00634 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00635 operator H245_NonStandardMessage &() const;
00636 #else
00637 operator H245_NonStandardMessage &();
00638 operator const H245_NonStandardMessage &() const;
00639 #endif
00640 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00641 operator H245_FunctionNotUnderstood &() const;
00642 #else
00643 operator H245_FunctionNotUnderstood &();
00644 operator const H245_FunctionNotUnderstood &() const;
00645 #endif
00646 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00647 operator H245_MasterSlaveDeterminationRelease &() const;
00648 #else
00649 operator H245_MasterSlaveDeterminationRelease &();
00650 operator const H245_MasterSlaveDeterminationRelease &() const;
00651 #endif
00652 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00653 operator H245_TerminalCapabilitySetRelease &() const;
00654 #else
00655 operator H245_TerminalCapabilitySetRelease &();
00656 operator const H245_TerminalCapabilitySetRelease &() const;
00657 #endif
00658 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00659 operator H245_OpenLogicalChannelConfirm &() const;
00660 #else
00661 operator H245_OpenLogicalChannelConfirm &();
00662 operator const H245_OpenLogicalChannelConfirm &() const;
00663 #endif
00664 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00665 operator H245_RequestChannelCloseRelease &() const;
00666 #else
00667 operator H245_RequestChannelCloseRelease &();
00668 operator const H245_RequestChannelCloseRelease &() const;
00669 #endif
00670 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00671 operator H245_MultiplexEntrySendRelease &() const;
00672 #else
00673 operator H245_MultiplexEntrySendRelease &();
00674 operator const H245_MultiplexEntrySendRelease &() const;
00675 #endif
00676 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00677 operator H245_RequestMultiplexEntryRelease &() const;
00678 #else
00679 operator H245_RequestMultiplexEntryRelease &();
00680 operator const H245_RequestMultiplexEntryRelease &() const;
00681 #endif
00682 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00683 operator H245_RequestModeRelease &() const;
00684 #else
00685 operator H245_RequestModeRelease &();
00686 operator const H245_RequestModeRelease &() const;
00687 #endif
00688 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00689 operator H245_MiscellaneousIndication &() const;
00690 #else
00691 operator H245_MiscellaneousIndication &();
00692 operator const H245_MiscellaneousIndication &() const;
00693 #endif
00694 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00695 operator H245_JitterIndication &() const;
00696 #else
00697 operator H245_JitterIndication &();
00698 operator const H245_JitterIndication &() const;
00699 #endif
00700 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00701 operator H245_H223SkewIndication &() const;
00702 #else
00703 operator H245_H223SkewIndication &();
00704 operator const H245_H223SkewIndication &() const;
00705 #endif
00706 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00707 operator H245_NewATMVCIndication &() const;
00708 #else
00709 operator H245_NewATMVCIndication &();
00710 operator const H245_NewATMVCIndication &() const;
00711 #endif
00712 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00713 operator H245_UserInputIndication &() const;
00714 #else
00715 operator H245_UserInputIndication &();
00716 operator const H245_UserInputIndication &() const;
00717 #endif
00718 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00719 operator H245_H2250MaximumSkewIndication &() const;
00720 #else
00721 operator H245_H2250MaximumSkewIndication &();
00722 operator const H245_H2250MaximumSkewIndication &() const;
00723 #endif
00724 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00725 operator H245_MCLocationIndication &() const;
00726 #else
00727 operator H245_MCLocationIndication &();
00728 operator const H245_MCLocationIndication &() const;
00729 #endif
00730 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00731 operator H245_ConferenceIndication &() const;
00732 #else
00733 operator H245_ConferenceIndication &();
00734 operator const H245_ConferenceIndication &() const;
00735 #endif
00736 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00737 operator H245_VendorIdentification &() const;
00738 #else
00739 operator H245_VendorIdentification &();
00740 operator const H245_VendorIdentification &() const;
00741 #endif
00742 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00743 operator H245_FunctionNotSupported &() const;
00744 #else
00745 operator H245_FunctionNotSupported &();
00746 operator const H245_FunctionNotSupported &() const;
00747 #endif
00748 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00749 operator H245_MultilinkIndication &() const;
00750 #else
00751 operator H245_MultilinkIndication &();
00752 operator const H245_MultilinkIndication &() const;
00753 #endif
00754 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00755 operator H245_LogicalChannelRateRelease &() const;
00756 #else
00757 operator H245_LogicalChannelRateRelease &();
00758 operator const H245_LogicalChannelRateRelease &() const;
00759 #endif
00760 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00761 operator H245_FlowControlIndication &() const;
00762 #else
00763 operator H245_FlowControlIndication &();
00764 operator const H245_FlowControlIndication &() const;
00765 #endif
00766 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00767 operator H245_MobileMultilinkReconfigurationIndication &() const;
00768 #else
00769 operator H245_MobileMultilinkReconfigurationIndication &();
00770 operator const H245_MobileMultilinkReconfigurationIndication &() const;
00771 #endif
00772 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00773 operator H245_GenericMessage &() const;
00774 #else
00775 operator H245_GenericMessage &();
00776 operator const H245_GenericMessage &() const;
00777 #endif
00778
00779 BOOL CreateObject();
00780 PObject * Clone() const;
00781 };
00782
00783
00784
00785
00786
00787
00788 class H245_SequenceNumber : public PASN_Integer
00789 {
00790 #ifndef PASN_LEANANDMEAN
00791 PCLASSINFO(H245_SequenceNumber, PASN_Integer);
00792 #endif
00793 public:
00794 H245_SequenceNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00795
00796 H245_SequenceNumber & operator=(int v);
00797 H245_SequenceNumber & operator=(unsigned v);
00798 PObject * Clone() const;
00799 };
00800
00801
00802
00803
00804
00805
00806 class H245_NonStandardIdentifier_h221NonStandard;
00807
00808 class H245_NonStandardIdentifier : public PASN_Choice
00809 {
00810 #ifndef PASN_LEANANDMEAN
00811 PCLASSINFO(H245_NonStandardIdentifier, PASN_Choice);
00812 #endif
00813 public:
00814 H245_NonStandardIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00815
00816 enum Choices {
00817 e_object,
00818 e_h221NonStandard
00819 };
00820
00821 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00822 operator H245_NonStandardIdentifier_h221NonStandard &() const;
00823 #else
00824 operator H245_NonStandardIdentifier_h221NonStandard &();
00825 operator const H245_NonStandardIdentifier_h221NonStandard &() const;
00826 #endif
00827
00828 BOOL CreateObject();
00829 PObject * Clone() const;
00830 };
00831
00832
00833
00834
00835
00836
00837 class H245_MasterSlaveDetermination : public PASN_Sequence
00838 {
00839 #ifndef PASN_LEANANDMEAN
00840 PCLASSINFO(H245_MasterSlaveDetermination, PASN_Sequence);
00841 #endif
00842 public:
00843 H245_MasterSlaveDetermination(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00844
00845 PASN_Integer m_terminalType;
00846 PASN_Integer m_statusDeterminationNumber;
00847
00848 PINDEX GetDataLength() const;
00849 BOOL Decode(PASN_Stream & strm);
00850 void Encode(PASN_Stream & strm) const;
00851 #ifndef PASN_NOPRINTON
00852 void PrintOn(ostream & strm) const;
00853 #endif
00854 Comparison Compare(const PObject & obj) const;
00855 PObject * Clone() const;
00856 };
00857
00858
00859
00860
00861
00862
00863 class H245_MasterSlaveDeterminationRelease : public PASN_Sequence
00864 {
00865 #ifndef PASN_LEANANDMEAN
00866 PCLASSINFO(H245_MasterSlaveDeterminationRelease, PASN_Sequence);
00867 #endif
00868 public:
00869 H245_MasterSlaveDeterminationRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00870
00871
00872 PINDEX GetDataLength() const;
00873 BOOL Decode(PASN_Stream & strm);
00874 void Encode(PASN_Stream & strm) const;
00875 #ifndef PASN_NOPRINTON
00876 void PrintOn(ostream & strm) const;
00877 #endif
00878 PObject * Clone() const;
00879 };
00880
00881
00882
00883
00884
00885
00886 class H245_CapabilityTableEntryNumber;
00887
00888 class H245_AlternativeCapabilitySet : public PASN_Array
00889 {
00890 #ifndef PASN_LEANANDMEAN
00891 PCLASSINFO(H245_AlternativeCapabilitySet, PASN_Array);
00892 #endif
00893 public:
00894 H245_AlternativeCapabilitySet(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00895
00896 PASN_Object * CreateObject() const;
00897 H245_CapabilityTableEntryNumber & operator[](PINDEX i) const;
00898 PObject * Clone() const;
00899 };
00900
00901
00902
00903
00904
00905
00906 class H245_CapabilityTableEntryNumber : public PASN_Integer
00907 {
00908 #ifndef PASN_LEANANDMEAN
00909 PCLASSINFO(H245_CapabilityTableEntryNumber, PASN_Integer);
00910 #endif
00911 public:
00912 H245_CapabilityTableEntryNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00913
00914 H245_CapabilityTableEntryNumber & operator=(int v);
00915 H245_CapabilityTableEntryNumber & operator=(unsigned v);
00916 PObject * Clone() const;
00917 };
00918
00919
00920
00921
00922
00923
00924 class H245_CapabilityDescriptorNumber : public PASN_Integer
00925 {
00926 #ifndef PASN_LEANANDMEAN
00927 PCLASSINFO(H245_CapabilityDescriptorNumber, PASN_Integer);
00928 #endif
00929 public:
00930 H245_CapabilityDescriptorNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00931
00932 H245_CapabilityDescriptorNumber & operator=(int v);
00933 H245_CapabilityDescriptorNumber & operator=(unsigned v);
00934 PObject * Clone() const;
00935 };
00936
00937
00938
00939
00940
00941
00942 class H245_NonStandardParameter;
00943 class H245_VideoCapability;
00944 class H245_AudioCapability;
00945 class H245_DataApplicationCapability;
00946 class H245_Capability_h233EncryptionReceiveCapability;
00947 class H245_ConferenceCapability;
00948 class H245_H235SecurityCapability;
00949 class H245_UserInputCapability;
00950 class H245_GenericCapability;
00951 class H245_MultiplexedStreamCapability;
00952 class H245_AudioTelephonyEventCapability;
00953 class H245_AudioToneCapability;
00954 class H245_DepFECCapability;
00955 class H245_MultiplePayloadStreamCapability;
00956 class H245_FECCapability;
00957 class H245_RedundancyEncodingCapability;
00958 class H245_AlternativeCapabilitySet;
00959
00960 class H245_Capability : public PASN_Choice
00961 {
00962 #ifndef PASN_LEANANDMEAN
00963 PCLASSINFO(H245_Capability, PASN_Choice);
00964 #endif
00965 public:
00966 H245_Capability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00967
00968 enum Choices {
00969 e_nonStandard,
00970 e_receiveVideoCapability,
00971 e_transmitVideoCapability,
00972 e_receiveAndTransmitVideoCapability,
00973 e_receiveAudioCapability,
00974 e_transmitAudioCapability,
00975 e_receiveAndTransmitAudioCapability,
00976 e_receiveDataApplicationCapability,
00977 e_transmitDataApplicationCapability,
00978 e_receiveAndTransmitDataApplicationCapability,
00979 e_h233EncryptionTransmitCapability,
00980 e_h233EncryptionReceiveCapability,
00981 e_conferenceCapability,
00982 e_h235SecurityCapability,
00983 e_maxPendingReplacementFor,
00984 e_receiveUserInputCapability,
00985 e_transmitUserInputCapability,
00986 e_receiveAndTransmitUserInputCapability,
00987 e_genericControlCapability,
00988 e_receiveMultiplexedStreamCapability,
00989 e_transmitMultiplexedStreamCapability,
00990 e_receiveAndTransmitMultiplexedStreamCapability,
00991 e_receiveRTPAudioTelephonyEventCapability,
00992 e_receiveRTPAudioToneCapability,
00993 e_depFecCapability,
00994 e_multiplePayloadStreamCapability,
00995 e_fecCapability,
00996 e_redundancyEncodingCap,
00997 e_oneOfCapabilities
00998 };
00999
01000 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01001 operator H245_NonStandardParameter &() const;
01002 #else
01003 operator H245_NonStandardParameter &();
01004 operator const H245_NonStandardParameter &() const;
01005 #endif
01006 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01007 operator H245_VideoCapability &() const;
01008 #else
01009 operator H245_VideoCapability &();
01010 operator const H245_VideoCapability &() const;
01011 #endif
01012 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01013 operator H245_AudioCapability &() const;
01014 #else
01015 operator H245_AudioCapability &();
01016 operator const H245_AudioCapability &() const;
01017 #endif
01018 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01019 operator H245_DataApplicationCapability &() const;
01020 #else
01021 operator H245_DataApplicationCapability &();
01022 operator const H245_DataApplicationCapability &() const;
01023 #endif
01024 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01025 operator H245_Capability_h233EncryptionReceiveCapability &() const;
01026 #else
01027 operator H245_Capability_h233EncryptionReceiveCapability &();
01028 operator const H245_Capability_h233EncryptionReceiveCapability &() const;
01029 #endif
01030 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01031 operator H245_ConferenceCapability &() const;
01032 #else
01033 operator H245_ConferenceCapability &();
01034 operator const H245_ConferenceCapability &() const;
01035 #endif
01036 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01037 operator H245_H235SecurityCapability &() const;
01038 #else
01039 operator H245_H235SecurityCapability &();
01040 operator const H245_H235SecurityCapability &() const;
01041 #endif
01042 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01043 operator H245_UserInputCapability &() const;
01044 #else
01045 operator H245_UserInputCapability &();
01046 operator const H245_UserInputCapability &() const;
01047 #endif
01048 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01049 operator H245_GenericCapability &() const;
01050 #else
01051 operator H245_GenericCapability &();
01052 operator const H245_GenericCapability &() const;
01053 #endif
01054 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01055 operator H245_MultiplexedStreamCapability &() const;
01056 #else
01057 operator H245_MultiplexedStreamCapability &();
01058 operator const H245_MultiplexedStreamCapability &() const;
01059 #endif
01060 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01061 operator H245_AudioTelephonyEventCapability &() const;
01062 #else
01063 operator H245_AudioTelephonyEventCapability &();
01064 operator const H245_AudioTelephonyEventCapability &() const;
01065 #endif
01066 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01067 operator H245_AudioToneCapability &() const;
01068 #else
01069 operator H245_AudioToneCapability &();
01070 operator const H245_AudioToneCapability &() const;
01071 #endif
01072 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01073 operator H245_DepFECCapability &() const;
01074 #else
01075 operator H245_DepFECCapability &();
01076 operator const H245_DepFECCapability &() const;
01077 #endif
01078 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01079 operator H245_MultiplePayloadStreamCapability &() const;
01080 #else
01081 operator H245_MultiplePayloadStreamCapability &();
01082 operator const H245_MultiplePayloadStreamCapability &() const;
01083 #endif
01084 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01085 operator H245_FECCapability &() const;
01086 #else
01087 operator H245_FECCapability &();
01088 operator const H245_FECCapability &() const;
01089 #endif
01090 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01091 operator H245_RedundancyEncodingCapability &() const;
01092 #else
01093 operator H245_RedundancyEncodingCapability &();
01094 operator const H245_RedundancyEncodingCapability &() const;
01095 #endif
01096 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01097 operator H245_AlternativeCapabilitySet &() const;
01098 #else
01099 operator H245_AlternativeCapabilitySet &();
01100 operator const H245_AlternativeCapabilitySet &() const;
01101 #endif
01102
01103 BOOL CreateObject();
01104 PObject * Clone() const;
01105 };
01106
01107
01108
01109
01110
01111
01112 class H245_NonStandardParameter;
01113 class H245_H222Capability;
01114 class H245_H223Capability;
01115 class H245_V76Capability;
01116 class H245_H2250Capability;
01117 class H245_GenericCapability;
01118
01119 class H245_MultiplexCapability : public PASN_Choice
01120 {
01121 #ifndef PASN_LEANANDMEAN
01122 PCLASSINFO(H245_MultiplexCapability, PASN_Choice);
01123 #endif
01124 public:
01125 H245_MultiplexCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01126
01127 enum Choices {
01128 e_nonStandard,
01129 e_h222Capability,
01130 e_h223Capability,
01131 e_v76Capability,
01132 e_h2250Capability,
01133 e_genericMultiplexCapability
01134 };
01135
01136 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01137 operator H245_NonStandardParameter &() const;
01138 #else
01139 operator H245_NonStandardParameter &();
01140 operator const H245_NonStandardParameter &() const;
01141 #endif
01142 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01143 operator H245_H222Capability &() const;
01144 #else
01145 operator H245_H222Capability &();
01146 operator const H245_H222Capability &() const;
01147 #endif
01148 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01149 operator H245_H223Capability &() const;
01150 #else
01151 operator H245_H223Capability &();
01152 operator const H245_H223Capability &() const;
01153 #endif
01154 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01155 operator H245_V76Capability &() const;
01156 #else
01157 operator H245_V76Capability &();
01158 operator const H245_V76Capability &() const;
01159 #endif
01160 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01161 operator H245_H2250Capability &() const;
01162 #else
01163 operator H245_H2250Capability &();
01164 operator const H245_H2250Capability &() const;
01165 #endif
01166 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01167 operator H245_GenericCapability &() const;
01168 #else
01169 operator H245_GenericCapability &();
01170 operator const H245_GenericCapability &() const;
01171 #endif
01172
01173 BOOL CreateObject();
01174 PObject * Clone() const;
01175 };
01176
01177
01178
01179
01180
01181
01182 class H245_H223AnnexCCapability : public PASN_Sequence
01183 {
01184 #ifndef PASN_LEANANDMEAN
01185 PCLASSINFO(H245_H223AnnexCCapability, PASN_Sequence);
01186 #endif
01187 public:
01188 H245_H223AnnexCCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01189
01190 enum OptionalFields {
01191 e_rsCodeCapability
01192 };
01193
01194 PASN_Boolean m_videoWithAL1M;
01195 PASN_Boolean m_videoWithAL2M;
01196 PASN_Boolean m_videoWithAL3M;
01197 PASN_Boolean m_audioWithAL1M;
01198 PASN_Boolean m_audioWithAL2M;
01199 PASN_Boolean m_audioWithAL3M;
01200 PASN_Boolean m_dataWithAL1M;
01201 PASN_Boolean m_dataWithAL2M;
01202 PASN_Boolean m_dataWithAL3M;
01203 PASN_Boolean m_alpduInterleaving;
01204 PASN_Integer m_maximumAL1MPDUSize;
01205 PASN_Integer m_maximumAL2MSDUSize;
01206 PASN_Integer m_maximumAL3MSDUSize;
01207 PASN_Boolean m_rsCodeCapability;
01208
01209 PINDEX GetDataLength() const;
01210 BOOL Decode(PASN_Stream & strm);
01211 void Encode(PASN_Stream & strm) const;
01212 #ifndef PASN_NOPRINTON
01213 void PrintOn(ostream & strm) const;
01214 #endif
01215 Comparison Compare(const PObject & obj) const;
01216 PObject * Clone() const;
01217 };
01218
01219
01220
01221
01222
01223
01224 class H245_V75Capability : public PASN_Sequence
01225 {
01226 #ifndef PASN_LEANANDMEAN
01227 PCLASSINFO(H245_V75Capability, PASN_Sequence);
01228 #endif
01229 public:
01230 H245_V75Capability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01231
01232 PASN_Boolean m_audioHeader;
01233
01234 PINDEX GetDataLength() const;
01235 BOOL Decode(PASN_Stream & strm);
01236 void Encode(PASN_Stream & strm) const;
01237 #ifndef PASN_NOPRINTON
01238 void PrintOn(ostream & strm) const;
01239 #endif
01240 Comparison Compare(const PObject & obj) const;
01241 PObject * Clone() const;
01242 };
01243
01244
01245
01246
01247
01248
01249 class H245_QOSMode : public PASN_Choice
01250 {
01251 #ifndef PASN_LEANANDMEAN
01252 PCLASSINFO(H245_QOSMode, PASN_Choice);
01253 #endif
01254 public:
01255 H245_QOSMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01256
01257 enum Choices {
01258 e_guaranteedQOS,
01259 e_controlledLoad
01260 };
01261
01262 BOOL CreateObject();
01263 PObject * Clone() const;
01264 };
01265
01266
01267
01268
01269
01270
01271 class H245_ATMParameters : public PASN_Sequence
01272 {
01273 #ifndef PASN_LEANANDMEAN
01274 PCLASSINFO(H245_ATMParameters, PASN_Sequence);
01275 #endif
01276 public:
01277 H245_ATMParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01278
01279 PASN_Integer m_maxNTUSize;
01280 PASN_Boolean m_atmUBR;
01281 PASN_Boolean m_atmrtVBR;
01282 PASN_Boolean m_atmnrtVBR;
01283 PASN_Boolean m_atmABR;
01284 PASN_Boolean m_atmCBR;
01285
01286 PINDEX GetDataLength() const;
01287 BOOL Decode(PASN_Stream & strm);
01288 void Encode(PASN_Stream & strm) const;
01289 #ifndef PASN_NOPRINTON
01290 void PrintOn(ostream & strm) const;
01291 #endif
01292 Comparison Compare(const PObject & obj) const;
01293 PObject * Clone() const;
01294 };
01295
01296
01297
01298
01299
01300
01301 class H245_QOSType : public PASN_Choice
01302 {
01303 #ifndef PASN_LEANANDMEAN
01304 PCLASSINFO(H245_QOSType, PASN_Choice);
01305 #endif
01306 public:
01307 H245_QOSType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01308
01309 enum Choices {
01310 e_desired,
01311 e_required
01312 };
01313
01314 BOOL CreateObject();
01315 PObject * Clone() const;
01316 };
01317
01318
01319
01320
01321
01322
01323 class H245_QOSClass : public PASN_Choice
01324 {
01325 #ifndef PASN_LEANANDMEAN
01326 PCLASSINFO(H245_QOSClass, PASN_Choice);
01327 #endif
01328 public:
01329 H245_QOSClass(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01330
01331 enum Choices {
01332 e_class0,
01333 e_class1,
01334 e_class2,
01335 e_class3,
01336 e_class4,
01337 e_class5
01338 };
01339
01340 BOOL CreateObject();
01341 PObject * Clone() const;
01342 };
01343
01344
01345
01346
01347
01348
01349 class H245_MediaTransportType_atm_AAL5_compressed;
01350
01351 class H245_MediaTransportType : public PASN_Choice
01352 {
01353 #ifndef PASN_LEANANDMEAN
01354 PCLASSINFO(H245_MediaTransportType, PASN_Choice);
01355 #endif
01356 public:
01357 H245_MediaTransportType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01358
01359 enum Choices {
01360 e_ip_UDP,
01361 e_ip_TCP,
01362 e_atm_AAL5_UNIDIR,
01363 e_atm_AAL5_BIDIR,
01364 e_atm_AAL5_compressed
01365 };
01366
01367 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01368 operator H245_MediaTransportType_atm_AAL5_compressed &() const;
01369 #else
01370 operator H245_MediaTransportType_atm_AAL5_compressed &();
01371 operator const H245_MediaTransportType_atm_AAL5_compressed &() const;
01372 #endif
01373
01374 BOOL CreateObject();
01375 PObject * Clone() const;
01376 };
01377
01378
01379
01380
01381
01382
01383 class H245_MediaChannelCapability : public PASN_Sequence
01384 {
01385 #ifndef PASN_LEANANDMEAN
01386 PCLASSINFO(H245_MediaChannelCapability, PASN_Sequence);
01387 #endif
01388 public:
01389 H245_MediaChannelCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01390
01391 enum OptionalFields {
01392 e_mediaTransport
01393 };
01394
01395 H245_MediaTransportType m_mediaTransport;
01396
01397 PINDEX GetDataLength() const;
01398 BOOL Decode(PASN_Stream & strm);
01399 void Encode(PASN_Stream & strm) const;
01400 #ifndef PASN_NOPRINTON
01401 void PrintOn(ostream & strm) const;
01402 #endif
01403 Comparison Compare(const PObject & obj) const;
01404 PObject * Clone() const;
01405 };
01406
01407
01408
01409
01410
01411
01412 class H245_NonStandardParameter;
01413 class H245_RTPH263VideoRedundancyEncoding;
01414
01415 class H245_RedundancyEncodingMethod : public PASN_Choice
01416 {
01417 #ifndef PASN_LEANANDMEAN
01418 PCLASSINFO(H245_RedundancyEncodingMethod, PASN_Choice);
01419 #endif
01420 public:
01421 H245_RedundancyEncodingMethod(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01422
01423 enum Choices {
01424 e_nonStandard,
01425 e_rtpAudioRedundancyEncoding,
01426 e_rtpH263VideoRedundancyEncoding
01427 };
01428
01429 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01430 operator H245_NonStandardParameter &() const;
01431 #else
01432 operator H245_NonStandardParameter &();
01433 operator const H245_NonStandardParameter &() const;
01434 #endif
01435 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01436 operator H245_RTPH263VideoRedundancyEncoding &() const;
01437 #else
01438 operator H245_RTPH263VideoRedundancyEncoding &();
01439 operator const H245_RTPH263VideoRedundancyEncoding &() const;
01440 #endif
01441
01442 BOOL CreateObject();
01443 PObject * Clone() const;
01444 };
01445
01446
01447
01448
01449
01450
01451 class H245_NonStandardParameter;
01452 class H245_H261VideoCapability;
01453 class H245_H262VideoCapability;
01454 class H245_H263VideoCapability;
01455 class H245_IS11172VideoCapability;
01456 class H245_GenericCapability;
01457 class H245_ExtendedVideoCapability;
01458
01459 class H245_VideoCapability : public PASN_Choice
01460 {
01461 #ifndef PASN_LEANANDMEAN
01462 PCLASSINFO(H245_VideoCapability, PASN_Choice);
01463 #endif
01464 public:
01465 H245_VideoCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01466
01467 enum Choices {
01468 e_nonStandard,
01469 e_h261VideoCapability,
01470 e_h262VideoCapability,
01471 e_h263VideoCapability,
01472 e_is11172VideoCapability,
01473 e_genericVideoCapability,
01474 e_extendedVideoCapability
01475 };
01476
01477 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01478 operator H245_NonStandardParameter &() const;
01479 #else
01480 operator H245_NonStandardParameter &();
01481 operator const H245_NonStandardParameter &() const;
01482 #endif
01483 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01484 operator H245_H261VideoCapability &() const;
01485 #else
01486 operator H245_H261VideoCapability &();
01487 operator const H245_H261VideoCapability &() const;
01488 #endif
01489 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01490 operator H245_H262VideoCapability &() const;
01491 #else
01492 operator H245_H262VideoCapability &();
01493 operator const H245_H262VideoCapability &() const;
01494 #endif
01495 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01496 operator H245_H263VideoCapability &() const;
01497 #else
01498 operator H245_H263VideoCapability &();
01499 operator const H245_H263VideoCapability &() const;
01500 #endif
01501 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01502 operator H245_IS11172VideoCapability &() const;
01503 #else
01504 operator H245_IS11172VideoCapability &();
01505 operator const H245_IS11172VideoCapability &() const;
01506 #endif
01507 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01508 operator H245_GenericCapability &() const;
01509 #else
01510 operator H245_GenericCapability &();
01511 operator const H245_GenericCapability &() const;
01512 #endif
01513 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01514 operator H245_ExtendedVideoCapability &() const;
01515 #else
01516 operator H245_ExtendedVideoCapability &();
01517 operator const H245_ExtendedVideoCapability &() const;
01518 #endif
01519
01520 BOOL CreateObject();
01521 PObject * Clone() const;
01522 };
01523
01524
01525
01526
01527
01528
01529 class H245_H261VideoCapability : public PASN_Sequence
01530 {
01531 #ifndef PASN_LEANANDMEAN
01532 PCLASSINFO(H245_H261VideoCapability, PASN_Sequence);
01533 #endif
01534 public:
01535 H245_H261VideoCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01536
01537 enum OptionalFields {
01538 e_qcifMPI,
01539 e_cifMPI,
01540 e_videoBadMBsCap
01541 };
01542
01543 PASN_Integer m_qcifMPI;
01544 PASN_Integer m_cifMPI;
01545 PASN_Boolean m_temporalSpatialTradeOffCapability;
01546 PASN_Integer m_maxBitRate;
01547 PASN_Boolean m_stillImageTransmission;
01548 PASN_Boolean m_videoBadMBsCap;
01549
01550 PINDEX GetDataLength() const;
01551 BOOL Decode(PASN_Stream & strm);
01552 void Encode(PASN_Stream & strm) const;
01553 #ifndef PASN_NOPRINTON
01554 void PrintOn(ostream & strm) const;
01555 #endif
01556 Comparison Compare(const PObject & obj) const;
01557 PObject * Clone() const;
01558 };
01559
01560
01561
01562
01563
01564
01565 class H245_H262VideoCapability : public PASN_Sequence
01566 {
01567 #ifndef PASN_LEANANDMEAN
01568 PCLASSINFO(H245_H262VideoCapability, PASN_Sequence);
01569 #endif
01570 public:
01571 H245_H262VideoCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01572
01573 enum OptionalFields {
01574 e_videoBitRate,
01575 e_vbvBufferSize,
01576 e_samplesPerLine,
01577 e_linesPerFrame,
01578 e_framesPerSecond,
01579 e_luminanceSampleRate
01580 };
01581
01582 PASN_Boolean m_profileAndLevel_SPatML;
01583 PASN_Boolean m_profileAndLevel_MPatLL;
01584 PASN_Boolean m_profileAndLevel_MPatML;
01585 PASN_Boolean m_profileAndLevel_MPatH_14;
01586 PASN_Boolean m_profileAndLevel_MPatHL;
01587 PASN_Boolean m_profileAndLevel_SNRatLL;
01588 PASN_Boolean m_profileAndLevel_SNRatML;
01589 PASN_Boolean m_profileAndLevel_SpatialatH_14;
01590 PASN_Boolean m_profileAndLevel_HPatML;
01591 PASN_Boolean m_profileAndLevel_HPatH_14;
01592 PASN_Boolean m_profileAndLevel_HPatHL;
01593 PASN_Integer m_videoBitRate;
01594 PASN_Integer m_vbvBufferSize;
01595 PASN_Integer m_samplesPerLine;
01596 PASN_Integer m_linesPerFrame;
01597 PASN_Integer m_framesPerSecond;
01598 PASN_Integer m_luminanceSampleRate;
01599 PASN_Boolean m_videoBadMBsCap;
01600
01601 PINDEX GetDataLength() const;
01602 BOOL Decode(PASN_Stream & strm);
01603 void Encode(PASN_Stream & strm) const;
01604 #ifndef PASN_NOPRINTON
01605 void PrintOn(ostream & strm) const;
01606 #endif
01607 Comparison Compare(const PObject & obj) const;
01608 PObject * Clone() const;
01609 };
01610
01611
01612
01613
01614
01615
01616 class H245_TransparencyParameters : public PASN_Sequence
01617 {
01618 #ifndef PASN_LEANANDMEAN
01619 PCLASSINFO(H245_TransparencyParameters, PASN_Sequence);
01620 #endif
01621 public:
01622 H245_TransparencyParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01623
01624 PASN_Integer m_presentationOrder;
01625 PASN_Integer m_offset_x;
01626 PASN_Integer m_offset_y;
01627 PASN_Integer m_scale_x;
01628 PASN_Integer m_scale_y;
01629
01630 PINDEX GetDataLength() const;
01631 BOOL Decode(PASN_Stream & strm);
01632 void Encode(PASN_Stream & strm) const;
01633 #ifndef PASN_NOPRINTON
01634 void PrintOn(ostream & strm) const;
01635 #endif
01636 Comparison Compare(const PObject & obj) const;
01637 PObject * Clone() const;
01638 };
01639
01640
01641
01642
01643
01644
01645 class H245_CustomPictureClockFrequency : public PASN_Sequence
01646 {
01647 #ifndef PASN_LEANANDMEAN
01648 PCLASSINFO(H245_CustomPictureClockFrequency, PASN_Sequence);
01649 #endif
01650 public:
01651 H245_CustomPictureClockFrequency(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01652
01653 enum OptionalFields {
01654 e_sqcifMPI,
01655 e_qcifMPI,
01656 e_cifMPI,
01657 e_cif4MPI,
01658 e_cif16MPI
01659 };
01660
01661 PASN_Integer m_clockConversionCode;
01662 PASN_Integer m_clockDivisor;
01663 PASN_Integer m_sqcifMPI;
01664 PASN_Integer m_qcifMPI;
01665 PASN_Integer m_cifMPI;
01666 PASN_Integer m_cif4MPI;
01667 PASN_Integer m_cif16MPI;
01668
01669 PINDEX GetDataLength() const;
01670 BOOL Decode(PASN_Stream & strm);
01671 void Encode(PASN_Stream & strm) const;
01672 #ifndef PASN_NOPRINTON
01673 void PrintOn(ostream & strm) const;
01674 #endif
01675 Comparison Compare(const PObject & obj) const;
01676 PObject * Clone() const;
01677 };
01678
01679
01680
01681
01682
01683
01684 class H245_H263Version3Options : public PASN_Sequence
01685 {
01686 #ifndef PASN_LEANANDMEAN
01687 PCLASSINFO(H245_H263Version3Options, PASN_Sequence);
01688 #endif
01689 public:
01690 H245_H263Version3Options(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01691
01692 PASN_Boolean m_dataPartitionedSlices;
01693 PASN_Boolean m_fixedPointIDCT0;
01694 PASN_Boolean m_interlacedFields;
01695 PASN_Boolean m_currentPictureHeaderRepetition;
01696 PASN_Boolean m_previousPictureHeaderRepetition;
01697 PASN_Boolean m_nextPictureHeaderRepetition;
01698 PASN_Boolean m_pictureNumber;
01699 PASN_Boolean m_spareReferencePictures;
01700
01701 PINDEX GetDataLength() const;
01702 BOOL Decode(PASN_Stream & strm);
01703 void Encode(PASN_Stream & strm) const;
01704 #ifndef PASN_NOPRINTON
01705 void PrintOn(ostream & strm) const;
01706 #endif
01707 Comparison Compare(const PObject & obj) const;
01708 PObject * Clone() const;
01709 };
01710
01711
01712
01713
01714
01715
01716 class H245_IS11172VideoCapability : public PASN_Sequence
01717 {
01718 #ifndef PASN_LEANANDMEAN
01719 PCLASSINFO(H245_IS11172VideoCapability, PASN_Sequence);
01720 #endif
01721 public:
01722 H245_IS11172VideoCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01723
01724 enum OptionalFields {
01725 e_videoBitRate,
01726 e_vbvBufferSize,
01727 e_samplesPerLine,
01728 e_linesPerFrame,
01729 e_pictureRate,
01730 e_luminanceSampleRate,
01731 e_videoBadMBsCap
01732 };
01733
01734 PASN_Boolean m_constrainedBitstream;
01735 PASN_Integer m_videoBitRate;
01736 PASN_Integer m_vbvBufferSize;
01737 PASN_Integer m_samplesPerLine;
01738 PASN_Integer m_linesPerFrame;
01739 PASN_Integer m_pictureRate;
01740 PASN_Integer m_luminanceSampleRate;
01741 PASN_Boolean m_videoBadMBsCap;
01742
01743 PINDEX GetDataLength() const;
01744 BOOL Decode(PASN_Stream & strm);
01745 void Encode(PASN_Stream & strm) const;
01746 #ifndef PASN_NOPRINTON
01747 void PrintOn(ostream & strm) const;
01748 #endif
01749 Comparison Compare(const PObject & obj) const;
01750 PObject * Clone() const;
01751 };
01752
01753
01754
01755
01756
01757
01758 class H245_NonStandardParameter;
01759 class H245_AudioCapability_g7231;
01760 class H245_IS11172AudioCapability;
01761 class H245_IS13818AudioCapability;
01762 class H245_G7231AnnexCCapability;
01763 class H245_GSMAudioCapability;
01764 class H245_GenericCapability;
01765 class H245_G729Extensions;
01766 class H245_VBDCapability;
01767 class H245_NoPTAudioTelephonyEventCapability;
01768 class H245_NoPTAudioToneCapability;
01769
01770 class H245_AudioCapability : public PASN_Choice
01771 {
01772 #ifndef PASN_LEANANDMEAN
01773 PCLASSINFO(H245_AudioCapability, PASN_Choice);
01774 #endif
01775 public:
01776 H245_AudioCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01777
01778 enum Choices {
01779 e_nonStandard,
01780 e_g711Alaw64k,
01781 e_g711Alaw56k,
01782 e_g711Ulaw64k,
01783 e_g711Ulaw56k,
01784 e_g722_64k,
01785 e_g722_56k,
01786 e_g722_48k,
01787 e_g7231,
01788 e_g728,
01789 e_g729,
01790 e_g729AnnexA,
01791 e_is11172AudioCapability,
01792 e_is13818AudioCapability,
01793 e_g729wAnnexB,
01794 e_g729AnnexAwAnnexB,
01795 e_g7231AnnexCCapability,
01796 e_gsmFullRate,
01797 e_gsmHalfRate,
01798 e_gsmEnhancedFullRate,
01799 e_genericAudioCapability,
01800 e_g729Extensions,
01801 e_vbd,
01802 e_audioTelephonyEvent,
01803 e_audioTone
01804 };
01805
01806 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01807 operator H245_NonStandardParameter &() const;
01808 #else
01809 operator H245_NonStandardParameter &();
01810 operator const H245_NonStandardParameter &() const;
01811 #endif
01812 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01813 operator H245_AudioCapability_g7231 &() const;
01814 #else
01815 operator H245_AudioCapability_g7231 &();
01816 operator const H245_AudioCapability_g7231 &() const;
01817 #endif
01818 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01819 operator H245_IS11172AudioCapability &() const;
01820 #else
01821 operator H245_IS11172AudioCapability &();
01822 operator const H245_IS11172AudioCapability &() const;
01823 #endif
01824 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01825 operator H245_IS13818AudioCapability &() const;
01826 #else
01827 operator H245_IS13818AudioCapability &();
01828 operator const H245_IS13818AudioCapability &() const;
01829 #endif
01830 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01831 operator H245_G7231AnnexCCapability &() const;
01832 #else
01833 operator H245_G7231AnnexCCapability &();
01834 operator const H245_G7231AnnexCCapability &() const;
01835 #endif
01836 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01837 operator H245_GSMAudioCapability &() const;
01838 #else
01839 operator H245_GSMAudioCapability &();
01840 operator const H245_GSMAudioCapability &() const;
01841 #endif
01842 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01843 operator H245_GenericCapability &() const;
01844 #else
01845 operator H245_GenericCapability &();
01846 operator const H245_GenericCapability &() const;
01847 #endif
01848 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01849 operator H245_G729Extensions &() const;
01850 #else
01851 operator H245_G729Extensions &();
01852 operator const H245_G729Extensions &() const;
01853 #endif
01854 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01855 operator H245_VBDCapability &() const;
01856 #else
01857 operator H245_VBDCapability &();
01858 operator const H245_VBDCapability &() const;
01859 #endif
01860 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01861 operator H245_NoPTAudioTelephonyEventCapability &() const;
01862 #else
01863 operator H245_NoPTAudioTelephonyEventCapability &();
01864 operator const H245_NoPTAudioTelephonyEventCapability &() const;
01865 #endif
01866 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01867 operator H245_NoPTAudioToneCapability &() const;
01868 #else
01869 operator H245_NoPTAudioToneCapability &();
01870 operator const H245_NoPTAudioToneCapability &() const;
01871 #endif
01872
01873 #ifndef PASN_NOPRINTON
01874 void PrintOn(ostream & strm) const;
01875 #endif
01876 BOOL CreateObject();
01877 PObject * Clone() const;
01878 };
01879
01880
01881
01882
01883
01884
01885 class H245_G729Extensions : public PASN_Sequence
01886 {
01887 #ifndef PASN_LEANANDMEAN
01888 PCLASSINFO(H245_G729Extensions, PASN_Sequence);
01889 #endif
01890 public:
01891 H245_G729Extensions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01892
01893 enum OptionalFields {
01894 e_audioUnit
01895 };
01896
01897 PASN_Integer m_audioUnit;
01898 PASN_Boolean m_annexA;
01899 PASN_Boolean m_annexB;
01900 PASN_Boolean m_annexD;
01901 PASN_Boolean m_annexE;
01902 PASN_Boolean m_annexF;
01903 PASN_Boolean m_annexG;
01904 PASN_Boolean m_annexH;
01905
01906 PINDEX GetDataLength() const;
01907 BOOL Decode(PASN_Stream & strm);
01908 void Encode(PASN_Stream & strm) const;
01909 #ifndef PASN_NOPRINTON
01910 void PrintOn(ostream & strm) const;
01911 #endif
01912 Comparison Compare(const PObject & obj) const;
01913 PObject * Clone() const;
01914 };
01915
01916
01917
01918
01919
01920
01921 class H245_IS11172AudioCapability : public PASN_Sequence
01922 {
01923 #ifndef PASN_LEANANDMEAN
01924 PCLASSINFO(H245_IS11172AudioCapability, PASN_Sequence);
01925 #endif
01926 public:
01927 H245_IS11172AudioCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01928
01929 PASN_Boolean m_audioLayer1;
01930 PASN_Boolean m_audioLayer2;
01931 PASN_Boolean m_audioLayer3;
01932 PASN_Boolean m_audioSampling32k;
01933 PASN_Boolean m_audioSampling44k1;
01934 PASN_Boolean m_audioSampling48k;
01935 PASN_Boolean m_singleChannel;
01936 PASN_Boolean m_twoChannels;
01937 PASN_Integer m_bitRate;
01938
01939 PINDEX GetDataLength() const;
01940 BOOL Decode(PASN_Stream & strm);
01941 void Encode(PASN_Stream & strm) const;
01942 #ifndef PASN_NOPRINTON
01943 void PrintOn(ostream & strm) const;
01944 #endif
01945 Comparison Compare(const PObject & obj) const;
01946 PObject * Clone() const;
01947 };
01948
01949
01950
01951
01952
01953
01954 class H245_IS13818AudioCapability : public PASN_Sequence
01955 {
01956 #ifndef PASN_LEANANDMEAN
01957 PCLASSINFO(H245_IS13818AudioCapability, PASN_Sequence);
01958 #endif
01959 public:
01960 H245_IS13818AudioCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01961
01962 PASN_Boolean m_audioLayer1;
01963 PASN_Boolean m_audioLayer2;
01964 PASN_Boolean m_audioLayer3;
01965 PASN_Boolean m_audioSampling16k;
01966 PASN_Boolean m_audioSampling22k05;
01967 PASN_Boolean m_audioSampling24k;
01968 PASN_Boolean m_audioSampling32k;
01969 PASN_Boolean m_audioSampling44k1;
01970 PASN_Boolean m_audioSampling48k;
01971 PASN_Boolean m_singleChannel;
01972 PASN_Boolean m_twoChannels;
01973 PASN_Boolean m_threeChannels2_1;
01974 PASN_Boolean m_threeChannels3_0;
01975 PASN_Boolean m_fourChannels2_0_2_0;
01976 PASN_Boolean m_fourChannels2_2;
01977 PASN_Boolean m_fourChannels3_1;
01978 PASN_Boolean m_fiveChannels3_0_2_0;
01979 PASN_Boolean m_fiveChannels3_2;
01980 PASN_Boolean m_lowFrequencyEnhancement;
01981 PASN_Boolean m_multilingual;
01982 PASN_Integer m_bitRate;
01983
01984 PINDEX GetDataLength() const;
01985 BOOL Decode(PASN_Stream & strm);
01986 void Encode(PASN_Stream & strm) const;
01987 #ifndef PASN_NOPRINTON
01988 void PrintOn(ostream & strm) const;
01989 #endif
01990 Comparison Compare(const PObject & obj) const;
01991 PObject * Clone() const;
01992 };
01993
01994
01995
01996
01997
01998
01999 class H245_GSMAudioCapability : public PASN_Sequence
02000 {
02001 #ifndef PASN_LEANANDMEAN
02002 PCLASSINFO(H245_GSMAudioCapability, PASN_Sequence);
02003 #endif
02004 public:
02005 H245_GSMAudioCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02006
02007 PASN_Integer m_audioUnitSize;
02008 PASN_Boolean m_comfortNoise;
02009 PASN_Boolean m_scrambled;
02010
02011 PINDEX GetDataLength() const;
02012 BOOL Decode(PASN_Stream & strm);
02013 void Encode(PASN_Stream & strm) const;
02014 #ifndef PASN_NOPRINTON
02015 void PrintOn(ostream & strm) const;
02016 #endif
02017 Comparison Compare(const PObject & obj) const;
02018 PObject * Clone() const;
02019 };
02020
02021
02022
02023
02024
02025
02026 class H245_VBDCapability : public PASN_Sequence
02027 {
02028 #ifndef PASN_LEANANDMEAN
02029 PCLASSINFO(H245_VBDCapability, PASN_Sequence);
02030 #endif
02031 public:
02032 H245_VBDCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02033
02034 H245_AudioCapability m_type;
02035
02036 PINDEX GetDataLength() const;
02037 BOOL Decode(PASN_Stream & strm);
02038 void Encode(PASN_Stream & strm) const;
02039 #ifndef PASN_NOPRINTON
02040 void PrintOn(ostream & strm) const;
02041 #endif
02042 Comparison Compare(const PObject & obj) const;
02043 PObject * Clone() const;
02044 };
02045
02046
02047
02048
02049
02050
02051 class H245_NonStandardParameter;
02052 class H245_DataProtocolCapability_v76wCompression;
02053
02054 class H245_DataProtocolCapability : public PASN_Choice
02055 {
02056 #ifndef PASN_LEANANDMEAN
02057 PCLASSINFO(H245_DataProtocolCapability, PASN_Choice);
02058 #endif
02059 public:
02060 H245_DataProtocolCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02061
02062 enum Choices {
02063 e_nonStandard,
02064 e_v14buffered,
02065 e_v42lapm,
02066 e_hdlcFrameTunnelling,
02067 e_h310SeparateVCStack,
02068 e_h310SingleVCStack,
02069 e_transparent,
02070 e_segmentationAndReassembly,
02071 e_hdlcFrameTunnelingwSAR,
02072 e_v120,
02073 e_separateLANStack,
02074 e_v76wCompression,
02075 e_tcp,
02076 e_udp
02077 };
02078
02079 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02080 operator H245_NonStandardParameter &() const;
02081 #else
02082 operator H245_NonStandardParameter &();
02083 operator const H245_NonStandardParameter &() const;
02084 #endif
02085 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02086 operator H245_DataProtocolCapability_v76wCompression &() const;
02087 #else
02088 operator H245_DataProtocolCapability_v76wCompression &();
02089 operator const H245_DataProtocolCapability_v76wCompression &() const;
02090 #endif
02091
02092 BOOL CreateObject();
02093 PObject * Clone() const;
02094 };
02095
02096
02097
02098
02099
02100
02101 class H245_V42bis;
02102
02103 class H245_CompressionType : public PASN_Choice
02104 {
02105 #ifndef PASN_LEANANDMEAN
02106 PCLASSINFO(H245_CompressionType, PASN_Choice);
02107 #endif
02108 public:
02109 H245_CompressionType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02110
02111 enum Choices {
02112 e_v42bis
02113 };
02114
02115 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02116 operator H245_V42bis &() const;
02117 #else
02118 operator H245_V42bis &();
02119 operator const H245_V42bis &() const;
02120 #endif
02121
02122 BOOL CreateObject();
02123 PObject * Clone() const;
02124 };
02125
02126
02127
02128
02129
02130
02131 class H245_V42bis : public PASN_Sequence
02132 {
02133 #ifndef PASN_LEANANDMEAN
02134 PCLASSINFO(H245_V42bis, PASN_Sequence);
02135 #endif
02136 public:
02137 H245_V42bis(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02138
02139 PASN_Integer m_numberOfCodewords;
02140 PASN_Integer m_maximumStringLength;
02141
02142 PINDEX GetDataLength() const;
02143 BOOL Decode(PASN_Stream & strm);
02144 void Encode(PASN_Stream & strm) const;
02145 #ifndef PASN_NOPRINTON
02146 void PrintOn(ostream & strm) const;
02147 #endif
02148 Comparison Compare(const PObject & obj) const;
02149 PObject * Clone() const;
02150 };
02151
02152
02153
02154
02155
02156
02157 class H245_T84Profile_t84Restricted;
02158
02159 class H245_T84Profile : public PASN_Choice
02160 {
02161 #ifndef PASN_LEANANDMEAN
02162 PCLASSINFO(H245_T84Profile, PASN_Choice);
02163 #endif
02164 public:
02165 H245_T84Profile(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02166
02167 enum Choices {
02168 e_t84Unrestricted,
02169 e_t84Restricted
02170 };
02171
02172 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02173 operator H245_T84Profile_t84Restricted &() const;
02174 #else
02175 operator H245_T84Profile_t84Restricted &();
02176 operator const H245_T84Profile_t84Restricted &() const;
02177 #endif
02178
02179 BOOL CreateObject();
02180 PObject * Clone() const;
02181 };
02182
02183
02184
02185
02186
02187
02188 class H245_T38FaxRateManagement : public PASN_Choice
02189 {
02190 #ifndef PASN_LEANANDMEAN
02191 PCLASSINFO(H245_T38FaxRateManagement, PASN_Choice);
02192 #endif
02193 public:
02194 H245_T38FaxRateManagement(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02195
02196 enum Choices {
02197 e_localTCF,
02198 e_transferredTCF
02199 };
02200
02201 BOOL CreateObject();
02202 PObject * Clone() const;
02203 };
02204
02205
02206
02207
02208
02209
02210 class H245_T38FaxTcpOptions : public PASN_Sequence
02211 {
02212 #ifndef PASN_LEANANDMEAN
02213 PCLASSINFO(H245_T38FaxTcpOptions, PASN_Sequence);
02214 #endif
02215 public:
02216 H245_T38FaxTcpOptions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02217
02218 PASN_Boolean m_t38TCPBidirectionalMode;
02219
02220 PINDEX GetDataLength() const;
02221 BOOL Decode(PASN_Stream & strm);
02222 void Encode(PASN_Stream & strm) const;
02223 #ifndef PASN_NOPRINTON
02224 void PrintOn(ostream & strm) const;
02225 #endif
02226 Comparison Compare(const PObject & obj) const;
02227 PObject * Clone() const;
02228 };
02229
02230
02231
02232
02233
02234
02235 class H245_MediaEncryptionAlgorithm;
02236
02237 class H245_EncryptionCapability : public PASN_Array
02238 {
02239 #ifndef PASN_LEANANDMEAN
02240 PCLASSINFO(H245_EncryptionCapability, PASN_Array);
02241 #endif
02242 public:
02243 H245_EncryptionCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02244
02245 PASN_Object * CreateObject() const;
02246 H245_MediaEncryptionAlgorithm & operator[](PINDEX i) const;
02247 PObject * Clone() const;
02248 };
02249
02250
02251
02252
02253
02254
02255 class H245_NonStandardParameter;
02256
02257 class H245_MediaEncryptionAlgorithm : public PASN_Choice
02258 {
02259 #ifndef PASN_LEANANDMEAN
02260 PCLASSINFO(H245_MediaEncryptionAlgorithm, PASN_Choice);
02261 #endif
02262 public:
02263 H245_MediaEncryptionAlgorithm(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02264
02265 enum Choices {
02266 e_nonStandard,
02267 e_algorithm
02268 };
02269
02270 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02271 operator H245_NonStandardParameter &() const;
02272 #else
02273 operator H245_NonStandardParameter &();
02274 operator const H245_NonStandardParameter &() const;
02275 #endif
02276
02277 BOOL CreateObject();
02278 PObject * Clone() const;
02279 };
02280
02281
02282
02283
02284
02285
02286 class H245_ArrayOf_NonStandardParameter;
02287 class H245_GenericCapability;
02288
02289 class H245_UserInputCapability : public PASN_Choice
02290 {
02291 #ifndef PASN_LEANANDMEAN
02292 PCLASSINFO(H245_UserInputCapability, PASN_Choice);
02293 #endif
02294 public:
02295 H245_UserInputCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02296
02297 enum Choices {
02298 e_nonStandard,
02299 e_basicString,
02300 e_iA5String,
02301 e_generalString,
02302 e_dtmf,
02303 e_hookflash,
02304 e_extendedAlphanumeric,
02305 e_encryptedBasicString,
02306 e_encryptedIA5String,
02307 e_encryptedGeneralString,
02308 e_secureDTMF,
02309 e_genericUserInputCapability
02310 };
02311
02312 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02313 operator H245_ArrayOf_NonStandardParameter &() const;
02314 #else
02315 operator H245_ArrayOf_NonStandardParameter &();
02316 operator const H245_ArrayOf_NonStandardParameter &() const;
02317 #endif
02318 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02319 operator H245_GenericCapability &() const;
02320 #else
02321 operator H245_GenericCapability &();
02322 operator const H245_GenericCapability &() const;
02323 #endif
02324
02325 BOOL CreateObject();
02326 PObject * Clone() const;
02327 };
02328
02329
02330
02331
02332
02333
02334 class H245_NonStandardParameter;
02335
02336 class H245_CapabilityIdentifier : public PASN_Choice
02337 {
02338 #ifndef PASN_LEANANDMEAN
02339 PCLASSINFO(H245_CapabilityIdentifier, PASN_Choice);
02340 #endif
02341 public:
02342 H245_CapabilityIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02343
02344 enum Choices {
02345 e_standard,
02346 e_h221NonStandard,
02347 e_uuid,
02348 e_domainBased
02349 };
02350
02351 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02352 operator H245_NonStandardParameter &() const;
02353 #else
02354 operator H245_NonStandardParameter &();
02355 operator const H245_NonStandardParameter &() const;
02356 #endif
02357
02358 BOOL CreateObject();
02359 PObject * Clone() const;
02360 };
02361
02362
02363
02364
02365
02366
02367 class H245_NonStandardParameter;
02368
02369 class H245_ParameterIdentifier : public PASN_Choice
02370 {
02371 #ifndef PASN_LEANANDMEAN
02372 PCLASSINFO(H245_ParameterIdentifier, PASN_Choice);
02373 #endif
02374 public:
02375 H245_ParameterIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02376
02377 enum Choices {
02378 e_standard,
02379 e_h221NonStandard,
02380 e_uuid,
02381 e_domainBased
02382 };
02383
02384 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02385 operator H245_NonStandardParameter &() const;
02386 #else
02387 operator H245_NonStandardParameter &();
02388 operator const H245_NonStandardParameter &() const;
02389 #endif
02390
02391 BOOL CreateObject();
02392 PObject * Clone() const;
02393 };
02394
02395
02396
02397
02398
02399
02400 class H245_ArrayOf_GenericParameter;
02401
02402 class H245_ParameterValue : public PASN_Choice
02403 {
02404 #ifndef PASN_LEANANDMEAN
02405 PCLASSINFO(H245_ParameterValue, PASN_Choice);
02406 #endif
02407 public:
02408 H245_ParameterValue(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02409
02410 enum Choices {
02411 e_logical,
02412 e_booleanArray,
02413 e_unsignedMin,
02414 e_unsignedMax,
02415 e_unsigned32Min,
02416 e_unsigned32Max,
02417 e_octetString,
02418 e_genericParameter
02419 };
02420
02421 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02422 operator H245_ArrayOf_GenericParameter &() const;
02423 #else
02424 operator H245_ArrayOf_GenericParameter &();
02425 operator const H245_ArrayOf_GenericParameter &() const;
02426 #endif
02427
02428 BOOL CreateObject();
02429 PObject * Clone() const;
02430 };
02431
02432
02433
02434
02435
02436
02437 class H245_NonStandardParameter;
02438 class H245_H222Capability;
02439 class H245_H223Capability;
02440
02441 class H245_MultiplexFormat : public PASN_Choice
02442 {
02443 #ifndef PASN_LEANANDMEAN
02444 PCLASSINFO(H245_MultiplexFormat, PASN_Choice);
02445 #endif
02446 public:
02447 H245_MultiplexFormat(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02448
02449 enum Choices {
02450 e_nonStandard,
02451 e_h222Capability,
02452 e_h223Capability
02453 };
02454
02455 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02456 operator H245_NonStandardParameter &() const;
02457 #else
02458 operator H245_NonStandardParameter &();
02459 operator const H245_NonStandardParameter &() const;
02460 #endif
02461 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02462 operator H245_H222Capability &() const;
02463 #else
02464 operator H245_H222Capability &();
02465 operator const H245_H222Capability &() const;
02466 #endif
02467 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02468 operator H245_H223Capability &() const;
02469 #else
02470 operator H245_H223Capability &();
02471 operator const H245_H223Capability &() const;
02472 #endif
02473
02474 BOOL CreateObject();
02475 PObject * Clone() const;
02476 };
02477
02478
02479
02480
02481
02482
02483 class H245_AudioTelephonyEventCapability : public PASN_Sequence
02484 {
02485 #ifndef PASN_LEANANDMEAN
02486 PCLASSINFO(H245_AudioTelephonyEventCapability, PASN_Sequence);
02487 #endif
02488 public:
02489 H245_AudioTelephonyEventCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02490
02491 PASN_Integer m_dynamicRTPPayloadType;
02492 PASN_GeneralString m_audioTelephoneEvent;
02493
02494 PINDEX GetDataLength() const;
02495 BOOL Decode(PASN_Stream & strm);
02496 void Encode(PASN_Stream & strm) const;
02497 #ifndef PASN_NOPRINTON
02498 void PrintOn(ostream & strm) const;
02499 #endif
02500 Comparison Compare(const PObject & obj) const;
02501 PObject * Clone() const;
02502 };
02503
02504
02505
02506
02507
02508
02509 class H245_AudioToneCapability : public PASN_Sequence
02510 {
02511 #ifndef PASN_LEANANDMEAN
02512 PCLASSINFO(H245_AudioToneCapability, PASN_Sequence);
02513 #endif
02514 public:
02515 H245_AudioToneCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02516
02517 PASN_Integer m_dynamicRTPPayloadType;
02518
02519 PINDEX GetDataLength() const;
02520 BOOL Decode(PASN_Stream & strm);
02521 void Encode(PASN_Stream & strm) const;
02522 #ifndef PASN_NOPRINTON
02523 void PrintOn(ostream & strm) const;
02524 #endif
02525 Comparison Compare(const PObject & obj) const;
02526 PObject * Clone() const;
02527 };
02528
02529
02530
02531
02532
02533
02534 class H245_NoPTAudioTelephonyEventCapability : public PASN_Sequence
02535 {
02536 #ifndef PASN_LEANANDMEAN
02537 PCLASSINFO(H245_NoPTAudioTelephonyEventCapability, PASN_Sequence);
02538 #endif
02539 public:
02540 H245_NoPTAudioTelephonyEventCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02541
02542 PASN_GeneralString m_audioTelephoneEvent;
02543
02544 PINDEX GetDataLength() const;
02545 BOOL Decode(PASN_Stream & strm);
02546 void Encode(PASN_Stream & strm) const;
02547 #ifndef PASN_NOPRINTON
02548 void PrintOn(ostream & strm) const;
02549 #endif
02550 Comparison Compare(const PObject & obj) const;
02551 PObject * Clone() const;
02552 };
02553
02554
02555
02556
02557
02558
02559 class H245_NoPTAudioToneCapability : public PASN_Sequence
02560 {
02561 #ifndef PASN_LEANANDMEAN
02562 PCLASSINFO(H245_NoPTAudioToneCapability, PASN_Sequence);
02563 #endif
02564 public:
02565 H245_NoPTAudioToneCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02566
02567
02568 PINDEX GetDataLength() const;
02569 BOOL Decode(PASN_Stream & strm);
02570 void Encode(PASN_Stream & strm) const;
02571 #ifndef PASN_NOPRINTON
02572 void PrintOn(ostream & strm) const;
02573 #endif
02574 PObject * Clone() const;
02575 };
02576
02577
02578
02579
02580
02581
02582 class H245_DepFECCapability_rfc2733;
02583
02584 class H245_DepFECCapability : public PASN_Choice
02585 {
02586 #ifndef PASN_LEANANDMEAN
02587 PCLASSINFO(H245_DepFECCapability, PASN_Choice);
02588 #endif
02589 public:
02590 H245_DepFECCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02591
02592 enum Choices {
02593 e_rfc2733
02594 };
02595
02596 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02597 operator H245_DepFECCapability_rfc2733 &() const;
02598 #else
02599 operator H245_DepFECCapability_rfc2733 &();
02600 operator const H245_DepFECCapability_rfc2733 &() const;
02601 #endif
02602
02603 BOOL CreateObject();
02604 PObject * Clone() const;
02605 };
02606
02607
02608
02609
02610
02611
02612 class H245_MaxRedundancy : public PASN_Integer
02613 {
02614 #ifndef PASN_LEANANDMEAN
02615 PCLASSINFO(H245_MaxRedundancy, PASN_Integer);
02616 #endif
02617 public:
02618 H245_MaxRedundancy(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
02619
02620 H245_MaxRedundancy & operator=(int v);
02621 H245_MaxRedundancy & operator=(unsigned v);
02622 PObject * Clone() const;
02623 };
02624
02625
02626
02627
02628
02629
02630 class H245_LogicalChannelNumber : public PASN_Integer
02631 {
02632 #ifndef PASN_LEANANDMEAN
02633 PCLASSINFO(H245_LogicalChannelNumber, PASN_Integer);
02634 #endif
02635 public:
02636 H245_LogicalChannelNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
02637
02638 H245_LogicalChannelNumber & operator=(int v);
02639 H245_LogicalChannelNumber & operator=(unsigned v);
02640 PObject * Clone() const;
02641 };
02642
02643
02644
02645
02646
02647
02648 class H245_V75Parameters : public PASN_Sequence
02649 {
02650 #ifndef PASN_LEANANDMEAN
02651 PCLASSINFO(H245_V75Parameters, PASN_Sequence);
02652 #endif
02653 public:
02654 H245_V75Parameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02655
02656 PASN_Boolean m_audioHeaderPresent;
02657
02658 PINDEX GetDataLength() const;
02659 BOOL Decode(PASN_Stream & strm);
02660 void Encode(PASN_Stream & strm) const;
02661 #ifndef PASN_NOPRINTON
02662 void PrintOn(ostream & strm) const;
02663 #endif
02664 Comparison Compare(const PObject & obj) const;
02665 PObject * Clone() const;
02666 };
02667
02668
02669
02670
02671
02672
02673 class H245_NonStandardParameter;
02674 class H245_VideoCapability;
02675 class H245_AudioCapability;
02676 class H245_DataApplicationCapability;
02677 class H245_EncryptionMode;
02678 class H245_H235Media;
02679 class H245_MultiplexedStreamParameter;
02680 class H245_RedundancyEncoding;
02681 class H245_MultiplePayloadStream;
02682 class H245_DepFECData;
02683 class H245_FECData;
02684
02685 class H245_DataType : public PASN_Choice
02686 {
02687 #ifndef PASN_LEANANDMEAN
02688 PCLASSINFO(H245_DataType, PASN_Choice);
02689 #endif
02690 public:
02691 H245_DataType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02692
02693 enum Choices {
02694 e_nonStandard,
02695 e_nullData,
02696 e_videoData,
02697 e_audioData,
02698 e_data,
02699 e_encryptionData,
02700 e_h235Control,
02701 e_h235Media,
02702 e_multiplexedStream,
02703 e_redundancyEncoding,
02704 e_multiplePayloadStream,
02705 e_depFec,
02706 e_fec
02707 };
02708
02709 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02710 operator H245_NonStandardParameter &() const;
02711 #else
02712 operator H245_NonStandardParameter &();
02713 operator const H245_NonStandardParameter &() const;
02714 #endif
02715 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02716 operator H245_VideoCapability &() const;
02717 #else
02718 operator H245_VideoCapability &();
02719 operator const H245_VideoCapability &() const;
02720 #endif
02721 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02722 operator H245_AudioCapability &() const;
02723 #else
02724 operator H245_AudioCapability &();
02725 operator const H245_AudioCapability &() const;
02726 #endif
02727 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02728 operator H245_DataApplicationCapability &() const;
02729 #else
02730 operator H245_DataApplicationCapability &();
02731 operator const H245_DataApplicationCapability &() const;
02732 #endif
02733 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02734 operator H245_EncryptionMode &() const;
02735 #else
02736 operator H245_EncryptionMode &();
02737 operator const H245_EncryptionMode &() const;
02738 #endif
02739 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02740 operator H245_H235Media &() const;
02741 #else
02742 operator H245_H235Media &();
02743 operator const H245_H235Media &() const;
02744 #endif
02745 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02746 operator H245_MultiplexedStreamParameter &() const;
02747 #else
02748 operator H245_MultiplexedStreamParameter &();
02749 operator const H245_MultiplexedStreamParameter &() const;
02750 #endif
02751 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02752 operator H245_RedundancyEncoding &() const;
02753 #else
02754 operator H245_RedundancyEncoding &();
02755 operator const H245_RedundancyEncoding &() const;
02756 #endif
02757 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02758 operator H245_MultiplePayloadStream &() const;
02759 #else
02760 operator H245_MultiplePayloadStream &();
02761 operator const H245_MultiplePayloadStream &() const;
02762 #endif
02763 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02764 operator H245_DepFECData &() const;
02765 #else
02766 operator H245_DepFECData &();
02767 operator const H245_DepFECData &() const;
02768 #endif
02769 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02770 operator H245_FECData &() const;
02771 #else
02772 operator H245_FECData &();
02773 operator const H245_FECData &() const;
02774 #endif
02775
02776 BOOL CreateObject();
02777 PObject * Clone() const;
02778 };
02779
02780
02781
02782
02783
02784
02785 class H245_MultiplexedStreamParameter : public PASN_Sequence
02786 {
02787 #ifndef PASN_LEANANDMEAN
02788 PCLASSINFO(H245_MultiplexedStreamParameter, PASN_Sequence);
02789 #endif
02790 public:
02791 H245_MultiplexedStreamParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02792
02793 H245_MultiplexFormat m_multiplexFormat;
02794 PASN_Boolean m_controlOnMuxStream;
02795
02796 PINDEX GetDataLength() const;
02797 BOOL Decode(PASN_Stream & strm);
02798 void Encode(PASN_Stream & strm) const;
02799 #ifndef PASN_NOPRINTON
02800 void PrintOn(ostream & strm) const;
02801 #endif
02802 Comparison Compare(const PObject & obj) const;
02803 PObject * Clone() const;
02804 };
02805
02806
02807
02808
02809
02810
02811 class H245_H222LogicalChannelParameters : public PASN_Sequence
02812 {
02813 #ifndef PASN_LEANANDMEAN
02814 PCLASSINFO(H245_H222LogicalChannelParameters, PASN_Sequence);
02815 #endif
02816 public:
02817 H245_H222LogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02818
02819 enum OptionalFields {
02820 e_pcr_pid,
02821 e_programDescriptors,
02822 e_streamDescriptors
02823 };
02824
02825 PASN_Integer m_resourceID;
02826 PASN_Integer m_subChannelID;
02827 PASN_Integer m_pcr_pid;
02828 PASN_OctetString m_programDescriptors;
02829 PASN_OctetString m_streamDescriptors;
02830
02831 PINDEX GetDataLength() const;
02832 BOOL Decode(PASN_Stream & strm);
02833 void Encode(PASN_Stream & strm) const;
02834 #ifndef PASN_NOPRINTON
02835 void PrintOn(ostream & strm) const;
02836 #endif
02837 Comparison Compare(const PObject & obj) const;
02838 PObject * Clone() const;
02839 };
02840
02841
02842
02843
02844
02845
02846 class H245_CRCLength : public PASN_Choice
02847 {
02848 #ifndef PASN_LEANANDMEAN
02849 PCLASSINFO(H245_CRCLength, PASN_Choice);
02850 #endif
02851 public:
02852 H245_CRCLength(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02853
02854 enum Choices {
02855 e_crc8bit,
02856 e_crc16bit,
02857 e_crc32bit
02858 };
02859
02860 BOOL CreateObject();
02861 PObject * Clone() const;
02862 };
02863
02864
02865
02866
02867
02868
02869 class H245_RedundancyEncodingElement : public PASN_Sequence
02870 {
02871 #ifndef PASN_LEANANDMEAN
02872 PCLASSINFO(H245_RedundancyEncodingElement, PASN_Sequence);
02873 #endif
02874 public:
02875 H245_RedundancyEncodingElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02876
02877 enum OptionalFields {
02878 e_payloadType
02879 };
02880
02881 H245_DataType m_dataType;
02882 PASN_Integer m_payloadType;
02883
02884 PINDEX GetDataLength() const;
02885 BOOL Decode(PASN_Stream & strm);
02886 void Encode(PASN_Stream & strm) const;
02887 #ifndef PASN_NOPRINTON
02888 void PrintOn(ostream & strm) const;
02889 #endif
02890 Comparison Compare(const PObject & obj) const;
02891 PObject * Clone() const;
02892 };
02893
02894
02895
02896
02897
02898
02899 class H245_MultiplePayloadStreamElement : public PASN_Sequence
02900 {
02901 #ifndef PASN_LEANANDMEAN
02902 PCLASSINFO(H245_MultiplePayloadStreamElement, PASN_Sequence);
02903 #endif
02904 public:
02905 H245_MultiplePayloadStreamElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02906
02907 enum OptionalFields {
02908 e_payloadType
02909 };
02910
02911 H245_DataType m_dataType;
02912 PASN_Integer m_payloadType;
02913
02914 PINDEX GetDataLength() const;
02915 BOOL Decode(PASN_Stream & strm);
02916 void Encode(PASN_Stream & strm) const;
02917 #ifndef PASN_NOPRINTON
02918 void PrintOn(ostream & strm) const;
02919 #endif
02920 Comparison Compare(const PObject & obj) const;
02921 PObject * Clone() const;
02922 };
02923
02924
02925
02926
02927
02928
02929 class H245_DepFECData_rfc2733;
02930
02931 class H245_DepFECData : public PASN_Choice
02932 {
02933 #ifndef PASN_LEANANDMEAN
02934 PCLASSINFO(H245_DepFECData, PASN_Choice);
02935 #endif
02936 public:
02937 H245_DepFECData(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02938
02939 enum Choices {
02940 e_rfc2733
02941 };
02942
02943 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02944 operator H245_DepFECData_rfc2733 &() const;
02945 #else
02946 operator H245_DepFECData_rfc2733 &();
02947 operator const H245_DepFECData_rfc2733 &() const;
02948 #endif
02949
02950 BOOL CreateObject();
02951 PObject * Clone() const;
02952 };
02953
02954
02955
02956
02957
02958
02959 class H245_FECData_rfc2733;
02960
02961 class H245_FECData : public PASN_Choice
02962 {
02963 #ifndef PASN_LEANANDMEAN
02964 PCLASSINFO(H245_FECData, PASN_Choice);
02965 #endif
02966 public:
02967 H245_FECData(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02968
02969 enum Choices {
02970 e_rfc2733
02971 };
02972
02973 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02974 operator H245_FECData_rfc2733 &() const;
02975 #else
02976 operator H245_FECData_rfc2733 &();
02977 operator const H245_FECData_rfc2733 &() const;
02978 #endif
02979
02980 BOOL CreateObject();
02981 PObject * Clone() const;
02982 };
02983
02984
02985
02986
02987
02988
02989 class H245_UnicastAddress;
02990 class H245_MulticastAddress;
02991
02992 class H245_TransportAddress : public PASN_Choice
02993 {
02994 #ifndef PASN_LEANANDMEAN
02995 PCLASSINFO(H245_TransportAddress, PASN_Choice);
02996 #endif
02997 public:
02998 H245_TransportAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02999
03000 enum Choices {
03001 e_unicastAddress,
03002 e_multicastAddress
03003 };
03004
03005 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03006 operator H245_UnicastAddress &() const;
03007 #else
03008 operator H245_UnicastAddress &();
03009 operator const H245_UnicastAddress &() const;
03010 #endif
03011 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03012 operator H245_MulticastAddress &() const;
03013 #else
03014 operator H245_MulticastAddress &();
03015 operator const H245_MulticastAddress &() const;
03016 #endif
03017
03018 BOOL CreateObject();
03019 PObject * Clone() const;
03020 };
03021
03022
03023
03024
03025
03026
03027 class H245_UnicastAddress_iPAddress;
03028 class H245_UnicastAddress_iPXAddress;
03029 class H245_UnicastAddress_iP6Address;
03030 class H245_UnicastAddress_iPSourceRouteAddress;
03031 class H245_NonStandardParameter;
03032
03033 class H245_UnicastAddress : public PASN_Choice
03034 {
03035 #ifndef PASN_LEANANDMEAN
03036 PCLASSINFO(H245_UnicastAddress, PASN_Choice);
03037 #endif
03038 public:
03039 H245_UnicastAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
03040
03041 enum Choices {
03042 e_iPAddress,
03043 e_iPXAddress,
03044 e_iP6Address,
03045 e_netBios,
03046 e_iPSourceRouteAddress,
03047 e_nsap,
03048 e_nonStandardAddress
03049 };
03050
03051 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03052 operator H245_UnicastAddress_iPAddress &() const;
03053 #else
03054 operator H245_UnicastAddress_iPAddress &();
03055 operator const H245_UnicastAddress_iPAddress &() const;
03056 #endif
03057 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03058 operator H245_UnicastAddress_iPXAddress &() const;
03059 #else
03060 operator H245_UnicastAddress_iPXAddress &();
03061 operator const H245_UnicastAddress_iPXAddress &() const;
03062 #endif
03063 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03064 operator H245_UnicastAddress_iP6Address &() const;
03065 #else
03066 operator H245_UnicastAddress_iP6Address &();
03067 operator const H245_UnicastAddress_iP6Address &() const;
03068 #endif
03069 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03070 operator H245_UnicastAddress_iPSourceRouteAddress &() const;
03071 #else
03072 operator H245_UnicastAddress_iPSourceRouteAddress &();
03073 operator const H245_UnicastAddress_iPSourceRouteAddress &() const;
03074 #endif
03075 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03076 operator H245_NonStandardParameter &() const;
03077 #else
03078 operator H245_NonStandardParameter &();
03079 operator const H245_NonStandardParameter &() const;
03080 #endif
03081
03082 BOOL CreateObject();
03083 PObject * Clone() const;
03084 };
03085
03086
03087
03088
03089
03090
03091 class H245_MulticastAddress_iPAddress;
03092 class H245_MulticastAddress_iP6Address;
03093 class H245_NonStandardParameter;
03094
03095 class H245_MulticastAddress : public PASN_Choice
03096 {
03097 #ifndef PASN_LEANANDMEAN
03098 PCLASSINFO(H245_MulticastAddress, PASN_Choice);
03099 #endif
03100 public:
03101 H245_MulticastAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
03102
03103 enum Choices {
03104 e_iPAddress,
03105 e_iP6Address,
03106 e_nsap,
03107 e_nonStandardAddress
03108 };
03109
03110 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03111 operator H245_MulticastAddress_iPAddress &() const;
03112 #else
03113 operator H245_MulticastAddress_iPAddress &();
03114 operator const H245_MulticastAddress_iPAddress &() const;
03115 #endif
03116 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03117 operator H245_MulticastAddress_iP6Address &() const;
03118 #else
03119 operator H245_MulticastAddress_iP6Address &();
03120 operator const H245_MulticastAddress_iP6Address &() const;
03121 #endif
03122 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03123 operator H245_NonStandardParameter &() const;
03124 #else
03125 operator H245_NonStandardParameter &();
03126 operator const H245_NonStandardParameter &() const;
03127 #endif
03128
03129 BOOL CreateObject();
03130 PObject * Clone() const;
03131 };
03132
03133
03134
03135
03136
03137
03138 class H245_EscrowData : public PASN_Sequence
03139 {
03140 #ifndef PASN_LEANANDMEAN
03141 PCLASSINFO(H245_EscrowData, PASN_Sequence);
03142 #endif
03143 public:
03144 H245_EscrowData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03145
03146 PASN_ObjectId m_escrowID;
03147 PASN_BitString m_escrowValue;
03148
03149 PINDEX GetDataLength() const;
03150 BOOL Decode(PASN_Stream & strm);
03151 void Encode(PASN_Stream & strm) const;
03152 #ifndef PASN_NOPRINTON
03153 void PrintOn(ostream & strm) const;
03154 #endif
03155 Comparison Compare(const PObject & obj) const;
03156 PObject * Clone() const;
03157 };
03158
03159
03160
03161
03162
03163
03164 class H245_CloseLogicalChannelAck : public PASN_Sequence
03165 {
03166 #ifndef PASN_LEANANDMEAN
03167 PCLASSINFO(H245_CloseLogicalChannelAck, PASN_Sequence);
03168 #endif
03169 public:
03170 H245_CloseLogicalChannelAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03171
03172 H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
03173
03174 PINDEX GetDataLength() const;
03175 BOOL Decode(PASN_Stream & strm);
03176 void Encode(PASN_Stream & strm) const;
03177 #ifndef PASN_NOPRINTON
03178 void PrintOn(ostream & strm) const;
03179 #endif
03180 Comparison Compare(const PObject & obj) const;
03181 PObject * Clone() const;
03182 };
03183
03184
03185
03186
03187
03188
03189 class H245_RequestChannelCloseAck : public PASN_Sequence
03190 {
03191 #ifndef PASN_LEANANDMEAN
03192 PCLASSINFO(H245_RequestChannelCloseAck, PASN_Sequence);
03193 #endif
03194 public:
03195 H245_RequestChannelCloseAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03196
03197 H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
03198
03199 PINDEX GetDataLength() const;
03200 BOOL Decode(PASN_Stream & strm);
03201 void Encode(PASN_Stream & strm) const;
03202 #ifndef PASN_NOPRINTON
03203 void PrintOn(ostream & strm) const;
03204 #endif
03205 Comparison Compare(const PObject & obj) const;
03206 PObject * Clone() const;
03207 };
03208
03209
03210
03211
03212
03213
03214 class H245_RequestChannelCloseRelease : public PASN_Sequence
03215 {
03216 #ifndef PASN_LEANANDMEAN
03217 PCLASSINFO(H245_RequestChannelCloseRelease, PASN_Sequence);
03218 #endif
03219 public:
03220 H245_RequestChannelCloseRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03221
03222 H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
03223
03224 PINDEX GetDataLength() const;
03225 BOOL Decode(PASN_Stream & strm);
03226 void Encode(PASN_Stream & strm) const;
03227 #ifndef PASN_NOPRINTON
03228 void PrintOn(ostream & strm) const;
03229 #endif
03230 Comparison Compare(const PObject & obj) const;
03231 PObject * Clone() const;
03232 };
03233
03234
03235
03236
03237
03238
03239 class H245_MultiplexTableEntryNumber : public PASN_Integer
03240 {
03241 #ifndef PASN_LEANANDMEAN
03242 PCLASSINFO(H245_MultiplexTableEntryNumber, PASN_Integer);
03243 #endif
03244 public:
03245 H245_MultiplexTableEntryNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
03246
03247 H245_MultiplexTableEntryNumber & operator=(int v);
03248 H245_MultiplexTableEntryNumber & operator=(unsigned v);
03249 PObject * Clone() const;
03250 };
03251
03252
03253
03254
03255
03256
03257 class H245_RequestModeRelease : public PASN_Sequence
03258 {
03259 #ifndef PASN_LEANANDMEAN
03260 PCLASSINFO(H245_RequestModeRelease, PASN_Sequence);
03261 #endif
03262 public:
03263 H245_RequestModeRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03264
03265
03266 PINDEX GetDataLength() const;
03267 BOOL Decode(PASN_Stream & strm);
03268 void Encode(PASN_Stream & strm) const;
03269 #ifndef PASN_NOPRINTON
03270 void PrintOn(ostream & strm) const;
03271 #endif
03272 PObject * Clone() const;
03273 };
03274
03275
03276
03277
03278
03279
03280 class H245_ModeElement;
03281
03282 class H245_ModeDescription : public PASN_Array
03283 {
03284 #ifndef PASN_LEANANDMEAN
03285 PCLASSINFO(H245_ModeDescription, PASN_Array);
03286 #endif
03287 public:
03288 H245_ModeDescription(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
03289
03290 PASN_Object * CreateObject() const;
03291 H245_ModeElement & operator[](PINDEX i) const;
03292 PObject * Clone() const;
03293 };
03294
03295
03296
03297
03298
03299
03300 class H245_NonStandardParameter;
03301 class H245_VideoMode;
03302 class H245_AudioMode;
03303 class H245_DataMode;
03304 class H245_EncryptionMode;
03305 class H245_H235Mode;
03306 class H245_MultiplexedStreamParameter;
03307 class H245_RedundancyEncodingDTMode;
03308 class H245_MultiplePayloadStreamMode;
03309 class H245_DepFECMode;
03310 class H245_FECMode;
03311
03312 class H245_ModeElementType : public PASN_Choice
03313 {
03314 #ifndef PASN_LEANANDMEAN
03315 PCLASSINFO(H245_ModeElementType, PASN_Choice);
03316 #endif
03317 public:
03318 H245_ModeElementType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
03319
03320 enum Choices {
03321 e_nonStandard,
03322 e_videoMode,
03323 e_audioMode,
03324 e_dataMode,
03325 e_encryptionMode,
03326 e_h235Mode,
03327 e_multiplexedStreamMode,
03328 e_redundancyEncodingDTMode,
03329 e_multiplePayloadStreamMode,
03330 e_depFecMode,
03331 e_fecMode
03332 };
03333
03334 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03335 operator H245_NonStandardParameter &() const;
03336 #else
03337 operator H245_NonStandardParameter &();
03338 operator const H245_NonStandardParameter &() const;
03339 #endif
03340 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03341 operator H245_VideoMode &() const;
03342 #else
03343 operator H245_VideoMode &();
03344 operator const H245_VideoMode &() const;
03345 #endif
03346 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03347 operator H245_AudioMode &() const;
03348 #else
03349 operator H245_AudioMode &();
03350 operator const H245_AudioMode &() const;
03351 #endif
03352 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03353 operator H245_DataMode &() const;
03354 #else
03355 operator H245_DataMode &();
03356 operator const H245_DataMode &() const;
03357 #endif
03358 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03359 operator H245_EncryptionMode &() const;
03360 #else
03361 operator H245_EncryptionMode &();
03362 operator const H245_EncryptionMode &() const;
03363 #endif
03364 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03365 operator H245_H235Mode &() const;
03366 #else
03367 operator H245_H235Mode &();
03368 operator const H245_H235Mode &() const;
03369 #endif
03370 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03371 operator H245_MultiplexedStreamParameter &() const;
03372 #else
03373 operator H245_MultiplexedStreamParameter &();
03374 operator const H245_MultiplexedStreamParameter &() const;
03375 #endif
03376 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03377 operator H245_RedundancyEncodingDTMode &() const;
03378 #else
03379 operator H245_RedundancyEncodingDTMode &();
03380 operator const H245_RedundancyEncodingDTMode &() const;
03381 #endif
03382 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03383 operator H245_MultiplePayloadStreamMode &() const;
03384 #else
03385 operator H245_MultiplePayloadStreamMode &();
03386 operator const H245_MultiplePayloadStreamMode &() const;
03387 #endif
03388 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03389 operator H245_DepFECMode &() const;
03390 #else
03391 operator H245_DepFECMode &();
03392 operator const H245_DepFECMode &() const;
03393 #endif
03394 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03395 operator H245_FECMode &() const;
03396 #else
03397 operator H245_FECMode &();
03398 operator const H245_FECMode &() const;
03399 #endif
03400
03401 BOOL CreateObject();
03402 PObject * Clone() const;
03403 };
03404
03405
03406
03407
03408
03409
03410 class H245_MultiplexedStreamModeParameters : public PASN_Sequence
03411 {
03412 #ifndef PASN_LEANANDMEAN
03413 PCLASSINFO(H245_MultiplexedStreamModeParameters, PASN_Sequence);
03414 #endif
03415 public:
03416 H245_MultiplexedStreamModeParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03417
03418 H245_LogicalChannelNumber m_logicalChannelNumber;
03419
03420 PINDEX GetDataLength() const;
03421 BOOL Decode(PASN_Stream & strm);
03422 void Encode(PASN_Stream & strm) const;
03423 #ifndef PASN_NOPRINTON
03424 void PrintOn(ostream & strm) const;
03425 #endif
03426 Comparison Compare(const PObject & obj) const;
03427 PObject * Clone() const;
03428 };
03429
03430
03431
03432
03433
03434
03435 class H245_MultiplePayloadStreamElementMode : public PASN_Sequence
03436 {
03437 #ifndef PASN_LEANANDMEAN
03438 PCLASSINFO(H245_MultiplePayloadStreamElementMode, PASN_Sequence);
03439 #endif
03440 public:
03441 H245_MultiplePayloadStreamElementMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03442
03443 H245_ModeElementType m_type;
03444
03445 PINDEX GetDataLength() const;
03446 BOOL Decode(PASN_Stream & strm);
03447 void Encode(PASN_Stream & strm) const;
03448 #ifndef PASN_NOPRINTON
03449 void PrintOn(ostream & strm) const;
03450 #endif
03451 Comparison Compare(const PObject & obj) const;
03452 PObject * Clone() const;
03453 };
03454
03455
03456
03457
03458
03459
03460 class H245_DepFECMode_rfc2733Mode;
03461
03462 class H245_DepFECMode : public PASN_Choice
03463 {
03464 #ifndef PASN_LEANANDMEAN
03465 PCLASSINFO(H245_DepFECMode, PASN_Choice);
03466 #endif
03467 public:
03468 H245_DepFECMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
03469
03470 enum Choices {
03471 e_rfc2733Mode
03472 };
03473
03474 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03475 operator H245_DepFECMode_rfc2733Mode &() const;
03476 #else
03477 operator H245_DepFECMode_rfc2733Mode &();
03478 operator const H245_DepFECMode_rfc2733Mode &() const;
03479 #endif
03480
03481 BOOL CreateObject();
03482 PObject * Clone() const;
03483 };
03484
03485
03486
03487
03488
03489
03490 class H245_V76ModeParameters : public PASN_Choice
03491 {
03492 #ifndef PASN_LEANANDMEAN
03493 PCLASSINFO(H245_V76ModeParameters, PASN_Choice);
03494 #endif
03495 public:
03496 H245_V76ModeParameters(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
03497
03498 enum Choices {
03499 e_suspendResumewAddress,
03500 e_suspendResumewoAddress
03501 };
03502
03503 BOOL CreateObject();
03504 PObject * Clone() const;
<