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_TerminalCapabilitySetAck : public PASN_Sequence
00943 {
00944 #ifndef PASN_LEANANDMEAN
00945 PCLASSINFO(H245_TerminalCapabilitySetAck, PASN_Sequence);
00946 #endif
00947 public:
00948 H245_TerminalCapabilitySetAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00949
00950 H245_SequenceNumber m_sequenceNumber;
00951
00952 PINDEX GetDataLength() const;
00953 BOOL Decode(PASN_Stream & strm);
00954 void Encode(PASN_Stream & strm) const;
00955 #ifndef PASN_NOPRINTON
00956 void PrintOn(ostream & strm) const;
00957 #endif
00958 Comparison Compare(const PObject & obj) const;
00959 PObject * Clone() const;
00960 };
00961
00962
00963
00964
00965
00966
00967 class H245_TerminalCapabilitySetRelease : public PASN_Sequence
00968 {
00969 #ifndef PASN_LEANANDMEAN
00970 PCLASSINFO(H245_TerminalCapabilitySetRelease, PASN_Sequence);
00971 #endif
00972 public:
00973 H245_TerminalCapabilitySetRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00974
00975
00976 PINDEX GetDataLength() const;
00977 BOOL Decode(PASN_Stream & strm);
00978 void Encode(PASN_Stream & strm) const;
00979 #ifndef PASN_NOPRINTON
00980 void PrintOn(ostream & strm) const;
00981 #endif
00982 PObject * Clone() const;
00983 };
00984
00985
00986
00987
00988
00989
00990 class H245_NonStandardParameter;
00991 class H245_VideoCapability;
00992 class H245_AudioCapability;
00993 class H245_DataApplicationCapability;
00994 class H245_Capability_h233EncryptionReceiveCapability;
00995 class H245_ConferenceCapability;
00996 class H245_H235SecurityCapability;
00997 class H245_UserInputCapability;
00998 class H245_GenericCapability;
00999 class H245_MultiplexedStreamCapability;
01000 class H245_AudioTelephonyEventCapability;
01001 class H245_AudioToneCapability;
01002 class H245_DepFECCapability;
01003 class H245_MultiplePayloadStreamCapability;
01004 class H245_FECCapability;
01005 class H245_RedundancyEncodingCapability;
01006 class H245_AlternativeCapabilitySet;
01007
01008 class H245_Capability : public PASN_Choice
01009 {
01010 #ifndef PASN_LEANANDMEAN
01011 PCLASSINFO(H245_Capability, PASN_Choice);
01012 #endif
01013 public:
01014 H245_Capability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01015
01016 enum Choices {
01017 e_nonStandard,
01018 e_receiveVideoCapability,
01019 e_transmitVideoCapability,
01020 e_receiveAndTransmitVideoCapability,
01021 e_receiveAudioCapability,
01022 e_transmitAudioCapability,
01023 e_receiveAndTransmitAudioCapability,
01024 e_receiveDataApplicationCapability,
01025 e_transmitDataApplicationCapability,
01026 e_receiveAndTransmitDataApplicationCapability,
01027 e_h233EncryptionTransmitCapability,
01028 e_h233EncryptionReceiveCapability,
01029 e_conferenceCapability,
01030 e_h235SecurityCapability,
01031 e_maxPendingReplacementFor,
01032 e_receiveUserInputCapability,
01033 e_transmitUserInputCapability,
01034 e_receiveAndTransmitUserInputCapability,
01035 e_genericControlCapability,
01036 e_receiveMultiplexedStreamCapability,
01037 e_transmitMultiplexedStreamCapability,
01038 e_receiveAndTransmitMultiplexedStreamCapability,
01039 e_receiveRTPAudioTelephonyEventCapability,
01040 e_receiveRTPAudioToneCapability,
01041 e_depFecCapability,
01042 e_multiplePayloadStreamCapability,
01043 e_fecCapability,
01044 e_redundancyEncodingCap,
01045 e_oneOfCapabilities
01046 };
01047
01048 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01049 operator H245_NonStandardParameter &() const;
01050 #else
01051 operator H245_NonStandardParameter &();
01052 operator const H245_NonStandardParameter &() const;
01053 #endif
01054 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01055 operator H245_VideoCapability &() const;
01056 #else
01057 operator H245_VideoCapability &();
01058 operator const H245_VideoCapability &() const;
01059 #endif
01060 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01061 operator H245_AudioCapability &() const;
01062 #else
01063 operator H245_AudioCapability &();
01064 operator const H245_AudioCapability &() const;
01065 #endif
01066 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01067 operator H245_DataApplicationCapability &() const;
01068 #else
01069 operator H245_DataApplicationCapability &();
01070 operator const H245_DataApplicationCapability &() const;
01071 #endif
01072 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01073 operator H245_Capability_h233EncryptionReceiveCapability &() const;
01074 #else
01075 operator H245_Capability_h233EncryptionReceiveCapability &();
01076 operator const H245_Capability_h233EncryptionReceiveCapability &() const;
01077 #endif
01078 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01079 operator H245_ConferenceCapability &() const;
01080 #else
01081 operator H245_ConferenceCapability &();
01082 operator const H245_ConferenceCapability &() const;
01083 #endif
01084 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01085 operator H245_H235SecurityCapability &() const;
01086 #else
01087 operator H245_H235SecurityCapability &();
01088 operator const H245_H235SecurityCapability &() const;
01089 #endif
01090 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01091 operator H245_UserInputCapability &() const;
01092 #else
01093 operator H245_UserInputCapability &();
01094 operator const H245_UserInputCapability &() const;
01095 #endif
01096 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01097 operator H245_GenericCapability &() const;
01098 #else
01099 operator H245_GenericCapability &();
01100 operator const H245_GenericCapability &() const;
01101 #endif
01102 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01103 operator H245_MultiplexedStreamCapability &() const;
01104 #else
01105 operator H245_MultiplexedStreamCapability &();
01106 operator const H245_MultiplexedStreamCapability &() const;
01107 #endif
01108 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01109 operator H245_AudioTelephonyEventCapability &() const;
01110 #else
01111 operator H245_AudioTelephonyEventCapability &();
01112 operator const H245_AudioTelephonyEventCapability &() const;
01113 #endif
01114 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01115 operator H245_AudioToneCapability &() const;
01116 #else
01117 operator H245_AudioToneCapability &();
01118 operator const H245_AudioToneCapability &() const;
01119 #endif
01120 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01121 operator H245_DepFECCapability &() const;
01122 #else
01123 operator H245_DepFECCapability &();
01124 operator const H245_DepFECCapability &() const;
01125 #endif
01126 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01127 operator H245_MultiplePayloadStreamCapability &() const;
01128 #else
01129 operator H245_MultiplePayloadStreamCapability &();
01130 operator const H245_MultiplePayloadStreamCapability &() const;
01131 #endif
01132 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01133 operator H245_FECCapability &() const;
01134 #else
01135 operator H245_FECCapability &();
01136 operator const H245_FECCapability &() const;
01137 #endif
01138 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01139 operator H245_RedundancyEncodingCapability &() const;
01140 #else
01141 operator H245_RedundancyEncodingCapability &();
01142 operator const H245_RedundancyEncodingCapability &() const;
01143 #endif
01144 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01145 operator H245_AlternativeCapabilitySet &() const;
01146 #else
01147 operator H245_AlternativeCapabilitySet &();
01148 operator const H245_AlternativeCapabilitySet &() const;
01149 #endif
01150
01151 BOOL CreateObject();
01152 PObject * Clone() const;
01153 };
01154
01155
01156
01157
01158
01159
01160 class H245_NonStandardParameter;
01161 class H245_H222Capability;
01162 class H245_H223Capability;
01163 class H245_V76Capability;
01164 class H245_H2250Capability;
01165 class H245_GenericCapability;
01166
01167 class H245_MultiplexCapability : public PASN_Choice
01168 {
01169 #ifndef PASN_LEANANDMEAN
01170 PCLASSINFO(H245_MultiplexCapability, PASN_Choice);
01171 #endif
01172 public:
01173 H245_MultiplexCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01174
01175 enum Choices {
01176 e_nonStandard,
01177 e_h222Capability,
01178 e_h223Capability,
01179 e_v76Capability,
01180 e_h2250Capability,
01181 e_genericMultiplexCapability
01182 };
01183
01184 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01185 operator H245_NonStandardParameter &() const;
01186 #else
01187 operator H245_NonStandardParameter &();
01188 operator const H245_NonStandardParameter &() const;
01189 #endif
01190 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01191 operator H245_H222Capability &() const;
01192 #else
01193 operator H245_H222Capability &();
01194 operator const H245_H222Capability &() const;
01195 #endif
01196 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01197 operator H245_H223Capability &() const;
01198 #else
01199 operator H245_H223Capability &();
01200 operator const H245_H223Capability &() const;
01201 #endif
01202 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01203 operator H245_V76Capability &() const;
01204 #else
01205 operator H245_V76Capability &();
01206 operator const H245_V76Capability &() const;
01207 #endif
01208 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01209 operator H245_H2250Capability &() const;
01210 #else
01211 operator H245_H2250Capability &();
01212 operator const H245_H2250Capability &() const;
01213 #endif
01214 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01215 operator H245_GenericCapability &() const;
01216 #else
01217 operator H245_GenericCapability &();
01218 operator const H245_GenericCapability &() const;
01219 #endif
01220
01221 BOOL CreateObject();
01222 PObject * Clone() const;
01223 };
01224
01225
01226
01227
01228
01229
01230 class H245_H223AnnexCCapability : public PASN_Sequence
01231 {
01232 #ifndef PASN_LEANANDMEAN
01233 PCLASSINFO(H245_H223AnnexCCapability, PASN_Sequence);
01234 #endif
01235 public:
01236 H245_H223AnnexCCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01237
01238 enum OptionalFields {
01239 e_rsCodeCapability
01240 };
01241
01242 PASN_Boolean m_videoWithAL1M;
01243 PASN_Boolean m_videoWithAL2M;
01244 PASN_Boolean m_videoWithAL3M;
01245 PASN_Boolean m_audioWithAL1M;
01246 PASN_Boolean m_audioWithAL2M;
01247 PASN_Boolean m_audioWithAL3M;
01248 PASN_Boolean m_dataWithAL1M;
01249 PASN_Boolean m_dataWithAL2M;
01250 PASN_Boolean m_dataWithAL3M;
01251 PASN_Boolean m_alpduInterleaving;
01252 PASN_Integer m_maximumAL1MPDUSize;
01253 PASN_Integer m_maximumAL2MSDUSize;
01254 PASN_Integer m_maximumAL3MSDUSize;
01255 PASN_Boolean m_rsCodeCapability;
01256
01257 PINDEX GetDataLength() const;
01258 BOOL Decode(PASN_Stream & strm);
01259 void Encode(PASN_Stream & strm) const;
01260 #ifndef PASN_NOPRINTON
01261 void PrintOn(ostream & strm) const;
01262 #endif
01263 Comparison Compare(const PObject & obj) const;
01264 PObject * Clone() const;
01265 };
01266
01267
01268
01269
01270
01271
01272 class H245_V75Capability : public PASN_Sequence
01273 {
01274 #ifndef PASN_LEANANDMEAN
01275 PCLASSINFO(H245_V75Capability, PASN_Sequence);
01276 #endif
01277 public:
01278 H245_V75Capability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01279
01280 PASN_Boolean m_audioHeader;
01281
01282 PINDEX GetDataLength() const;
01283 BOOL Decode(PASN_Stream & strm);
01284 void Encode(PASN_Stream & strm) const;
01285 #ifndef PASN_NOPRINTON
01286 void PrintOn(ostream & strm) const;
01287 #endif
01288 Comparison Compare(const PObject & obj) const;
01289 PObject * Clone() const;
01290 };
01291
01292
01293
01294
01295
01296
01297 class H245_QOSMode : public PASN_Choice
01298 {
01299 #ifndef PASN_LEANANDMEAN
01300 PCLASSINFO(H245_QOSMode, PASN_Choice);
01301 #endif
01302 public:
01303 H245_QOSMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01304
01305 enum Choices {
01306 e_guaranteedQOS,
01307 e_controlledLoad
01308 };
01309
01310 BOOL CreateObject();
01311 PObject * Clone() const;
01312 };
01313
01314
01315
01316
01317
01318
01319 class H245_ATMParameters : public PASN_Sequence
01320 {
01321 #ifndef PASN_LEANANDMEAN
01322 PCLASSINFO(H245_ATMParameters, PASN_Sequence);
01323 #endif
01324 public:
01325 H245_ATMParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01326
01327 PASN_Integer m_maxNTUSize;
01328 PASN_Boolean m_atmUBR;
01329 PASN_Boolean m_atmrtVBR;
01330 PASN_Boolean m_atmnrtVBR;
01331 PASN_Boolean m_atmABR;
01332 PASN_Boolean m_atmCBR;
01333
01334 PINDEX GetDataLength() const;
01335 BOOL Decode(PASN_Stream & strm);
01336 void Encode(PASN_Stream & strm) const;
01337 #ifndef PASN_NOPRINTON
01338 void PrintOn(ostream & strm) const;
01339 #endif
01340 Comparison Compare(const PObject & obj) const;
01341 PObject * Clone() const;
01342 };
01343
01344
01345
01346
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
01779
01780 #ifndef PASN_NOPRINTON
01781 void PrintOn(ostream & strm) const;
01782 #endif
01783
01784
01785
01786 enum Choices {
01787 e_nonStandard,
01788 e_g711Alaw64k,
01789 e_g711Alaw56k,
01790 e_g711Ulaw64k,
01791 e_g711Ulaw56k,
01792 e_g722_64k,
01793 e_g722_56k,
01794 e_g722_48k,
01795 e_g7231,
01796 e_g728,
01797 e_g729,
01798 e_g729AnnexA,
01799 e_is11172AudioCapability,
01800 e_is13818AudioCapability,
01801 e_g729wAnnexB,
01802 e_g729AnnexAwAnnexB,
01803 e_g7231AnnexCCapability,
01804 e_gsmFullRate,
01805 e_gsmHalfRate,
01806 e_gsmEnhancedFullRate,
01807 e_genericAudioCapability,
01808 e_g729Extensions,
01809 e_vbd,
01810 e_audioTelephonyEvent,
01811 e_audioTone
01812 };
01813
01814 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01815 operator H245_NonStandardParameter &() const;
01816 #else
01817 operator H245_NonStandardParameter &();
01818 operator const H245_NonStandardParameter &() const;
01819 #endif
01820 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01821 operator H245_AudioCapability_g7231 &() const;
01822 #else
01823 operator H245_AudioCapability_g7231 &();
01824 operator const H245_AudioCapability_g7231 &() const;
01825 #endif
01826 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01827 operator H245_IS11172AudioCapability &() const;
01828 #else
01829 operator H245_IS11172AudioCapability &();
01830 operator const H245_IS11172AudioCapability &() const;
01831 #endif
01832 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01833 operator H245_IS13818AudioCapability &() const;
01834 #else
01835 operator H245_IS13818AudioCapability &();
01836 operator const H245_IS13818AudioCapability &() const;
01837 #endif
01838 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01839 operator H245_G7231AnnexCCapability &() const;
01840 #else
01841 operator H245_G7231AnnexCCapability &();
01842 operator const H245_G7231AnnexCCapability &() const;
01843 #endif
01844 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01845 operator H245_GSMAudioCapability &() const;
01846 #else
01847 operator H245_GSMAudioCapability &();
01848 operator const H245_GSMAudioCapability &() const;
01849 #endif
01850 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01851 operator H245_GenericCapability &() const;
01852 #else
01853 operator H245_GenericCapability &();
01854 operator const H245_GenericCapability &() const;
01855 #endif
01856 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01857 operator H245_G729Extensions &() const;
01858 #else
01859 operator H245_G729Extensions &();
01860 operator const H245_G729Extensions &() const;
01861 #endif
01862 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01863 operator H245_VBDCapability &() const;
01864 #else
01865 operator H245_VBDCapability &();
01866 operator const H245_VBDCapability &() const;
01867 #endif
01868 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01869 operator H245_NoPTAudioTelephonyEventCapability &() const;
01870 #else
01871 operator H245_NoPTAudioTelephonyEventCapability &();
01872 operator const H245_NoPTAudioTelephonyEventCapability &() const;
01873 #endif
01874 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01875 operator H245_NoPTAudioToneCapability &() const;
01876 #else
01877 operator H245_NoPTAudioToneCapability &();
01878 operator const H245_NoPTAudioToneCapability &() const;
01879 #endif
01880
01881 BOOL CreateObject();
01882 PObject * Clone() const;
01883 };
01884
01885
01886
01887
01888
01889
01890 class H245_G729Extensions : public PASN_Sequence
01891 {
01892 #ifndef PASN_LEANANDMEAN
01893 PCLASSINFO(H245_G729Extensions, PASN_Sequence);
01894 #endif
01895 public:
01896 H245_G729Extensions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01897
01898 enum OptionalFields {
01899 e_audioUnit
01900 };
01901
01902 PASN_Integer m_audioUnit;
01903 PASN_Boolean m_annexA;
01904 PASN_Boolean m_annexB;
01905 PASN_Boolean m_annexD;
01906 PASN_Boolean m_annexE;
01907 PASN_Boolean m_annexF;
01908 PASN_Boolean m_annexG;
01909 PASN_Boolean m_annexH;
01910
01911 PINDEX GetDataLength() const;
01912 BOOL Decode(PASN_Stream & strm);
01913 void Encode(PASN_Stream & strm) const;
01914 #ifndef PASN_NOPRINTON
01915 void PrintOn(ostream & strm) const;
01916 #endif
01917 Comparison Compare(const PObject & obj) const;
01918 PObject * Clone() const;
01919 };
01920
01921
01922
01923
01924
01925
01926 class H245_IS11172AudioCapability : public PASN_Sequence
01927 {
01928 #ifndef PASN_LEANANDMEAN
01929 PCLASSINFO(H245_IS11172AudioCapability, PASN_Sequence);
01930 #endif
01931 public:
01932 H245_IS11172AudioCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01933
01934 PASN_Boolean m_audioLayer1;
01935 PASN_Boolean m_audioLayer2;
01936 PASN_Boolean m_audioLayer3;
01937 PASN_Boolean m_audioSampling32k;
01938 PASN_Boolean m_audioSampling44k1;
01939 PASN_Boolean m_audioSampling48k;
01940 PASN_Boolean m_singleChannel;
01941 PASN_Boolean m_twoChannels;
01942 PASN_Integer m_bitRate;
01943
01944 PINDEX GetDataLength() const;
01945 BOOL Decode(PASN_Stream & strm);
01946 void Encode(PASN_Stream & strm) const;
01947 #ifndef PASN_NOPRINTON
01948 void PrintOn(ostream & strm) const;
01949 #endif
01950 Comparison Compare(const PObject & obj) const;
01951 PObject * Clone() const;
01952 };
01953
01954
01955
01956
01957
01958
01959 class H245_IS13818AudioCapability : public PASN_Sequence
01960 {
01961 #ifndef PASN_LEANANDMEAN
01962 PCLASSINFO(H245_IS13818AudioCapability, PASN_Sequence);
01963 #endif
01964 public:
01965 H245_IS13818AudioCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01966
01967 PASN_Boolean m_audioLayer1;
01968 PASN_Boolean m_audioLayer2;
01969 PASN_Boolean m_audioLayer3;
01970 PASN_Boolean m_audioSampling16k;
01971 PASN_Boolean m_audioSampling22k05;
01972 PASN_Boolean m_audioSampling24k;
01973 PASN_Boolean m_audioSampling32k;
01974 PASN_Boolean m_audioSampling44k1;
01975 PASN_Boolean m_audioSampling48k;
01976 PASN_Boolean m_singleChannel;
01977 PASN_Boolean m_twoChannels;
01978 PASN_Boolean m_threeChannels2_1;
01979 PASN_Boolean m_threeChannels3_0;
01980 PASN_Boolean m_fourChannels2_0_2_0;
01981 PASN_Boolean m_fourChannels2_2;
01982 PASN_Boolean m_fourChannels3_1;
01983 PASN_Boolean m_fiveChannels3_0_2_0;
01984 PASN_Boolean m_fiveChannels3_2;
01985 PASN_Boolean m_lowFrequencyEnhancement;
01986 PASN_Boolean m_multilingual;
01987 PASN_Integer m_bitRate;
01988
01989 PINDEX GetDataLength() const;
01990 BOOL Decode(PASN_Stream & strm);
01991 void Encode(PASN_Stream & strm) const;
01992 #ifndef PASN_NOPRINTON
01993 void PrintOn(ostream & strm) const;
01994 #endif
01995 Comparison Compare(const PObject & obj) const;
01996 PObject * Clone() const;
01997 };
01998
01999
02000
02001
02002
02003
02004 class H245_GSMAudioCapability : public PASN_Sequence
02005 {
02006 #ifndef PASN_LEANANDMEAN
02007 PCLASSINFO(H245_GSMAudioCapability, PASN_Sequence);
02008 #endif
02009 public:
02010 H245_GSMAudioCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02011
02012 PASN_Integer m_audioUnitSize;
02013 PASN_Boolean m_comfortNoise;
02014 PASN_Boolean m_scrambled;
02015
02016 PINDEX GetDataLength() const;
02017 BOOL Decode(PASN_Stream & strm);
02018 void Encode(PASN_Stream & strm) const;
02019 #ifndef PASN_NOPRINTON
02020 void PrintOn(ostream & strm) const;
02021 #endif
02022 Comparison Compare(const PObject & obj) const;
02023 PObject * Clone() const;
02024 };
02025
02026
02027
02028
02029
02030
02031 class H245_VBDCapability : public PASN_Sequence
02032 {
02033 #ifndef PASN_LEANANDMEAN
02034 PCLASSINFO(H245_VBDCapability, PASN_Sequence);
02035 #endif
02036 public:
02037 H245_VBDCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02038
02039 H245_AudioCapability m_type;
02040
02041 PINDEX GetDataLength() const;
02042 BOOL Decode(PASN_Stream & strm);
02043 void Encode(PASN_Stream & strm) const;
02044 #ifndef PASN_NOPRINTON
02045 void PrintOn(ostream & strm) const;
02046 #endif
02047 Comparison Compare(const PObject & obj) const;
02048 PObject * Clone() const;
02049 };
02050
02051
02052
02053
02054
02055
02056 class H245_NonStandardParameter;
02057 class H245_DataProtocolCapability_v76wCompression;
02058
02059 class H245_DataProtocolCapability : public PASN_Choice
02060 {
02061 #ifndef PASN_LEANANDMEAN
02062 PCLASSINFO(H245_DataProtocolCapability, PASN_Choice);
02063 #endif
02064 public:
02065 H245_DataProtocolCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02066
02067 enum Choices {
02068 e_nonStandard,
02069 e_v14buffered,
02070 e_v42lapm,
02071 e_hdlcFrameTunnelling,
02072 e_h310SeparateVCStack,
02073 e_h310SingleVCStack,
02074 e_transparent,
02075 e_segmentationAndReassembly,
02076 e_hdlcFrameTunnelingwSAR,
02077 e_v120,
02078 e_separateLANStack,
02079 e_v76wCompression,
02080 e_tcp,
02081 e_udp
02082 };
02083
02084 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02085 operator H245_NonStandardParameter &() const;
02086 #else
02087 operator H245_NonStandardParameter &();
02088 operator const H245_NonStandardParameter &() const;
02089 #endif
02090 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02091 operator H245_DataProtocolCapability_v76wCompression &() const;
02092 #else
02093 operator H245_DataProtocolCapability_v76wCompression &();
02094 operator const H245_DataProtocolCapability_v76wCompression &() const;
02095 #endif
02096
02097 BOOL CreateObject();
02098 PObject * Clone() const;
02099 };
02100
02101
02102
02103
02104
02105
02106 class H245_V42bis;
02107
02108 class H245_CompressionType : public PASN_Choice
02109 {
02110 #ifndef PASN_LEANANDMEAN
02111 PCLASSINFO(H245_CompressionType, PASN_Choice);
02112 #endif
02113 public:
02114 H245_CompressionType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02115
02116 enum Choices {
02117 e_v42bis
02118 };
02119
02120 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02121 operator H245_V42bis &() const;
02122 #else
02123 operator H245_V42bis &();
02124 operator const H245_V42bis &() const;
02125 #endif
02126
02127 BOOL CreateObject();
02128 PObject * Clone() const;
02129 };
02130
02131
02132
02133
02134
02135
02136 class H245_V42bis : public PASN_Sequence
02137 {
02138 #ifndef PASN_LEANANDMEAN
02139 PCLASSINFO(H245_V42bis, PASN_Sequence);
02140 #endif
02141 public:
02142 H245_V42bis(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02143
02144 PASN_Integer m_numberOfCodewords;
02145 PASN_Integer m_maximumStringLength;
02146
02147 PINDEX GetDataLength() const;
02148 BOOL Decode(PASN_Stream & strm);
02149 void Encode(PASN_Stream & strm) const;
02150 #ifndef PASN_NOPRINTON
02151 void PrintOn(ostream & strm) const;
02152 #endif
02153 Comparison Compare(const PObject & obj) const;
02154 PObject * Clone() const;
02155 };
02156
02157
02158
02159
02160
02161
02162 class H245_T84Profile_t84Restricted;
02163
02164 class H245_T84Profile : public PASN_Choice
02165 {
02166 #ifndef PASN_LEANANDMEAN
02167 PCLASSINFO(H245_T84Profile, PASN_Choice);
02168 #endif
02169 public:
02170 H245_T84Profile(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02171
02172 enum Choices {
02173 e_t84Unrestricted,
02174 e_t84Restricted
02175 };
02176
02177 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02178 operator H245_T84Profile_t84Restricted &() const;
02179 #else
02180 operator H245_T84Profile_t84Restricted &();
02181 operator const H245_T84Profile_t84Restricted &() const;
02182 #endif
02183
02184 BOOL CreateObject();
02185 PObject * Clone() const;
02186 };
02187
02188
02189
02190
02191
02192
02193 class H245_T38FaxRateManagement : public PASN_Choice
02194 {
02195 #ifndef PASN_LEANANDMEAN
02196 PCLASSINFO(H245_T38FaxRateManagement, PASN_Choice);
02197 #endif
02198 public:
02199 H245_T38FaxRateManagement(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02200
02201 enum Choices {
02202 e_localTCF,
02203 e_transferredTCF
02204 };
02205
02206 BOOL CreateObject();
02207 PObject * Clone() const;
02208 };
02209
02210
02211
02212
02213
02214
02215 class H245_T38FaxTcpOptions : public PASN_Sequence
02216 {
02217 #ifndef PASN_LEANANDMEAN
02218 PCLASSINFO(H245_T38FaxTcpOptions, PASN_Sequence);
02219 #endif
02220 public:
02221 H245_T38FaxTcpOptions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02222
02223 PASN_Boolean m_t38TCPBidirectionalMode;
02224
02225 PINDEX GetDataLength() const;
02226 BOOL Decode(PASN_Stream & strm);
02227 void Encode(PASN_Stream & strm) const;
02228 #ifndef PASN_NOPRINTON
02229 void PrintOn(ostream & strm) const;
02230 #endif
02231 Comparison Compare(const PObject & obj) const;
02232 PObject * Clone() const;
02233 };
02234
02235
02236
02237
02238
02239
02240 class H245_MediaEncryptionAlgorithm;
02241
02242 class H245_EncryptionCapability : public PASN_Array
02243 {
02244 #ifndef PASN_LEANANDMEAN
02245 PCLASSINFO(H245_EncryptionCapability, PASN_Array);
02246 #endif
02247 public:
02248 H245_EncryptionCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02249
02250 PASN_Object * CreateObject() const;
02251 H245_MediaEncryptionAlgorithm & operator[](PINDEX i) const;
02252 PObject * Clone() const;
02253 };
02254
02255
02256
02257
02258
02259
02260 class H245_NonStandardParameter;
02261
02262 class H245_MediaEncryptionAlgorithm : public PASN_Choice
02263 {
02264 #ifndef PASN_LEANANDMEAN
02265 PCLASSINFO(H245_MediaEncryptionAlgorithm, PASN_Choice);
02266 #endif
02267 public:
02268 H245_MediaEncryptionAlgorithm(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02269
02270 enum Choices {
02271 e_nonStandard,
02272 e_algorithm
02273 };
02274
02275 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02276 operator H245_NonStandardParameter &() const;
02277 #else
02278 operator H245_NonStandardParameter &();
02279 operator const H245_NonStandardParameter &() const;
02280 #endif
02281
02282 BOOL CreateObject();
02283 PObject * Clone() const;
02284 };
02285
02286
02287
02288
02289
02290
02291 class H245_ArrayOf_NonStandardParameter;
02292
02293 class H245_UserInputCapability : public PASN_Choice
02294 {
02295 #ifndef PASN_LEANANDMEAN
02296 PCLASSINFO(H245_UserInputCapability, PASN_Choice);
02297 #endif
02298 public:
02299 H245_UserInputCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02300
02301 enum Choices {
02302 e_nonStandard,
02303 e_basicString,
02304 e_iA5String,
02305 e_generalString,
02306 e_dtmf,
02307 e_hookflash,
02308 e_extendedAlphanumeric,
02309 e_encryptedBasicString,
02310 e_encryptedIA5String,
02311 e_encryptedGeneralString,
02312 e_secureDTMF
02313 };
02314
02315 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02316 operator H245_ArrayOf_NonStandardParameter &() const;
02317 #else
02318 operator H245_ArrayOf_NonStandardParameter &();
02319 operator const H245_ArrayOf_NonStandardParameter &() const;
02320 #endif
02321
02322 BOOL CreateObject();
02323 PObject * Clone() const;
02324 };
02325
02326
02327
02328
02329
02330
02331 class H245_NonStandardParameter;
02332
02333 class H245_CapabilityIdentifier : public PASN_Choice
02334 {
02335 #ifndef PASN_LEANANDMEAN
02336 PCLASSINFO(H245_CapabilityIdentifier, PASN_Choice);
02337 #endif
02338 public:
02339 H245_CapabilityIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02340
02341 enum Choices {
02342 e_standard,
02343 e_h221NonStandard,
02344 e_uuid,
02345 e_domainBased
02346 };
02347
02348 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02349 operator H245_NonStandardParameter &() const;
02350 #else
02351 operator H245_NonStandardParameter &();
02352 operator const H245_NonStandardParameter &() const;
02353 #endif
02354
02355 BOOL CreateObject();
02356 PObject * Clone() const;
02357 };
02358
02359
02360
02361
02362
02363
02364 class H245_NonStandardParameter;
02365
02366 class H245_ParameterIdentifier : public PASN_Choice
02367 {
02368 #ifndef PASN_LEANANDMEAN
02369 PCLASSINFO(H245_ParameterIdentifier, PASN_Choice);
02370 #endif
02371 public:
02372 H245_ParameterIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02373
02374 enum Choices {
02375 e_standard,
02376 e_h221NonStandard,
02377 e_uuid,
02378 e_domainBased
02379 };
02380
02381 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02382 operator H245_NonStandardParameter &() const;
02383 #else
02384 operator H245_NonStandardParameter &();
02385 operator const H245_NonStandardParameter &() const;
02386 #endif
02387
02388 BOOL CreateObject();
02389 PObject * Clone() const;
02390 };
02391
02392
02393
02394
02395
02396
02397 class H245_ArrayOf_GenericParameter;
02398
02399 class H245_ParameterValue : public PASN_Choice
02400 {
02401 #ifndef PASN_LEANANDMEAN
02402 PCLASSINFO(H245_ParameterValue, PASN_Choice);
02403 #endif
02404 public:
02405 H245_ParameterValue(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02406
02407 enum Choices {
02408 e_logical,
02409 e_booleanArray,
02410 e_unsignedMin,
02411 e_unsignedMax,
02412 e_unsigned32Min,
02413 e_unsigned32Max,
02414 e_octetString,
02415 e_genericParameter
02416 };
02417
02418 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02419 operator H245_ArrayOf_GenericParameter &() const;
02420 #else
02421 operator H245_ArrayOf_GenericParameter &();
02422 operator const H245_ArrayOf_GenericParameter &() const;
02423 #endif
02424
02425 BOOL CreateObject();
02426 PObject * Clone() const;
02427 };
02428
02429
02430
02431
02432
02433
02434 class H245_NonStandardParameter;
02435 class H245_H222Capability;
02436 class H245_H223Capability;
02437
02438 class H245_MultiplexFormat : public PASN_Choice
02439 {
02440 #ifndef PASN_LEANANDMEAN
02441 PCLASSINFO(H245_MultiplexFormat, PASN_Choice);
02442 #endif
02443 public:
02444 H245_MultiplexFormat(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02445
02446 enum Choices {
02447 e_nonStandard,
02448 e_h222Capability,
02449 e_h223Capability
02450 };
02451
02452 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02453 operator H245_NonStandardParameter &() const;
02454 #else
02455 operator H245_NonStandardParameter &();
02456 operator const H245_NonStandardParameter &() const;
02457 #endif
02458 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02459 operator H245_H222Capability &() const;
02460 #else
02461 operator H245_H222Capability &();
02462 operator const H245_H222Capability &() const;
02463 #endif
02464 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02465 operator H245_H223Capability &() const;
02466 #else
02467 operator H245_H223Capability &();
02468 operator const H245_H223Capability &() const;
02469 #endif
02470
02471 BOOL CreateObject();
02472 PObject * Clone() const;
02473 };
02474
02475
02476
02477
02478
02479
02480 class H245_AudioTelephonyEventCapability : public PASN_Sequence
02481 {
02482 #ifndef PASN_LEANANDMEAN
02483 PCLASSINFO(H245_AudioTelephonyEventCapability, PASN_Sequence);
02484 #endif
02485 public:
02486 H245_AudioTelephonyEventCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02487
02488 PASN_Integer m_dynamicRTPPayloadType;
02489 PASN_GeneralString m_audioTelephoneEvent;
02490
02491 PINDEX GetDataLength() const;
02492 BOOL Decode(PASN_Stream & strm);
02493 void Encode(PASN_Stream & strm) const;
02494 #ifndef PASN_NOPRINTON
02495 void PrintOn(ostream & strm) const;
02496 #endif
02497 Comparison Compare(const PObject & obj) const;
02498 PObject * Clone() const;
02499 };
02500
02501
02502
02503
02504
02505
02506 class H245_AudioToneCapability : public PASN_Sequence
02507 {
02508 #ifndef PASN_LEANANDMEAN
02509 PCLASSINFO(H245_AudioToneCapability, PASN_Sequence);
02510 #endif
02511 public:
02512 H245_AudioToneCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02513
02514 PASN_Integer m_dynamicRTPPayloadType;
02515
02516 PINDEX GetDataLength() const;
02517 BOOL Decode(PASN_Stream & strm);
02518 void Encode(PASN_Stream & strm) const;
02519 #ifndef PASN_NOPRINTON
02520 void PrintOn(ostream & strm) const;
02521 #endif
02522 Comparison Compare(const PObject & obj) const;
02523 PObject * Clone() const;
02524 };
02525
02526
02527
02528
02529
02530
02531 class H245_NoPTAudioTelephonyEventCapability : public PASN_Sequence
02532 {
02533 #ifndef PASN_LEANANDMEAN
02534 PCLASSINFO(H245_NoPTAudioTelephonyEventCapability, PASN_Sequence);
02535 #endif
02536 public:
02537 H245_NoPTAudioTelephonyEventCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02538
02539 PASN_GeneralString m_audioTelephoneEvent;
02540
02541 PINDEX GetDataLength() const;
02542 BOOL Decode(PASN_Stream & strm);
02543 void Encode(PASN_Stream & strm) const;
02544 #ifndef PASN_NOPRINTON
02545 void PrintOn(ostream & strm) const;
02546 #endif
02547 Comparison Compare(const PObject & obj) const;
02548 PObject * Clone() const;
02549 };
02550
02551
02552
02553
02554
02555
02556 class H245_NoPTAudioToneCapability : public PASN_Sequence
02557 {
02558 #ifndef PASN_LEANANDMEAN
02559 PCLASSINFO(H245_NoPTAudioToneCapability, PASN_Sequence);
02560 #endif
02561 public:
02562 H245_NoPTAudioToneCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02563
02564
02565 PINDEX GetDataLength() const;
02566 BOOL Decode(PASN_Stream & strm);
02567 void Encode(PASN_Stream & strm) const;
02568 #ifndef PASN_NOPRINTON
02569 void PrintOn(ostream & strm) const;
02570 #endif
02571 PObject * Clone() const;
02572 };
02573
02574
02575
02576
02577
02578
02579 class H245_DepFECCapability_rfc2733;
02580
02581 class H245_DepFECCapability : public PASN_Choice
02582 {
02583 #ifndef PASN_LEANANDMEAN
02584 PCLASSINFO(H245_DepFECCapability, PASN_Choice);
02585 #endif
02586 public:
02587 H245_DepFECCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02588
02589 enum Choices {
02590 e_rfc2733
02591 };
02592
02593 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02594 operator H245_DepFECCapability_rfc2733 &() const;
02595 #else
02596 operator H245_DepFECCapability_rfc2733 &();
02597 operator const H245_DepFECCapability_rfc2733 &() const;
02598 #endif
02599
02600 BOOL CreateObject();
02601 PObject * Clone() const;
02602 };
02603
02604
02605
02606
02607
02608
02609 class H245_MaxRedundancy : public PASN_Integer
02610 {
02611 #ifndef PASN_LEANANDMEAN
02612 PCLASSINFO(H245_MaxRedundancy, PASN_Integer);
02613 #endif
02614 public:
02615 H245_MaxRedundancy(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
02616
02617 H245_MaxRedundancy & operator=(int v);
02618 H245_MaxRedundancy & operator=(unsigned v);
02619 PObject * Clone() const;
02620 };
02621
02622
02623
02624
02625
02626
02627 class H245_LogicalChannelNumber : public PASN_Integer
02628 {
02629 #ifndef PASN_LEANANDMEAN
02630 PCLASSINFO(H245_LogicalChannelNumber, PASN_Integer);
02631 #endif
02632 public:
02633 H245_LogicalChannelNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
02634
02635 H245_LogicalChannelNumber & operator=(int v);
02636 H245_LogicalChannelNumber & operator=(unsigned v);
02637 PObject * Clone() const;
02638 };
02639
02640
02641
02642
02643
02644
02645 class H245_V75Parameters : public PASN_Sequence
02646 {
02647 #ifndef PASN_LEANANDMEAN
02648 PCLASSINFO(H245_V75Parameters, PASN_Sequence);
02649 #endif
02650 public:
02651 H245_V75Parameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02652
02653 PASN_Boolean m_audioHeaderPresent;
02654
02655 PINDEX GetDataLength() const;
02656 BOOL Decode(PASN_Stream & strm);
02657 void Encode(PASN_Stream & strm) const;
02658 #ifndef PASN_NOPRINTON
02659 void PrintOn(ostream & strm) const;
02660 #endif
02661 Comparison Compare(const PObject & obj) const;
02662 PObject * Clone() const;
02663 };
02664
02665
02666
02667
02668
02669
02670 class H245_NonStandardParameter;
02671 class H245_VideoCapability;
02672 class H245_AudioCapability;
02673 class H245_DataApplicationCapability;
02674 class H245_EncryptionMode;
02675 class H245_H235Media;
02676 class H245_MultiplexedStreamParameter;
02677 class H245_RedundancyEncoding;
02678 class H245_MultiplePayloadStream;
02679 class H245_DepFECData;
02680 class H245_FECData;
02681
02682 class H245_DataType : public PASN_Choice
02683 {
02684 #ifndef PASN_LEANANDMEAN
02685 PCLASSINFO(H245_DataType, PASN_Choice);
02686 #endif
02687 public:
02688 H245_DataType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02689
02690 enum Choices {
02691 e_nonStandard,
02692 e_nullData,
02693 e_videoData,
02694 e_audioData,
02695 e_data,
02696 e_encryptionData,
02697 e_h235Control,
02698 e_h235Media,
02699 e_multiplexedStream,
02700 e_redundancyEncoding,
02701 e_multiplePayloadStream,
02702 e_depFec,
02703 e_fec
02704 };
02705
02706 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02707 operator H245_NonStandardParameter &() const;
02708 #else
02709 operator H245_NonStandardParameter &();
02710 operator const H245_NonStandardParameter &() const;
02711 #endif
02712 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02713 operator H245_VideoCapability &() const;
02714 #else
02715 operator H245_VideoCapability &();
02716 operator const H245_VideoCapability &() const;
02717 #endif
02718 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02719 operator H245_AudioCapability &() const;
02720 #else
02721 operator H245_AudioCapability &();
02722 operator const H245_AudioCapability &() const;
02723 #endif
02724 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02725 operator H245_DataApplicationCapability &() const;
02726 #else
02727 operator H245_DataApplicationCapability &();
02728 operator const H245_DataApplicationCapability &() const;
02729 #endif
02730 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02731 operator H245_EncryptionMode &() const;
02732 #else
02733 operator H245_EncryptionMode &();
02734 operator const H245_EncryptionMode &() const;
02735 #endif
02736 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02737 operator H245_H235Media &() const;
02738 #else
02739 operator H245_H235Media &();
02740 operator const H245_H235Media &() const;
02741 #endif
02742 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02743 operator H245_MultiplexedStreamParameter &() const;
02744 #else
02745 operator H245_MultiplexedStreamParameter &();
02746 operator const H245_MultiplexedStreamParameter &() const;
02747 #endif
02748 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02749 operator H245_RedundancyEncoding &() const;
02750 #else
02751 operator H245_RedundancyEncoding &();
02752 operator const H245_RedundancyEncoding &() const;
02753 #endif
02754 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02755 operator H245_MultiplePayloadStream &() const;
02756 #else
02757 operator H245_MultiplePayloadStream &();
02758 operator const H245_MultiplePayloadStream &() const;
02759 #endif
02760 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02761 operator H245_DepFECData &() const;
02762 #else
02763 operator H245_DepFECData &();
02764 operator const H245_DepFECData &() const;
02765 #endif
02766 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02767 operator H245_FECData &() const;
02768 #else
02769 operator H245_FECData &();
02770 operator const H245_FECData &() const;
02771 #endif
02772
02773 BOOL CreateObject();
02774 PObject * Clone() const;
02775 };
02776
02777
02778
02779
02780
02781
02782 class H245_MultiplexedStreamParameter : public PASN_Sequence
02783 {
02784 #ifndef PASN_LEANANDMEAN
02785 PCLASSINFO(H245_MultiplexedStreamParameter, PASN_Sequence);
02786 #endif
02787 public:
02788 H245_MultiplexedStreamParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02789
02790 H245_MultiplexFormat m_multiplexFormat;
02791 PASN_Boolean m_controlOnMuxStream;
02792
02793 PINDEX GetDataLength() const;
02794 BOOL Decode(PASN_Stream & strm);
02795 void Encode(PASN_Stream & strm) const;
02796 #ifndef PASN_NOPRINTON
02797 void PrintOn(ostream & strm) const;
02798 #endif
02799 Comparison Compare(const PObject & obj) const;
02800 PObject * Clone() const;
02801 };
02802
02803
02804
02805
02806
02807
02808 class H245_H222LogicalChannelParameters : public PASN_Sequence
02809 {
02810 #ifndef PASN_LEANANDMEAN
02811 PCLASSINFO(H245_H222LogicalChannelParameters, PASN_Sequence);
02812 #endif
02813 public:
02814 H245_H222LogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02815
02816 enum OptionalFields {
02817 e_pcr_pid,
02818 e_programDescriptors,
02819 e_streamDescriptors
02820 };
02821
02822 PASN_Integer m_resourceID;
02823 PASN_Integer m_subChannelID;
02824 PASN_Integer m_pcr_pid;
02825 PASN_OctetString m_programDescriptors;
02826 PASN_OctetString m_streamDescriptors;
02827
02828 PINDEX GetDataLength() const;
02829 BOOL Decode(PASN_Stream & strm);
02830 void Encode(PASN_Stream & strm) const;
02831 #ifndef PASN_NOPRINTON
02832 void PrintOn(ostream & strm) const;
02833 #endif
02834 Comparison Compare(const PObject & obj) const;
02835 PObject * Clone() const;
02836 };
02837
02838
02839
02840
02841
02842
02843 class H245_CRCLength : public PASN_Choice
02844 {
02845 #ifndef PASN_LEANANDMEAN
02846 PCLASSINFO(H245_CRCLength, PASN_Choice);
02847 #endif
02848 public:
02849 H245_CRCLength(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02850
02851 enum Choices {
02852 e_crc8bit,
02853 e_crc16bit,
02854 e_crc32bit
02855 };
02856
02857 BOOL CreateObject();
02858 PObject * Clone() const;
02859 };
02860
02861
02862
02863
02864
02865
02866 class H245_RedundancyEncodingElement : public PASN_Sequence
02867 {
02868 #ifndef PASN_LEANANDMEAN
02869 PCLASSINFO(H245_RedundancyEncodingElement, PASN_Sequence);
02870 #endif
02871 public:
02872 H245_RedundancyEncodingElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02873
02874 enum OptionalFields {
02875 e_payloadType
02876 };
02877
02878 H245_DataType m_dataType;
02879 PASN_Integer m_payloadType;
02880
02881 PINDEX GetDataLength() const;
02882 BOOL Decode(PASN_Stream & strm);
02883 void Encode(PASN_Stream & strm) const;
02884 #ifndef PASN_NOPRINTON
02885 void PrintOn(ostream & strm) const;
02886 #endif
02887 Comparison Compare(const PObject & obj) const;
02888 PObject * 02807