home *** CD-ROM | disk | FTP | other *** search
/ ftp.muug.mb.ca / 2014.06.ftp.muug.mb.ca.tar / ftp.muug.mb.ca / pub / openh323.tar.gz / openh323.tar / openh323 / include / h245.h < prev    next >
C/C++ Source or Header  |  2004-06-22  |  378KB  |  14,345 lines

  1. //
  2. // h245.h
  3. //
  4. // Code automatically generated by asnparse.
  5. //
  6.  
  7. #if ! H323_DISABLE_H245
  8.  
  9. #ifndef __H245_H
  10. #define __H245_H
  11.  
  12. #ifdef P_USE_PRAGMA
  13. #pragma interface
  14. #endif
  15.  
  16. #include <ptclib/asner.h>
  17.  
  18. //
  19. // MultimediaSystemControlMessage
  20. //
  21.  
  22. class H245_RequestMessage;
  23. class H245_ResponseMessage;
  24. class H245_CommandMessage;
  25. class H245_IndicationMessage;
  26.  
  27. class H245_MultimediaSystemControlMessage : public PASN_Choice
  28. {
  29. #ifndef PASN_LEANANDMEAN
  30.     PCLASSINFO(H245_MultimediaSystemControlMessage, PASN_Choice);
  31. #endif
  32.   public:
  33.     H245_MultimediaSystemControlMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  34.  
  35.     enum Choices {
  36.       e_request,
  37.       e_response,
  38.       e_command,
  39.       e_indication
  40.     };
  41.  
  42. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  43.     operator H245_RequestMessage &() const;
  44. #else
  45.     operator H245_RequestMessage &();
  46.     operator const H245_RequestMessage &() const;
  47. #endif
  48. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  49.     operator H245_ResponseMessage &() const;
  50. #else
  51.     operator H245_ResponseMessage &();
  52.     operator const H245_ResponseMessage &() const;
  53. #endif
  54. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  55.     operator H245_CommandMessage &() const;
  56. #else
  57.     operator H245_CommandMessage &();
  58.     operator const H245_CommandMessage &() const;
  59. #endif
  60. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  61.     operator H245_IndicationMessage &() const;
  62. #else
  63.     operator H245_IndicationMessage &();
  64.     operator const H245_IndicationMessage &() const;
  65. #endif
  66.  
  67.     BOOL CreateObject();
  68.     PObject * Clone() const;
  69. };
  70.  
  71.  
  72. //
  73. // RequestMessage
  74. //
  75.  
  76. class H245_NonStandardMessage;
  77. class H245_MasterSlaveDetermination;
  78. class H245_TerminalCapabilitySet;
  79. class H245_OpenLogicalChannel;
  80. class H245_CloseLogicalChannel;
  81. class H245_RequestChannelClose;
  82. class H245_MultiplexEntrySend;
  83. class H245_RequestMultiplexEntry;
  84. class H245_RequestMode;
  85. class H245_RoundTripDelayRequest;
  86. class H245_MaintenanceLoopRequest;
  87. class H245_CommunicationModeRequest;
  88. class H245_ConferenceRequest;
  89. class H245_MultilinkRequest;
  90. class H245_LogicalChannelRateRequest;
  91.  
  92. class H245_RequestMessage : public PASN_Choice
  93. {
  94. #ifndef PASN_LEANANDMEAN
  95.     PCLASSINFO(H245_RequestMessage, PASN_Choice);
  96. #endif
  97.   public:
  98.     H245_RequestMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  99.  
  100.     enum Choices {
  101.       e_nonStandard,
  102.       e_masterSlaveDetermination,
  103.       e_terminalCapabilitySet,
  104.       e_openLogicalChannel,
  105.       e_closeLogicalChannel,
  106.       e_requestChannelClose,
  107.       e_multiplexEntrySend,
  108.       e_requestMultiplexEntry,
  109.       e_requestMode,
  110.       e_roundTripDelayRequest,
  111.       e_maintenanceLoopRequest,
  112.       e_communicationModeRequest,
  113.       e_conferenceRequest,
  114.       e_multilinkRequest,
  115.       e_logicalChannelRateRequest
  116.     };
  117.  
  118. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  119.     operator H245_NonStandardMessage &() const;
  120. #else
  121.     operator H245_NonStandardMessage &();
  122.     operator const H245_NonStandardMessage &() const;
  123. #endif
  124. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  125.     operator H245_MasterSlaveDetermination &() const;
  126. #else
  127.     operator H245_MasterSlaveDetermination &();
  128.     operator const H245_MasterSlaveDetermination &() const;
  129. #endif
  130. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  131.     operator H245_TerminalCapabilitySet &() const;
  132. #else
  133.     operator H245_TerminalCapabilitySet &();
  134.     operator const H245_TerminalCapabilitySet &() const;
  135. #endif
  136. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  137.     operator H245_OpenLogicalChannel &() const;
  138. #else
  139.     operator H245_OpenLogicalChannel &();
  140.     operator const H245_OpenLogicalChannel &() const;
  141. #endif
  142. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  143.     operator H245_CloseLogicalChannel &() const;
  144. #else
  145.     operator H245_CloseLogicalChannel &();
  146.     operator const H245_CloseLogicalChannel &() const;
  147. #endif
  148. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  149.     operator H245_RequestChannelClose &() const;
  150. #else
  151.     operator H245_RequestChannelClose &();
  152.     operator const H245_RequestChannelClose &() const;
  153. #endif
  154. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  155.     operator H245_MultiplexEntrySend &() const;
  156. #else
  157.     operator H245_MultiplexEntrySend &();
  158.     operator const H245_MultiplexEntrySend &() const;
  159. #endif
  160. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  161.     operator H245_RequestMultiplexEntry &() const;
  162. #else
  163.     operator H245_RequestMultiplexEntry &();
  164.     operator const H245_RequestMultiplexEntry &() const;
  165. #endif
  166. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  167.     operator H245_RequestMode &() const;
  168. #else
  169.     operator H245_RequestMode &();
  170.     operator const H245_RequestMode &() const;
  171. #endif
  172. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  173.     operator H245_RoundTripDelayRequest &() const;
  174. #else
  175.     operator H245_RoundTripDelayRequest &();
  176.     operator const H245_RoundTripDelayRequest &() const;
  177. #endif
  178. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  179.     operator H245_MaintenanceLoopRequest &() const;
  180. #else
  181.     operator H245_MaintenanceLoopRequest &();
  182.     operator const H245_MaintenanceLoopRequest &() const;
  183. #endif
  184. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  185.     operator H245_CommunicationModeRequest &() const;
  186. #else
  187.     operator H245_CommunicationModeRequest &();
  188.     operator const H245_CommunicationModeRequest &() const;
  189. #endif
  190. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  191.     operator H245_ConferenceRequest &() const;
  192. #else
  193.     operator H245_ConferenceRequest &();
  194.     operator const H245_ConferenceRequest &() const;
  195. #endif
  196. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  197.     operator H245_MultilinkRequest &() const;
  198. #else
  199.     operator H245_MultilinkRequest &();
  200.     operator const H245_MultilinkRequest &() const;
  201. #endif
  202. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  203.     operator H245_LogicalChannelRateRequest &() const;
  204. #else
  205.     operator H245_LogicalChannelRateRequest &();
  206.     operator const H245_LogicalChannelRateRequest &() const;
  207. #endif
  208.  
  209.     BOOL CreateObject();
  210.     PObject * Clone() const;
  211. };
  212.  
  213.  
  214. //
  215. // ResponseMessage
  216. //
  217.  
  218. class H245_NonStandardMessage;
  219. class H245_MasterSlaveDeterminationAck;
  220. class H245_MasterSlaveDeterminationReject;
  221. class H245_TerminalCapabilitySetAck;
  222. class H245_TerminalCapabilitySetReject;
  223. class H245_OpenLogicalChannelAck;
  224. class H245_OpenLogicalChannelReject;
  225. class H245_CloseLogicalChannelAck;
  226. class H245_RequestChannelCloseAck;
  227. class H245_RequestChannelCloseReject;
  228. class H245_MultiplexEntrySendAck;
  229. class H245_MultiplexEntrySendReject;
  230. class H245_RequestMultiplexEntryAck;
  231. class H245_RequestMultiplexEntryReject;
  232. class H245_RequestModeAck;
  233. class H245_RequestModeReject;
  234. class H245_RoundTripDelayResponse;
  235. class H245_MaintenanceLoopAck;
  236. class H245_MaintenanceLoopReject;
  237. class H245_CommunicationModeResponse;
  238. class H245_ConferenceResponse;
  239. class H245_MultilinkResponse;
  240. class H245_LogicalChannelRateAcknowledge;
  241. class H245_LogicalChannelRateReject;
  242.  
  243. class H245_ResponseMessage : public PASN_Choice
  244. {
  245. #ifndef PASN_LEANANDMEAN
  246.     PCLASSINFO(H245_ResponseMessage, PASN_Choice);
  247. #endif
  248.   public:
  249.     H245_ResponseMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  250.  
  251.     enum Choices {
  252.       e_nonStandard,
  253.       e_masterSlaveDeterminationAck,
  254.       e_masterSlaveDeterminationReject,
  255.       e_terminalCapabilitySetAck,
  256.       e_terminalCapabilitySetReject,
  257.       e_openLogicalChannelAck,
  258.       e_openLogicalChannelReject,
  259.       e_closeLogicalChannelAck,
  260.       e_requestChannelCloseAck,
  261.       e_requestChannelCloseReject,
  262.       e_multiplexEntrySendAck,
  263.       e_multiplexEntrySendReject,
  264.       e_requestMultiplexEntryAck,
  265.       e_requestMultiplexEntryReject,
  266.       e_requestModeAck,
  267.       e_requestModeReject,
  268.       e_roundTripDelayResponse,
  269.       e_maintenanceLoopAck,
  270.       e_maintenanceLoopReject,
  271.       e_communicationModeResponse,
  272.       e_conferenceResponse,
  273.       e_multilinkResponse,
  274.       e_logicalChannelRateAcknowledge,
  275.       e_logicalChannelRateReject
  276.     };
  277.  
  278. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  279.     operator H245_NonStandardMessage &() const;
  280. #else
  281.     operator H245_NonStandardMessage &();
  282.     operator const H245_NonStandardMessage &() const;
  283. #endif
  284. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  285.     operator H245_MasterSlaveDeterminationAck &() const;
  286. #else
  287.     operator H245_MasterSlaveDeterminationAck &();
  288.     operator const H245_MasterSlaveDeterminationAck &() const;
  289. #endif
  290. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  291.     operator H245_MasterSlaveDeterminationReject &() const;
  292. #else
  293.     operator H245_MasterSlaveDeterminationReject &();
  294.     operator const H245_MasterSlaveDeterminationReject &() const;
  295. #endif
  296. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  297.     operator H245_TerminalCapabilitySetAck &() const;
  298. #else
  299.     operator H245_TerminalCapabilitySetAck &();
  300.     operator const H245_TerminalCapabilitySetAck &() const;
  301. #endif
  302. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  303.     operator H245_TerminalCapabilitySetReject &() const;
  304. #else
  305.     operator H245_TerminalCapabilitySetReject &();
  306.     operator const H245_TerminalCapabilitySetReject &() const;
  307. #endif
  308. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  309.     operator H245_OpenLogicalChannelAck &() const;
  310. #else
  311.     operator H245_OpenLogicalChannelAck &();
  312.     operator const H245_OpenLogicalChannelAck &() const;
  313. #endif
  314. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  315.     operator H245_OpenLogicalChannelReject &() const;
  316. #else
  317.     operator H245_OpenLogicalChannelReject &();
  318.     operator const H245_OpenLogicalChannelReject &() const;
  319. #endif
  320. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  321.     operator H245_CloseLogicalChannelAck &() const;
  322. #else
  323.     operator H245_CloseLogicalChannelAck &();
  324.     operator const H245_CloseLogicalChannelAck &() const;
  325. #endif
  326. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  327.     operator H245_RequestChannelCloseAck &() const;
  328. #else
  329.     operator H245_RequestChannelCloseAck &();
  330.     operator const H245_RequestChannelCloseAck &() const;
  331. #endif
  332. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  333.     operator H245_RequestChannelCloseReject &() const;
  334. #else
  335.     operator H245_RequestChannelCloseReject &();
  336.     operator const H245_RequestChannelCloseReject &() const;
  337. #endif
  338. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  339.     operator H245_MultiplexEntrySendAck &() const;
  340. #else
  341.     operator H245_MultiplexEntrySendAck &();
  342.     operator const H245_MultiplexEntrySendAck &() const;
  343. #endif
  344. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  345.     operator H245_MultiplexEntrySendReject &() const;
  346. #else
  347.     operator H245_MultiplexEntrySendReject &();
  348.     operator const H245_MultiplexEntrySendReject &() const;
  349. #endif
  350. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  351.     operator H245_RequestMultiplexEntryAck &() const;
  352. #else
  353.     operator H245_RequestMultiplexEntryAck &();
  354.     operator const H245_RequestMultiplexEntryAck &() const;
  355. #endif
  356. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  357.     operator H245_RequestMultiplexEntryReject &() const;
  358. #else
  359.     operator H245_RequestMultiplexEntryReject &();
  360.     operator const H245_RequestMultiplexEntryReject &() const;
  361. #endif
  362. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  363.     operator H245_RequestModeAck &() const;
  364. #else
  365.     operator H245_RequestModeAck &();
  366.     operator const H245_RequestModeAck &() const;
  367. #endif
  368. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  369.     operator H245_RequestModeReject &() const;
  370. #else
  371.     operator H245_RequestModeReject &();
  372.     operator const H245_RequestModeReject &() const;
  373. #endif
  374. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  375.     operator H245_RoundTripDelayResponse &() const;
  376. #else
  377.     operator H245_RoundTripDelayResponse &();
  378.     operator const H245_RoundTripDelayResponse &() const;
  379. #endif
  380. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  381.     operator H245_MaintenanceLoopAck &() const;
  382. #else
  383.     operator H245_MaintenanceLoopAck &();
  384.     operator const H245_MaintenanceLoopAck &() const;
  385. #endif
  386. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  387.     operator H245_MaintenanceLoopReject &() const;
  388. #else
  389.     operator H245_MaintenanceLoopReject &();
  390.     operator const H245_MaintenanceLoopReject &() const;
  391. #endif
  392. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  393.     operator H245_CommunicationModeResponse &() const;
  394. #else
  395.     operator H245_CommunicationModeResponse &();
  396.     operator const H245_CommunicationModeResponse &() const;
  397. #endif
  398. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  399.     operator H245_ConferenceResponse &() const;
  400. #else
  401.     operator H245_ConferenceResponse &();
  402.     operator const H245_ConferenceResponse &() const;
  403. #endif
  404. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  405.     operator H245_MultilinkResponse &() const;
  406. #else
  407.     operator H245_MultilinkResponse &();
  408.     operator const H245_MultilinkResponse &() const;
  409. #endif
  410. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  411.     operator H245_LogicalChannelRateAcknowledge &() const;
  412. #else
  413.     operator H245_LogicalChannelRateAcknowledge &();
  414.     operator const H245_LogicalChannelRateAcknowledge &() const;
  415. #endif
  416. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  417.     operator H245_LogicalChannelRateReject &() const;
  418. #else
  419.     operator H245_LogicalChannelRateReject &();
  420.     operator const H245_LogicalChannelRateReject &() const;
  421. #endif
  422.  
  423.     BOOL CreateObject();
  424.     PObject * Clone() const;
  425. };
  426.  
  427.  
  428. //
  429. // CommandMessage
  430. //
  431.  
  432. class H245_NonStandardMessage;
  433. class H245_MaintenanceLoopOffCommand;
  434. class H245_SendTerminalCapabilitySet;
  435. class H245_EncryptionCommand;
  436. class H245_FlowControlCommand;
  437. class H245_EndSessionCommand;
  438. class H245_MiscellaneousCommand;
  439. class H245_CommunicationModeCommand;
  440. class H245_ConferenceCommand;
  441. class H245_H223MultiplexReconfiguration;
  442. class H245_NewATMVCCommand;
  443. class H245_MobileMultilinkReconfigurationCommand;
  444.  
  445. class H245_CommandMessage : public PASN_Choice
  446. {
  447. #ifndef PASN_LEANANDMEAN
  448.     PCLASSINFO(H245_CommandMessage, PASN_Choice);
  449. #endif
  450.   public:
  451.     H245_CommandMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  452.  
  453.     enum Choices {
  454.       e_nonStandard,
  455.       e_maintenanceLoopOffCommand,
  456.       e_sendTerminalCapabilitySet,
  457.       e_encryptionCommand,
  458.       e_flowControlCommand,
  459.       e_endSessionCommand,
  460.       e_miscellaneousCommand,
  461.       e_communicationModeCommand,
  462.       e_conferenceCommand,
  463.       e_h223MultiplexReconfiguration,
  464.       e_newATMVCCommand,
  465.       e_mobileMultilinkReconfigurationCommand
  466.     };
  467.  
  468. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  469.     operator H245_NonStandardMessage &() const;
  470. #else
  471.     operator H245_NonStandardMessage &();
  472.     operator const H245_NonStandardMessage &() const;
  473. #endif
  474. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  475.     operator H245_MaintenanceLoopOffCommand &() const;
  476. #else
  477.     operator H245_MaintenanceLoopOffCommand &();
  478.     operator const H245_MaintenanceLoopOffCommand &() const;
  479. #endif
  480. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  481.     operator H245_SendTerminalCapabilitySet &() const;
  482. #else
  483.     operator H245_SendTerminalCapabilitySet &();
  484.     operator const H245_SendTerminalCapabilitySet &() const;
  485. #endif
  486. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  487.     operator H245_EncryptionCommand &() const;
  488. #else
  489.     operator H245_EncryptionCommand &();
  490.     operator const H245_EncryptionCommand &() const;
  491. #endif
  492. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  493.     operator H245_FlowControlCommand &() const;
  494. #else
  495.     operator H245_FlowControlCommand &();
  496.     operator const H245_FlowControlCommand &() const;
  497. #endif
  498. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  499.     operator H245_EndSessionCommand &() const;
  500. #else
  501.     operator H245_EndSessionCommand &();
  502.     operator const H245_EndSessionCommand &() const;
  503. #endif
  504. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  505.     operator H245_MiscellaneousCommand &() const;
  506. #else
  507.     operator H245_MiscellaneousCommand &();
  508.     operator const H245_MiscellaneousCommand &() const;
  509. #endif
  510. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  511.     operator H245_CommunicationModeCommand &() const;
  512. #else
  513.     operator H245_CommunicationModeCommand &();
  514.     operator const H245_CommunicationModeCommand &() const;
  515. #endif
  516. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  517.     operator H245_ConferenceCommand &() const;
  518. #else
  519.     operator H245_ConferenceCommand &();
  520.     operator const H245_ConferenceCommand &() const;
  521. #endif
  522. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  523.     operator H245_H223MultiplexReconfiguration &() const;
  524. #else
  525.     operator H245_H223MultiplexReconfiguration &();
  526.     operator const H245_H223MultiplexReconfiguration &() const;
  527. #endif
  528. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  529.     operator H245_NewATMVCCommand &() const;
  530. #else
  531.     operator H245_NewATMVCCommand &();
  532.     operator const H245_NewATMVCCommand &() const;
  533. #endif
  534. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  535.     operator H245_MobileMultilinkReconfigurationCommand &() const;
  536. #else
  537.     operator H245_MobileMultilinkReconfigurationCommand &();
  538.     operator const H245_MobileMultilinkReconfigurationCommand &() const;
  539. #endif
  540.  
  541.     BOOL CreateObject();
  542.     PObject * Clone() const;
  543. };
  544.  
  545.  
  546. //
  547. // IndicationMessage
  548. //
  549.  
  550. class H245_NonStandardMessage;
  551. class H245_FunctionNotUnderstood;
  552. class H245_MasterSlaveDeterminationRelease;
  553. class H245_TerminalCapabilitySetRelease;
  554. class H245_OpenLogicalChannelConfirm;
  555. class H245_RequestChannelCloseRelease;
  556. class H245_MultiplexEntrySendRelease;
  557. class H245_RequestMultiplexEntryRelease;
  558. class H245_RequestModeRelease;
  559. class H245_MiscellaneousIndication;
  560. class H245_JitterIndication;
  561. class H245_H223SkewIndication;
  562. class H245_NewATMVCIndication;
  563. class H245_UserInputIndication;
  564. class H245_H2250MaximumSkewIndication;
  565. class H245_MCLocationIndication;
  566. class H245_ConferenceIndication;
  567. class H245_VendorIdentification;
  568. class H245_FunctionNotSupported;
  569. class H245_MultilinkIndication;
  570. class H245_LogicalChannelRateRelease;
  571. class H245_FlowControlIndication;
  572. class H245_MobileMultilinkReconfigurationIndication;
  573.  
  574. class H245_IndicationMessage : public PASN_Choice
  575. {
  576. #ifndef PASN_LEANANDMEAN
  577.     PCLASSINFO(H245_IndicationMessage, PASN_Choice);
  578. #endif
  579.   public:
  580.     H245_IndicationMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  581.  
  582.     enum Choices {
  583.       e_nonStandard,
  584.       e_functionNotUnderstood,
  585.       e_masterSlaveDeterminationRelease,
  586.       e_terminalCapabilitySetRelease,
  587.       e_openLogicalChannelConfirm,
  588.       e_requestChannelCloseRelease,
  589.       e_multiplexEntrySendRelease,
  590.       e_requestMultiplexEntryRelease,
  591.       e_requestModeRelease,
  592.       e_miscellaneousIndication,
  593.       e_jitterIndication,
  594.       e_h223SkewIndication,
  595.       e_newATMVCIndication,
  596.       e_userInput,
  597.       e_h2250MaximumSkewIndication,
  598.       e_mcLocationIndication,
  599.       e_conferenceIndication,
  600.       e_vendorIdentification,
  601.       e_functionNotSupported,
  602.       e_multilinkIndication,
  603.       e_logicalChannelRateRelease,
  604.       e_flowControlIndication,
  605.       e_mobileMultilinkReconfigurationIndication
  606.     };
  607.  
  608. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  609.     operator H245_NonStandardMessage &() const;
  610. #else
  611.     operator H245_NonStandardMessage &();
  612.     operator const H245_NonStandardMessage &() const;
  613. #endif
  614. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  615.     operator H245_FunctionNotUnderstood &() const;
  616. #else
  617.     operator H245_FunctionNotUnderstood &();
  618.     operator const H245_FunctionNotUnderstood &() const;
  619. #endif
  620. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  621.     operator H245_MasterSlaveDeterminationRelease &() const;
  622. #else
  623.     operator H245_MasterSlaveDeterminationRelease &();
  624.     operator const H245_MasterSlaveDeterminationRelease &() const;
  625. #endif
  626. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  627.     operator H245_TerminalCapabilitySetRelease &() const;
  628. #else
  629.     operator H245_TerminalCapabilitySetRelease &();
  630.     operator const H245_TerminalCapabilitySetRelease &() const;
  631. #endif
  632. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  633.     operator H245_OpenLogicalChannelConfirm &() const;
  634. #else
  635.     operator H245_OpenLogicalChannelConfirm &();
  636.     operator const H245_OpenLogicalChannelConfirm &() const;
  637. #endif
  638. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  639.     operator H245_RequestChannelCloseRelease &() const;
  640. #else
  641.     operator H245_RequestChannelCloseRelease &();
  642.     operator const H245_RequestChannelCloseRelease &() const;
  643. #endif
  644. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  645.     operator H245_MultiplexEntrySendRelease &() const;
  646. #else
  647.     operator H245_MultiplexEntrySendRelease &();
  648.     operator const H245_MultiplexEntrySendRelease &() const;
  649. #endif
  650. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  651.     operator H245_RequestMultiplexEntryRelease &() const;
  652. #else
  653.     operator H245_RequestMultiplexEntryRelease &();
  654.     operator const H245_RequestMultiplexEntryRelease &() const;
  655. #endif
  656. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  657.     operator H245_RequestModeRelease &() const;
  658. #else
  659.     operator H245_RequestModeRelease &();
  660.     operator const H245_RequestModeRelease &() const;
  661. #endif
  662. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  663.     operator H245_MiscellaneousIndication &() const;
  664. #else
  665.     operator H245_MiscellaneousIndication &();
  666.     operator const H245_MiscellaneousIndication &() const;
  667. #endif
  668. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  669.     operator H245_JitterIndication &() const;
  670. #else
  671.     operator H245_JitterIndication &();
  672.     operator const H245_JitterIndication &() const;
  673. #endif
  674. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  675.     operator H245_H223SkewIndication &() const;
  676. #else
  677.     operator H245_H223SkewIndication &();
  678.     operator const H245_H223SkewIndication &() const;
  679. #endif
  680. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  681.     operator H245_NewATMVCIndication &() const;
  682. #else
  683.     operator H245_NewATMVCIndication &();
  684.     operator const H245_NewATMVCIndication &() const;
  685. #endif
  686. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  687.     operator H245_UserInputIndication &() const;
  688. #else
  689.     operator H245_UserInputIndication &();
  690.     operator const H245_UserInputIndication &() const;
  691. #endif
  692. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  693.     operator H245_H2250MaximumSkewIndication &() const;
  694. #else
  695.     operator H245_H2250MaximumSkewIndication &();
  696.     operator const H245_H2250MaximumSkewIndication &() const;
  697. #endif
  698. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  699.     operator H245_MCLocationIndication &() const;
  700. #else
  701.     operator H245_MCLocationIndication &();
  702.     operator const H245_MCLocationIndication &() const;
  703. #endif
  704. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  705.     operator H245_ConferenceIndication &() const;
  706. #else
  707.     operator H245_ConferenceIndication &();
  708.     operator const H245_ConferenceIndication &() const;
  709. #endif
  710. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  711.     operator H245_VendorIdentification &() const;
  712. #else
  713.     operator H245_VendorIdentification &();
  714.     operator const H245_VendorIdentification &() const;
  715. #endif
  716. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  717.     operator H245_FunctionNotSupported &() const;
  718. #else
  719.     operator H245_FunctionNotSupported &();
  720.     operator const H245_FunctionNotSupported &() const;
  721. #endif
  722. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  723.     operator H245_MultilinkIndication &() const;
  724. #else
  725.     operator H245_MultilinkIndication &();
  726.     operator const H245_MultilinkIndication &() const;
  727. #endif
  728. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  729.     operator H245_LogicalChannelRateRelease &() const;
  730. #else
  731.     operator H245_LogicalChannelRateRelease &();
  732.     operator const H245_LogicalChannelRateRelease &() const;
  733. #endif
  734. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  735.     operator H245_FlowControlIndication &() const;
  736. #else
  737.     operator H245_FlowControlIndication &();
  738.     operator const H245_FlowControlIndication &() const;
  739. #endif
  740. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  741.     operator H245_MobileMultilinkReconfigurationIndication &() const;
  742. #else
  743.     operator H245_MobileMultilinkReconfigurationIndication &();
  744.     operator const H245_MobileMultilinkReconfigurationIndication &() const;
  745. #endif
  746.  
  747.     BOOL CreateObject();
  748.     PObject * Clone() const;
  749. };
  750.  
  751.  
  752. //
  753. // SequenceNumber
  754. //
  755.  
  756. class H245_SequenceNumber : public PASN_Integer
  757. {
  758. #ifndef PASN_LEANANDMEAN
  759.     PCLASSINFO(H245_SequenceNumber, PASN_Integer);
  760. #endif
  761.   public:
  762.     H245_SequenceNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  763.  
  764.     H245_SequenceNumber & operator=(int v);
  765.     H245_SequenceNumber & operator=(unsigned v);
  766.     PObject * Clone() const;
  767. };
  768.  
  769.  
  770. //
  771. // NonStandardIdentifier
  772. //
  773.  
  774. class H245_NonStandardIdentifier_h221NonStandard;
  775.  
  776. class H245_NonStandardIdentifier : public PASN_Choice
  777. {
  778. #ifndef PASN_LEANANDMEAN
  779.     PCLASSINFO(H245_NonStandardIdentifier, PASN_Choice);
  780. #endif
  781.   public:
  782.     H245_NonStandardIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  783.  
  784.     enum Choices {
  785.       e_object,
  786.       e_h221NonStandard
  787.     };
  788.  
  789. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  790.     operator H245_NonStandardIdentifier_h221NonStandard &() const;
  791. #else
  792.     operator H245_NonStandardIdentifier_h221NonStandard &();
  793.     operator const H245_NonStandardIdentifier_h221NonStandard &() const;
  794. #endif
  795.  
  796.     BOOL CreateObject();
  797.     PObject * Clone() const;
  798. };
  799.  
  800.  
  801. //
  802. // MasterSlaveDetermination
  803. //
  804.  
  805. class H245_MasterSlaveDetermination : public PASN_Sequence
  806. {
  807. #ifndef PASN_LEANANDMEAN
  808.     PCLASSINFO(H245_MasterSlaveDetermination, PASN_Sequence);
  809. #endif
  810.   public:
  811.     H245_MasterSlaveDetermination(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  812.  
  813.     PASN_Integer m_terminalType;
  814.     PASN_Integer m_statusDeterminationNumber;
  815.  
  816.     PINDEX GetDataLength() const;
  817.     BOOL Decode(PASN_Stream & strm);
  818.     void Encode(PASN_Stream & strm) const;
  819. #ifndef PASN_NOPRINTON
  820.     void PrintOn(ostream & strm) const;
  821. #endif
  822.     Comparison Compare(const PObject & obj) const;
  823.     PObject * Clone() const;
  824. };
  825.  
  826.  
  827. //
  828. // MasterSlaveDeterminationRelease
  829. //
  830.  
  831. class H245_MasterSlaveDeterminationRelease : public PASN_Sequence
  832. {
  833. #ifndef PASN_LEANANDMEAN
  834.     PCLASSINFO(H245_MasterSlaveDeterminationRelease, PASN_Sequence);
  835. #endif
  836.   public:
  837.     H245_MasterSlaveDeterminationRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  838.  
  839.  
  840.     PINDEX GetDataLength() const;
  841.     BOOL Decode(PASN_Stream & strm);
  842.     void Encode(PASN_Stream & strm) const;
  843. #ifndef PASN_NOPRINTON
  844.     void PrintOn(ostream & strm) const;
  845. #endif
  846.     PObject * Clone() const;
  847. };
  848.  
  849.  
  850. //
  851. // AlternativeCapabilitySet
  852. //
  853.  
  854. class H245_CapabilityTableEntryNumber;
  855.  
  856. class H245_AlternativeCapabilitySet : public PASN_Array
  857. {
  858. #ifndef PASN_LEANANDMEAN
  859.     PCLASSINFO(H245_AlternativeCapabilitySet, PASN_Array);
  860. #endif
  861.   public:
  862.     H245_AlternativeCapabilitySet(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  863.  
  864.     PASN_Object * CreateObject() const;
  865.     H245_CapabilityTableEntryNumber & operator[](PINDEX i) const;
  866.     PObject * Clone() const;
  867. };
  868.  
  869.  
  870. //
  871. // CapabilityTableEntryNumber
  872. //
  873.  
  874. class H245_CapabilityTableEntryNumber : public PASN_Integer
  875. {
  876. #ifndef PASN_LEANANDMEAN
  877.     PCLASSINFO(H245_CapabilityTableEntryNumber, PASN_Integer);
  878. #endif
  879.   public:
  880.     H245_CapabilityTableEntryNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  881.  
  882.     H245_CapabilityTableEntryNumber & operator=(int v);
  883.     H245_CapabilityTableEntryNumber & operator=(unsigned v);
  884.     PObject * Clone() const;
  885. };
  886.  
  887.  
  888. //
  889. // CapabilityDescriptorNumber
  890. //
  891.  
  892. class H245_CapabilityDescriptorNumber : public PASN_Integer
  893. {
  894. #ifndef PASN_LEANANDMEAN
  895.     PCLASSINFO(H245_CapabilityDescriptorNumber, PASN_Integer);
  896. #endif
  897.   public:
  898.     H245_CapabilityDescriptorNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  899.  
  900.     H245_CapabilityDescriptorNumber & operator=(int v);
  901.     H245_CapabilityDescriptorNumber & operator=(unsigned v);
  902.     PObject * Clone() const;
  903. };
  904.  
  905.  
  906. //
  907. // TerminalCapabilitySetAck
  908. //
  909.  
  910. class H245_TerminalCapabilitySetAck : public PASN_Sequence
  911. {
  912. #ifndef PASN_LEANANDMEAN
  913.     PCLASSINFO(H245_TerminalCapabilitySetAck, PASN_Sequence);
  914. #endif
  915.   public:
  916.     H245_TerminalCapabilitySetAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  917.  
  918.     H245_SequenceNumber m_sequenceNumber;
  919.  
  920.     PINDEX GetDataLength() const;
  921.     BOOL Decode(PASN_Stream & strm);
  922.     void Encode(PASN_Stream & strm) const;
  923. #ifndef PASN_NOPRINTON
  924.     void PrintOn(ostream & strm) const;
  925. #endif
  926.     Comparison Compare(const PObject & obj) const;
  927.     PObject * Clone() const;
  928. };
  929.  
  930.  
  931. //
  932. // TerminalCapabilitySetRelease
  933. //
  934.  
  935. class H245_TerminalCapabilitySetRelease : public PASN_Sequence
  936. {
  937. #ifndef PASN_LEANANDMEAN
  938.     PCLASSINFO(H245_TerminalCapabilitySetRelease, PASN_Sequence);
  939. #endif
  940.   public:
  941.     H245_TerminalCapabilitySetRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  942.  
  943.  
  944.     PINDEX GetDataLength() const;
  945.     BOOL Decode(PASN_Stream & strm);
  946.     void Encode(PASN_Stream & strm) const;
  947. #ifndef PASN_NOPRINTON
  948.     void PrintOn(ostream & strm) const;
  949. #endif
  950.     PObject * Clone() const;
  951. };
  952.  
  953.  
  954. //
  955. // Capability
  956. //
  957.  
  958. class H245_NonStandardParameter;
  959. class H245_VideoCapability;
  960. class H245_VideoCapability;
  961. class H245_VideoCapability;
  962. class H245_AudioCapability;
  963. class H245_AudioCapability;
  964. class H245_AudioCapability;
  965. class H245_DataApplicationCapability;
  966. class H245_DataApplicationCapability;
  967. class H245_DataApplicationCapability;
  968. class H245_Capability_h233EncryptionReceiveCapability;
  969. class H245_ConferenceCapability;
  970. class H245_H235SecurityCapability;
  971. class H245_UserInputCapability;
  972. class H245_UserInputCapability;
  973. class H245_UserInputCapability;
  974. class H245_GenericCapability;
  975. class H245_MultiplexedStreamCapability;
  976. class H245_MultiplexedStreamCapability;
  977. class H245_MultiplexedStreamCapability;
  978. class H245_AudioTelephonyEventCapability;
  979. class H245_AudioToneCapability;
  980.  
  981. class H245_Capability : public PASN_Choice
  982. {
  983. #ifndef PASN_LEANANDMEAN
  984.     PCLASSINFO(H245_Capability, PASN_Choice);
  985. #endif
  986.   public:
  987.     H245_Capability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  988.  
  989.     enum Choices {
  990.       e_nonStandard,
  991.       e_receiveVideoCapability,
  992.       e_transmitVideoCapability,
  993.       e_receiveAndTransmitVideoCapability,
  994.       e_receiveAudioCapability,
  995.       e_transmitAudioCapability,
  996.       e_receiveAndTransmitAudioCapability,
  997.       e_receiveDataApplicationCapability,
  998.       e_transmitDataApplicationCapability,
  999.       e_receiveAndTransmitDataApplicationCapability,
  1000.       e_h233EncryptionTransmitCapability,
  1001.       e_h233EncryptionReceiveCapability,
  1002.       e_conferenceCapability,
  1003.       e_h235SecurityCapability,
  1004.       e_maxPendingReplacementFor,
  1005.       e_receiveUserInputCapability,
  1006.       e_transmitUserInputCapability,
  1007.       e_receiveAndTransmitUserInputCapability,
  1008.       e_genericControlCapability,
  1009.       e_receiveMultiplexedStreamCapability,
  1010.       e_transmitMultiplexedStreamCapability,
  1011.       e_receiveAndTransmitMultiplexedStreamCapability,
  1012.       e_receiveRTPAudioTelephonyEventCapability,
  1013.       e_receiveRTPAudioToneCapability
  1014.     };
  1015.  
  1016. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1017.     operator H245_NonStandardParameter &() const;
  1018. #else
  1019.     operator H245_NonStandardParameter &();
  1020.     operator const H245_NonStandardParameter &() const;
  1021. #endif
  1022. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1023.     operator H245_VideoCapability &() const;
  1024. #else
  1025.     operator H245_VideoCapability &();
  1026.     operator const H245_VideoCapability &() const;
  1027. #endif
  1028. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1029.     operator H245_AudioCapability &() const;
  1030. #else
  1031.     operator H245_AudioCapability &();
  1032.     operator const H245_AudioCapability &() const;
  1033. #endif
  1034. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1035.     operator H245_DataApplicationCapability &() const;
  1036. #else
  1037.     operator H245_DataApplicationCapability &();
  1038.     operator const H245_DataApplicationCapability &() const;
  1039. #endif
  1040. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1041.     operator H245_Capability_h233EncryptionReceiveCapability &() const;
  1042. #else
  1043.     operator H245_Capability_h233EncryptionReceiveCapability &();
  1044.     operator const H245_Capability_h233EncryptionReceiveCapability &() const;
  1045. #endif
  1046. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1047.     operator H245_ConferenceCapability &() const;
  1048. #else
  1049.     operator H245_ConferenceCapability &();
  1050.     operator const H245_ConferenceCapability &() const;
  1051. #endif
  1052. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1053.     operator H245_H235SecurityCapability &() const;
  1054. #else
  1055.     operator H245_H235SecurityCapability &();
  1056.     operator const H245_H235SecurityCapability &() const;
  1057. #endif
  1058. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1059.     operator H245_UserInputCapability &() const;
  1060. #else
  1061.     operator H245_UserInputCapability &();
  1062.     operator const H245_UserInputCapability &() const;
  1063. #endif
  1064. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1065.     operator H245_GenericCapability &() const;
  1066. #else
  1067.     operator H245_GenericCapability &();
  1068.     operator const H245_GenericCapability &() const;
  1069. #endif
  1070. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1071.     operator H245_MultiplexedStreamCapability &() const;
  1072. #else
  1073.     operator H245_MultiplexedStreamCapability &();
  1074.     operator const H245_MultiplexedStreamCapability &() const;
  1075. #endif
  1076. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1077.     operator H245_AudioTelephonyEventCapability &() const;
  1078. #else
  1079.     operator H245_AudioTelephonyEventCapability &();
  1080.     operator const H245_AudioTelephonyEventCapability &() const;
  1081. #endif
  1082. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1083.     operator H245_AudioToneCapability &() const;
  1084. #else
  1085.     operator H245_AudioToneCapability &();
  1086.     operator const H245_AudioToneCapability &() const;
  1087. #endif
  1088.  
  1089.     BOOL CreateObject();
  1090.     PObject * Clone() const;
  1091. };
  1092.  
  1093.  
  1094. //
  1095. // MultiplexCapability
  1096. //
  1097.  
  1098. class H245_NonStandardParameter;
  1099. class H245_H222Capability;
  1100. class H245_H223Capability;
  1101. class H245_V76Capability;
  1102. class H245_H2250Capability;
  1103. class H245_GenericCapability;
  1104.  
  1105. class H245_MultiplexCapability : public PASN_Choice
  1106. {
  1107. #ifndef PASN_LEANANDMEAN
  1108.     PCLASSINFO(H245_MultiplexCapability, PASN_Choice);
  1109. #endif
  1110.   public:
  1111.     H245_MultiplexCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1112.  
  1113.     enum Choices {
  1114.       e_nonStandard,
  1115.       e_h222Capability,
  1116.       e_h223Capability,
  1117.       e_v76Capability,
  1118.       e_h2250Capability,
  1119.       e_genericMultiplexCapability
  1120.     };
  1121.  
  1122. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1123.     operator H245_NonStandardParameter &() const;
  1124. #else
  1125.     operator H245_NonStandardParameter &();
  1126.     operator const H245_NonStandardParameter &() const;
  1127. #endif
  1128. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1129.     operator H245_H222Capability &() const;
  1130. #else
  1131.     operator H245_H222Capability &();
  1132.     operator const H245_H222Capability &() const;
  1133. #endif
  1134. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1135.     operator H245_H223Capability &() const;
  1136. #else
  1137.     operator H245_H223Capability &();
  1138.     operator const H245_H223Capability &() const;
  1139. #endif
  1140. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1141.     operator H245_V76Capability &() const;
  1142. #else
  1143.     operator H245_V76Capability &();
  1144.     operator const H245_V76Capability &() const;
  1145. #endif
  1146. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1147.     operator H245_H2250Capability &() const;
  1148. #else
  1149.     operator H245_H2250Capability &();
  1150.     operator const H245_H2250Capability &() const;
  1151. #endif
  1152. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1153.     operator H245_GenericCapability &() const;
  1154. #else
  1155.     operator H245_GenericCapability &();
  1156.     operator const H245_GenericCapability &() const;
  1157. #endif
  1158.  
  1159.     BOOL CreateObject();
  1160.     PObject * Clone() const;
  1161. };
  1162.  
  1163.  
  1164. //
  1165. // H223AnnexCCapability
  1166. //
  1167.  
  1168. class H245_H223AnnexCCapability : public PASN_Sequence
  1169. {
  1170. #ifndef PASN_LEANANDMEAN
  1171.     PCLASSINFO(H245_H223AnnexCCapability, PASN_Sequence);
  1172. #endif
  1173.   public:
  1174.     H245_H223AnnexCCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1175.  
  1176.     enum OptionalFields {
  1177.       e_rsCodeCapability
  1178.     };
  1179.  
  1180.     PASN_Boolean m_videoWithAL1M;
  1181.     PASN_Boolean m_videoWithAL2M;
  1182.     PASN_Boolean m_videoWithAL3M;
  1183.     PASN_Boolean m_audioWithAL1M;
  1184.     PASN_Boolean m_audioWithAL2M;
  1185.     PASN_Boolean m_audioWithAL3M;
  1186.     PASN_Boolean m_dataWithAL1M;
  1187.     PASN_Boolean m_dataWithAL2M;
  1188.     PASN_Boolean m_dataWithAL3M;
  1189.     PASN_Boolean m_alpduInterleaving;
  1190.     PASN_Integer m_maximumAL1MPDUSize;
  1191.     PASN_Integer m_maximumAL2MSDUSize;
  1192.     PASN_Integer m_maximumAL3MSDUSize;
  1193.     PASN_Boolean m_rsCodeCapability;
  1194.  
  1195.     PINDEX GetDataLength() const;
  1196.     BOOL Decode(PASN_Stream & strm);
  1197.     void Encode(PASN_Stream & strm) const;
  1198. #ifndef PASN_NOPRINTON
  1199.     void PrintOn(ostream & strm) const;
  1200. #endif
  1201.     Comparison Compare(const PObject & obj) const;
  1202.     PObject * Clone() const;
  1203. };
  1204.  
  1205.  
  1206. //
  1207. // V75Capability
  1208. //
  1209.  
  1210. class H245_V75Capability : public PASN_Sequence
  1211. {
  1212. #ifndef PASN_LEANANDMEAN
  1213.     PCLASSINFO(H245_V75Capability, PASN_Sequence);
  1214. #endif
  1215.   public:
  1216.     H245_V75Capability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1217.  
  1218.     PASN_Boolean m_audioHeader;
  1219.  
  1220.     PINDEX GetDataLength() const;
  1221.     BOOL Decode(PASN_Stream & strm);
  1222.     void Encode(PASN_Stream & strm) const;
  1223. #ifndef PASN_NOPRINTON
  1224.     void PrintOn(ostream & strm) const;
  1225. #endif
  1226.     Comparison Compare(const PObject & obj) const;
  1227.     PObject * Clone() const;
  1228. };
  1229.  
  1230.  
  1231. //
  1232. // QOSMode
  1233. //
  1234.  
  1235. class H245_QOSMode : public PASN_Choice
  1236. {
  1237. #ifndef PASN_LEANANDMEAN
  1238.     PCLASSINFO(H245_QOSMode, PASN_Choice);
  1239. #endif
  1240.   public:
  1241.     H245_QOSMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1242.  
  1243.     enum Choices {
  1244.       e_guaranteedQOS,
  1245.       e_controlledLoad
  1246.     };
  1247.  
  1248.     BOOL CreateObject();
  1249.     PObject * Clone() const;
  1250. };
  1251.  
  1252.  
  1253. //
  1254. // ATMParameters
  1255. //
  1256.  
  1257. class H245_ATMParameters : public PASN_Sequence
  1258. {
  1259. #ifndef PASN_LEANANDMEAN
  1260.     PCLASSINFO(H245_ATMParameters, PASN_Sequence);
  1261. #endif
  1262.   public:
  1263.     H245_ATMParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1264.  
  1265.     PASN_Integer m_maxNTUSize;
  1266.     PASN_Boolean m_atmUBR;
  1267.     PASN_Boolean m_atmrtVBR;
  1268.     PASN_Boolean m_atmnrtVBR;
  1269.     PASN_Boolean m_atmABR;
  1270.     PASN_Boolean m_atmCBR;
  1271.  
  1272.     PINDEX GetDataLength() const;
  1273.     BOOL Decode(PASN_Stream & strm);
  1274.     void Encode(PASN_Stream & strm) const;
  1275. #ifndef PASN_NOPRINTON
  1276.     void PrintOn(ostream & strm) const;
  1277. #endif
  1278.     Comparison Compare(const PObject & obj) const;
  1279.     PObject * Clone() const;
  1280. };
  1281.  
  1282.  
  1283. //
  1284. // MediaTransportType
  1285. //
  1286.  
  1287. class H245_MediaTransportType_atm_AAL5_compressed;
  1288.  
  1289. class H245_MediaTransportType : public PASN_Choice
  1290. {
  1291. #ifndef PASN_LEANANDMEAN
  1292.     PCLASSINFO(H245_MediaTransportType, PASN_Choice);
  1293. #endif
  1294.   public:
  1295.     H245_MediaTransportType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1296.  
  1297.     enum Choices {
  1298.       e_ip_UDP,
  1299.       e_ip_TCP,
  1300.       e_atm_AAL5_UNIDIR,
  1301.       e_atm_AAL5_BIDIR,
  1302.       e_atm_AAL5_compressed
  1303.     };
  1304.  
  1305. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1306.     operator H245_MediaTransportType_atm_AAL5_compressed &() const;
  1307. #else
  1308.     operator H245_MediaTransportType_atm_AAL5_compressed &();
  1309.     operator const H245_MediaTransportType_atm_AAL5_compressed &() const;
  1310. #endif
  1311.  
  1312.     BOOL CreateObject();
  1313.     PObject * Clone() const;
  1314. };
  1315.  
  1316.  
  1317. //
  1318. // MediaChannelCapability
  1319. //
  1320.  
  1321. class H245_MediaChannelCapability : public PASN_Sequence
  1322. {
  1323. #ifndef PASN_LEANANDMEAN
  1324.     PCLASSINFO(H245_MediaChannelCapability, PASN_Sequence);
  1325. #endif
  1326.   public:
  1327.     H245_MediaChannelCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1328.  
  1329.     enum OptionalFields {
  1330.       e_mediaTransport
  1331.     };
  1332.  
  1333.     H245_MediaTransportType m_mediaTransport;
  1334.  
  1335.     PINDEX GetDataLength() const;
  1336.     BOOL Decode(PASN_Stream & strm);
  1337.     void Encode(PASN_Stream & strm) const;
  1338. #ifndef PASN_NOPRINTON
  1339.     void PrintOn(ostream & strm) const;
  1340. #endif
  1341.     Comparison Compare(const PObject & obj) const;
  1342.     PObject * Clone() const;
  1343. };
  1344.  
  1345.  
  1346. //
  1347. // RedundancyEncodingMethod
  1348. //
  1349.  
  1350. class H245_NonStandardParameter;
  1351. class H245_RTPH263VideoRedundancyEncoding;
  1352.  
  1353. class H245_RedundancyEncodingMethod : public PASN_Choice
  1354. {
  1355. #ifndef PASN_LEANANDMEAN
  1356.     PCLASSINFO(H245_RedundancyEncodingMethod, PASN_Choice);
  1357. #endif
  1358.   public:
  1359.     H245_RedundancyEncodingMethod(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1360.  
  1361.     enum Choices {
  1362.       e_nonStandard,
  1363.       e_rtpAudioRedundancyEncoding,
  1364.       e_rtpH263VideoRedundancyEncoding
  1365.     };
  1366.  
  1367. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1368.     operator H245_NonStandardParameter &() const;
  1369. #else
  1370.     operator H245_NonStandardParameter &();
  1371.     operator const H245_NonStandardParameter &() const;
  1372. #endif
  1373. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1374.     operator H245_RTPH263VideoRedundancyEncoding &() const;
  1375. #else
  1376.     operator H245_RTPH263VideoRedundancyEncoding &();
  1377.     operator const H245_RTPH263VideoRedundancyEncoding &() const;
  1378. #endif
  1379.  
  1380.     BOOL CreateObject();
  1381.     PObject * Clone() const;
  1382. };
  1383.  
  1384.  
  1385. //
  1386. // VideoCapability
  1387. //
  1388.  
  1389. class H245_NonStandardParameter;
  1390. class H245_H261VideoCapability;
  1391. class H245_H262VideoCapability;
  1392. class H245_H263VideoCapability;
  1393. class H245_IS11172VideoCapability;
  1394. class H245_GenericCapability;
  1395.  
  1396. class H245_VideoCapability : public PASN_Choice
  1397. {
  1398. #ifndef PASN_LEANANDMEAN
  1399.     PCLASSINFO(H245_VideoCapability, PASN_Choice);
  1400. #endif
  1401.   public:
  1402.     H245_VideoCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1403.  
  1404.     enum Choices {
  1405.       e_nonStandard,
  1406.       e_h261VideoCapability,
  1407.       e_h262VideoCapability,
  1408.       e_h263VideoCapability,
  1409.       e_is11172VideoCapability,
  1410.       e_genericVideoCapability
  1411.     };
  1412.  
  1413. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1414.     operator H245_NonStandardParameter &() const;
  1415. #else
  1416.     operator H245_NonStandardParameter &();
  1417.     operator const H245_NonStandardParameter &() const;
  1418. #endif
  1419. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1420.     operator H245_H261VideoCapability &() const;
  1421. #else
  1422.     operator H245_H261VideoCapability &();
  1423.     operator const H245_H261VideoCapability &() const;
  1424. #endif
  1425. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1426.     operator H245_H262VideoCapability &() const;
  1427. #else
  1428.     operator H245_H262VideoCapability &();
  1429.     operator const H245_H262VideoCapability &() const;
  1430. #endif
  1431. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1432.     operator H245_H263VideoCapability &() const;
  1433. #else
  1434.     operator H245_H263VideoCapability &();
  1435.     operator const H245_H263VideoCapability &() const;
  1436. #endif
  1437. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1438.     operator H245_IS11172VideoCapability &() const;
  1439. #else
  1440.     operator H245_IS11172VideoCapability &();
  1441.     operator const H245_IS11172VideoCapability &() const;
  1442. #endif
  1443. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1444.     operator H245_GenericCapability &() const;
  1445. #else
  1446.     operator H245_GenericCapability &();
  1447.     operator const H245_GenericCapability &() const;
  1448. #endif
  1449.  
  1450.     BOOL CreateObject();
  1451.     PObject * Clone() const;
  1452. };
  1453.  
  1454.  
  1455. //
  1456. // H261VideoCapability
  1457. //
  1458.  
  1459. class H245_H261VideoCapability : public PASN_Sequence
  1460. {
  1461. #ifndef PASN_LEANANDMEAN
  1462.     PCLASSINFO(H245_H261VideoCapability, PASN_Sequence);
  1463. #endif
  1464.   public:
  1465.     H245_H261VideoCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1466.  
  1467.     enum OptionalFields {
  1468.       e_qcifMPI,
  1469.       e_cifMPI,
  1470.       e_videoBadMBsCap
  1471.     };
  1472.  
  1473.     PASN_Integer m_qcifMPI;
  1474.     PASN_Integer m_cifMPI;
  1475.     PASN_Boolean m_temporalSpatialTradeOffCapability;
  1476.     PASN_Integer m_maxBitRate;
  1477.     PASN_Boolean m_stillImageTransmission;
  1478.     PASN_Boolean m_videoBadMBsCap;
  1479.  
  1480.     PINDEX GetDataLength() const;
  1481.     BOOL Decode(PASN_Stream & strm);
  1482.     void Encode(PASN_Stream & strm) const;
  1483. #ifndef PASN_NOPRINTON
  1484.     void PrintOn(ostream & strm) const;
  1485. #endif
  1486.     Comparison Compare(const PObject & obj) const;
  1487.     PObject * Clone() const;
  1488. };
  1489.  
  1490.  
  1491. //
  1492. // H262VideoCapability
  1493. //
  1494.  
  1495. class H245_H262VideoCapability : public PASN_Sequence
  1496. {
  1497. #ifndef PASN_LEANANDMEAN
  1498.     PCLASSINFO(H245_H262VideoCapability, PASN_Sequence);
  1499. #endif
  1500.   public:
  1501.     H245_H262VideoCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1502.  
  1503.     enum OptionalFields {
  1504.       e_videoBitRate,
  1505.       e_vbvBufferSize,
  1506.       e_samplesPerLine,
  1507.       e_linesPerFrame,
  1508.       e_framesPerSecond,
  1509.       e_luminanceSampleRate,
  1510.       e_videoBadMBsCap
  1511.     };
  1512.  
  1513.     PASN_Boolean m_profileAndLevel_SPatML;
  1514.     PASN_Boolean m_profileAndLevel_MPatLL;
  1515.     PASN_Boolean m_profileAndLevel_MPatML;
  1516.     PASN_Boolean m_profileAndLevel_MPatH_14;
  1517.     PASN_Boolean m_profileAndLevel_MPatHL;
  1518.     PASN_Boolean m_profileAndLevel_SNRatLL;
  1519.     PASN_Boolean m_profileAndLevel_SNRatML;
  1520.     PASN_Boolean m_profileAndLevel_SpatialatH_14;
  1521.     PASN_Boolean m_profileAndLevel_HPatML;
  1522.     PASN_Boolean m_profileAndLevel_HPatH_14;
  1523.     PASN_Boolean m_profileAndLevel_HPatHL;
  1524.     PASN_Integer m_videoBitRate;
  1525.     PASN_Integer m_vbvBufferSize;
  1526.     PASN_Integer m_samplesPerLine;
  1527.     PASN_Integer m_linesPerFrame;
  1528.     PASN_Integer m_framesPerSecond;
  1529.     PASN_Integer m_luminanceSampleRate;
  1530.     PASN_Boolean m_videoBadMBsCap;
  1531.  
  1532.     PINDEX GetDataLength() const;
  1533.     BOOL Decode(PASN_Stream & strm);
  1534.     void Encode(PASN_Stream & strm) const;
  1535. #ifndef PASN_NOPRINTON
  1536.     void PrintOn(ostream & strm) const;
  1537. #endif
  1538.     Comparison Compare(const PObject & obj) const;
  1539.     PObject * Clone() const;
  1540. };
  1541.  
  1542.  
  1543. //
  1544. // TransparencyParameters
  1545. //
  1546.  
  1547. class H245_TransparencyParameters : public PASN_Sequence
  1548. {
  1549. #ifndef PASN_LEANANDMEAN
  1550.     PCLASSINFO(H245_TransparencyParameters, PASN_Sequence);
  1551. #endif
  1552.   public:
  1553.     H245_TransparencyParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1554.  
  1555.     PASN_Integer m_presentationOrder;
  1556.     PASN_Integer m_offset_x;
  1557.     PASN_Integer m_offset_y;
  1558.     PASN_Integer m_scale_x;
  1559.     PASN_Integer m_scale_y;
  1560.  
  1561.     PINDEX GetDataLength() const;
  1562.     BOOL Decode(PASN_Stream & strm);
  1563.     void Encode(PASN_Stream & strm) const;
  1564. #ifndef PASN_NOPRINTON
  1565.     void PrintOn(ostream & strm) const;
  1566. #endif
  1567.     Comparison Compare(const PObject & obj) const;
  1568.     PObject * Clone() const;
  1569. };
  1570.  
  1571.  
  1572. //
  1573. // CustomPictureClockFrequency
  1574. //
  1575.  
  1576. class H245_CustomPictureClockFrequency : public PASN_Sequence
  1577. {
  1578. #ifndef PASN_LEANANDMEAN
  1579.     PCLASSINFO(H245_CustomPictureClockFrequency, PASN_Sequence);
  1580. #endif
  1581.   public:
  1582.     H245_CustomPictureClockFrequency(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1583.  
  1584.     enum OptionalFields {
  1585.       e_sqcifMPI,
  1586.       e_qcifMPI,
  1587.       e_cifMPI,
  1588.       e_cif4MPI,
  1589.       e_cif16MPI
  1590.     };
  1591.  
  1592.     PASN_Integer m_clockConversionCode;
  1593.     PASN_Integer m_clockDivisor;
  1594.     PASN_Integer m_sqcifMPI;
  1595.     PASN_Integer m_qcifMPI;
  1596.     PASN_Integer m_cifMPI;
  1597.     PASN_Integer m_cif4MPI;
  1598.     PASN_Integer m_cif16MPI;
  1599.  
  1600.     PINDEX GetDataLength() const;
  1601.     BOOL Decode(PASN_Stream & strm);
  1602.     void Encode(PASN_Stream & strm) const;
  1603. #ifndef PASN_NOPRINTON
  1604.     void PrintOn(ostream & strm) const;
  1605. #endif
  1606.     Comparison Compare(const PObject & obj) const;
  1607.     PObject * Clone() const;
  1608. };
  1609.  
  1610.  
  1611. //
  1612. // H263Version3Options
  1613. //
  1614.  
  1615. class H245_H263Version3Options : public PASN_Sequence
  1616. {
  1617. #ifndef PASN_LEANANDMEAN
  1618.     PCLASSINFO(H245_H263Version3Options, PASN_Sequence);
  1619. #endif
  1620.   public:
  1621.     H245_H263Version3Options(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1622.  
  1623.     PASN_Boolean m_dataPartitionedSlices;
  1624.     PASN_Boolean m_fixedPointIDCT0;
  1625.     PASN_Boolean m_interlacedFields;
  1626.     PASN_Boolean m_currentPictureHeaderRepetition;
  1627.     PASN_Boolean m_previousPictureHeaderRepetition;
  1628.     PASN_Boolean m_nextPictureHeaderRepetition;
  1629.     PASN_Boolean m_pictureNumber;
  1630.     PASN_Boolean m_spareReferencePictures;
  1631.  
  1632.     PINDEX GetDataLength() const;
  1633.     BOOL Decode(PASN_Stream & strm);
  1634.     void Encode(PASN_Stream & strm) const;
  1635. #ifndef PASN_NOPRINTON
  1636.     void PrintOn(ostream & strm) const;
  1637. #endif
  1638.     Comparison Compare(const PObject & obj) const;
  1639.     PObject * Clone() const;
  1640. };
  1641.  
  1642.  
  1643. //
  1644. // IS11172VideoCapability
  1645. //
  1646.  
  1647. class H245_IS11172VideoCapability : public PASN_Sequence
  1648. {
  1649. #ifndef PASN_LEANANDMEAN
  1650.     PCLASSINFO(H245_IS11172VideoCapability, PASN_Sequence);
  1651. #endif
  1652.   public:
  1653.     H245_IS11172VideoCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1654.  
  1655.     enum OptionalFields {
  1656.       e_videoBitRate,
  1657.       e_vbvBufferSize,
  1658.       e_samplesPerLine,
  1659.       e_linesPerFrame,
  1660.       e_pictureRate,
  1661.       e_luminanceSampleRate,
  1662.       e_videoBadMBsCap
  1663.     };
  1664.  
  1665.     PASN_Boolean m_constrainedBitstream;
  1666.     PASN_Integer m_videoBitRate;
  1667.     PASN_Integer m_vbvBufferSize;
  1668.     PASN_Integer m_samplesPerLine;
  1669.     PASN_Integer m_linesPerFrame;
  1670.     PASN_Integer m_pictureRate;
  1671.     PASN_Integer m_luminanceSampleRate;
  1672.     PASN_Boolean m_videoBadMBsCap;
  1673.  
  1674.     PINDEX GetDataLength() const;
  1675.     BOOL Decode(PASN_Stream & strm);
  1676.     void Encode(PASN_Stream & strm) const;
  1677. #ifndef PASN_NOPRINTON
  1678.     void PrintOn(ostream & strm) const;
  1679. #endif
  1680.     Comparison Compare(const PObject & obj) const;
  1681.     PObject * Clone() const;
  1682. };
  1683.  
  1684.  
  1685. //
  1686. // AudioCapability
  1687. //
  1688.  
  1689. class H245_NonStandardParameter;
  1690. class H245_AudioCapability_g7231;
  1691. class H245_IS11172AudioCapability;
  1692. class H245_IS13818AudioCapability;
  1693. class H245_G7231AnnexCCapability;
  1694. class H245_GSMAudioCapability;
  1695. class H245_GSMAudioCapability;
  1696. class H245_GSMAudioCapability;
  1697. class H245_GenericCapability;
  1698. class H245_G729Extensions;
  1699.  
  1700. class H245_AudioCapability : public PASN_Choice
  1701. {
  1702. #ifndef PASN_LEANANDMEAN
  1703.     PCLASSINFO(H245_AudioCapability, PASN_Choice);
  1704. #endif
  1705.   public:
  1706.     H245_AudioCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1707.  
  1708. // following code added by command line option
  1709.  
  1710. #ifndef PASN_NOPRINTON
  1711. void PrintOn(ostream & strm) const;
  1712. #endif
  1713.  
  1714. // end of added code
  1715.  
  1716.     enum Choices {
  1717.       e_nonStandard,
  1718.       e_g711Alaw64k,
  1719.       e_g711Alaw56k,
  1720.       e_g711Ulaw64k,
  1721.       e_g711Ulaw56k,
  1722.       e_g722_64k,
  1723.       e_g722_56k,
  1724.       e_g722_48k,
  1725.       e_g7231,
  1726.       e_g728,
  1727.       e_g729,
  1728.       e_g729AnnexA,
  1729.       e_is11172AudioCapability,
  1730.       e_is13818AudioCapability,
  1731.       e_g729wAnnexB,
  1732.       e_g729AnnexAwAnnexB,
  1733.       e_g7231AnnexCCapability,
  1734.       e_gsmFullRate,
  1735.       e_gsmHalfRate,
  1736.       e_gsmEnhancedFullRate,
  1737.       e_genericAudioCapability,
  1738.       e_g729Extensions
  1739.     };
  1740.  
  1741. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1742.     operator H245_NonStandardParameter &() const;
  1743. #else
  1744.     operator H245_NonStandardParameter &();
  1745.     operator const H245_NonStandardParameter &() const;
  1746. #endif
  1747. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1748.     operator H245_AudioCapability_g7231 &() const;
  1749. #else
  1750.     operator H245_AudioCapability_g7231 &();
  1751.     operator const H245_AudioCapability_g7231 &() const;
  1752. #endif
  1753. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1754.     operator H245_IS11172AudioCapability &() const;
  1755. #else
  1756.     operator H245_IS11172AudioCapability &();
  1757.     operator const H245_IS11172AudioCapability &() const;
  1758. #endif
  1759. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1760.     operator H245_IS13818AudioCapability &() const;
  1761. #else
  1762.     operator H245_IS13818AudioCapability &();
  1763.     operator const H245_IS13818AudioCapability &() const;
  1764. #endif
  1765. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1766.     operator H245_G7231AnnexCCapability &() const;
  1767. #else
  1768.     operator H245_G7231AnnexCCapability &();
  1769.     operator const H245_G7231AnnexCCapability &() const;
  1770. #endif
  1771. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1772.     operator H245_GSMAudioCapability &() const;
  1773. #else
  1774.     operator H245_GSMAudioCapability &();
  1775.     operator const H245_GSMAudioCapability &() const;
  1776. #endif
  1777. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1778.     operator H245_GenericCapability &() const;
  1779. #else
  1780.     operator H245_GenericCapability &();
  1781.     operator const H245_GenericCapability &() const;
  1782. #endif
  1783. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1784.     operator H245_G729Extensions &() const;
  1785. #else
  1786.     operator H245_G729Extensions &();
  1787.     operator const H245_G729Extensions &() const;
  1788. #endif
  1789.  
  1790.     BOOL CreateObject();
  1791.     PObject * Clone() const;
  1792. };
  1793.  
  1794.  
  1795. //
  1796. // G729Extensions
  1797. //
  1798.  
  1799. class H245_G729Extensions : public PASN_Sequence
  1800. {
  1801. #ifndef PASN_LEANANDMEAN
  1802.     PCLASSINFO(H245_G729Extensions, PASN_Sequence);
  1803. #endif
  1804.   public:
  1805.     H245_G729Extensions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1806.  
  1807.     enum OptionalFields {
  1808.       e_audioUnit
  1809.     };
  1810.  
  1811.     PASN_Integer m_audioUnit;
  1812.     PASN_Boolean m_annexA;
  1813.     PASN_Boolean m_annexB;
  1814.     PASN_Boolean m_annexD;
  1815.     PASN_Boolean m_annexE;
  1816.     PASN_Boolean m_annexF;
  1817.     PASN_Boolean m_annexG;
  1818.     PASN_Boolean m_annexH;
  1819.  
  1820.     PINDEX GetDataLength() const;
  1821.     BOOL Decode(PASN_Stream & strm);
  1822.     void Encode(PASN_Stream & strm) const;
  1823. #ifndef PASN_NOPRINTON
  1824.     void PrintOn(ostream & strm) const;
  1825. #endif
  1826.     Comparison Compare(const PObject & obj) const;
  1827.     PObject * Clone() const;
  1828. };
  1829.  
  1830.  
  1831. //
  1832. // IS11172AudioCapability
  1833. //
  1834.  
  1835. class H245_IS11172AudioCapability : public PASN_Sequence
  1836. {
  1837. #ifndef PASN_LEANANDMEAN
  1838.     PCLASSINFO(H245_IS11172AudioCapability, PASN_Sequence);
  1839. #endif
  1840.   public:
  1841.     H245_IS11172AudioCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1842.  
  1843.     PASN_Boolean m_audioLayer1;
  1844.     PASN_Boolean m_audioLayer2;
  1845.     PASN_Boolean m_audioLayer3;
  1846.     PASN_Boolean m_audioSampling32k;
  1847.     PASN_Boolean m_audioSampling44k1;
  1848.     PASN_Boolean m_audioSampling48k;
  1849.     PASN_Boolean m_singleChannel;
  1850.     PASN_Boolean m_twoChannels;
  1851.     PASN_Integer m_bitRate;
  1852.  
  1853.     PINDEX GetDataLength() const;
  1854.     BOOL Decode(PASN_Stream & strm);
  1855.     void Encode(PASN_Stream & strm) const;
  1856. #ifndef PASN_NOPRINTON
  1857.     void PrintOn(ostream & strm) const;
  1858. #endif
  1859.     Comparison Compare(const PObject & obj) const;
  1860.     PObject * Clone() const;
  1861. };
  1862.  
  1863.  
  1864. //
  1865. // IS13818AudioCapability
  1866. //
  1867.  
  1868. class H245_IS13818AudioCapability : public PASN_Sequence
  1869. {
  1870. #ifndef PASN_LEANANDMEAN
  1871.     PCLASSINFO(H245_IS13818AudioCapability, PASN_Sequence);
  1872. #endif
  1873.   public:
  1874.     H245_IS13818AudioCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1875.  
  1876.     PASN_Boolean m_audioLayer1;
  1877.     PASN_Boolean m_audioLayer2;
  1878.     PASN_Boolean m_audioLayer3;
  1879.     PASN_Boolean m_audioSampling16k;
  1880.     PASN_Boolean m_audioSampling22k05;
  1881.     PASN_Boolean m_audioSampling24k;
  1882.     PASN_Boolean m_audioSampling32k;
  1883.     PASN_Boolean m_audioSampling44k1;
  1884.     PASN_Boolean m_audioSampling48k;
  1885.     PASN_Boolean m_singleChannel;
  1886.     PASN_Boolean m_twoChannels;
  1887.     PASN_Boolean m_threeChannels2_1;
  1888.     PASN_Boolean m_threeChannels3_0;
  1889.     PASN_Boolean m_fourChannels2_0_2_0;
  1890.     PASN_Boolean m_fourChannels2_2;
  1891.     PASN_Boolean m_fourChannels3_1;
  1892.     PASN_Boolean m_fiveChannels3_0_2_0;
  1893.     PASN_Boolean m_fiveChannels3_2;
  1894.     PASN_Boolean m_lowFrequencyEnhancement;
  1895.     PASN_Boolean m_multilingual;
  1896.     PASN_Integer m_bitRate;
  1897.  
  1898.     PINDEX GetDataLength() const;
  1899.     BOOL Decode(PASN_Stream & strm);
  1900.     void Encode(PASN_Stream & strm) const;
  1901. #ifndef PASN_NOPRINTON
  1902.     void PrintOn(ostream & strm) const;
  1903. #endif
  1904.     Comparison Compare(const PObject & obj) const;
  1905.     PObject * Clone() const;
  1906. };
  1907.  
  1908.  
  1909. //
  1910. // GSMAudioCapability
  1911. //
  1912.  
  1913. class H245_GSMAudioCapability : public PASN_Sequence
  1914. {
  1915. #ifndef PASN_LEANANDMEAN
  1916.     PCLASSINFO(H245_GSMAudioCapability, PASN_Sequence);
  1917. #endif
  1918.   public:
  1919.     H245_GSMAudioCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  1920.  
  1921.     PASN_Integer m_audioUnitSize;
  1922.     PASN_Boolean m_comfortNoise;
  1923.     PASN_Boolean m_scrambled;
  1924.  
  1925.     PINDEX GetDataLength() const;
  1926.     BOOL Decode(PASN_Stream & strm);
  1927.     void Encode(PASN_Stream & strm) const;
  1928. #ifndef PASN_NOPRINTON
  1929.     void PrintOn(ostream & strm) const;
  1930. #endif
  1931.     Comparison Compare(const PObject & obj) const;
  1932.     PObject * Clone() const;
  1933. };
  1934.  
  1935.  
  1936. //
  1937. // DataProtocolCapability
  1938. //
  1939.  
  1940. class H245_NonStandardParameter;
  1941. class H245_DataProtocolCapability_v76wCompression;
  1942.  
  1943. class H245_DataProtocolCapability : public PASN_Choice
  1944. {
  1945. #ifndef PASN_LEANANDMEAN
  1946.     PCLASSINFO(H245_DataProtocolCapability, PASN_Choice);
  1947. #endif
  1948.   public:
  1949.     H245_DataProtocolCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1950.  
  1951.     enum Choices {
  1952.       e_nonStandard,
  1953.       e_v14buffered,
  1954.       e_v42lapm,
  1955.       e_hdlcFrameTunnelling,
  1956.       e_h310SeparateVCStack,
  1957.       e_h310SingleVCStack,
  1958.       e_transparent,
  1959.       e_segmentationAndReassembly,
  1960.       e_hdlcFrameTunnelingwSAR,
  1961.       e_v120,
  1962.       e_separateLANStack,
  1963.       e_v76wCompression,
  1964.       e_tcp,
  1965.       e_udp
  1966.     };
  1967.  
  1968. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1969.     operator H245_NonStandardParameter &() const;
  1970. #else
  1971.     operator H245_NonStandardParameter &();
  1972.     operator const H245_NonStandardParameter &() const;
  1973. #endif
  1974. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1975.     operator H245_DataProtocolCapability_v76wCompression &() const;
  1976. #else
  1977.     operator H245_DataProtocolCapability_v76wCompression &();
  1978.     operator const H245_DataProtocolCapability_v76wCompression &() const;
  1979. #endif
  1980.  
  1981.     BOOL CreateObject();
  1982.     PObject * Clone() const;
  1983. };
  1984.  
  1985.  
  1986. //
  1987. // CompressionType
  1988. //
  1989.  
  1990. class H245_V42bis;
  1991.  
  1992. class H245_CompressionType : public PASN_Choice
  1993. {
  1994. #ifndef PASN_LEANANDMEAN
  1995.     PCLASSINFO(H245_CompressionType, PASN_Choice);
  1996. #endif
  1997.   public:
  1998.     H245_CompressionType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1999.  
  2000.     enum Choices {
  2001.       e_v42bis
  2002.     };
  2003.  
  2004. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2005.     operator H245_V42bis &() const;
  2006. #else
  2007.     operator H245_V42bis &();
  2008.     operator const H245_V42bis &() const;
  2009. #endif
  2010.  
  2011.     BOOL CreateObject();
  2012.     PObject * Clone() const;
  2013. };
  2014.  
  2015.  
  2016. //
  2017. // V42bis
  2018. //
  2019.  
  2020. class H245_V42bis : public PASN_Sequence
  2021. {
  2022. #ifndef PASN_LEANANDMEAN
  2023.     PCLASSINFO(H245_V42bis, PASN_Sequence);
  2024. #endif
  2025.   public:
  2026.     H245_V42bis(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2027.  
  2028.     PASN_Integer m_numberOfCodewords;
  2029.     PASN_Integer m_maximumStringLength;
  2030.  
  2031.     PINDEX GetDataLength() const;
  2032.     BOOL Decode(PASN_Stream & strm);
  2033.     void Encode(PASN_Stream & strm) const;
  2034. #ifndef PASN_NOPRINTON
  2035.     void PrintOn(ostream & strm) const;
  2036. #endif
  2037.     Comparison Compare(const PObject & obj) const;
  2038.     PObject * Clone() const;
  2039. };
  2040.  
  2041.  
  2042. //
  2043. // T84Profile
  2044. //
  2045.  
  2046. class H245_T84Profile_t84Restricted;
  2047.  
  2048. class H245_T84Profile : public PASN_Choice
  2049. {
  2050. #ifndef PASN_LEANANDMEAN
  2051.     PCLASSINFO(H245_T84Profile, PASN_Choice);
  2052. #endif
  2053.   public:
  2054.     H245_T84Profile(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2055.  
  2056.     enum Choices {
  2057.       e_t84Unrestricted,
  2058.       e_t84Restricted
  2059.     };
  2060.  
  2061. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2062.     operator H245_T84Profile_t84Restricted &() const;
  2063. #else
  2064.     operator H245_T84Profile_t84Restricted &();
  2065.     operator const H245_T84Profile_t84Restricted &() const;
  2066. #endif
  2067.  
  2068.     BOOL CreateObject();
  2069.     PObject * Clone() const;
  2070. };
  2071.  
  2072.  
  2073. //
  2074. // T38FaxRateManagement
  2075. //
  2076.  
  2077. class H245_T38FaxRateManagement : public PASN_Choice
  2078. {
  2079. #ifndef PASN_LEANANDMEAN
  2080.     PCLASSINFO(H245_T38FaxRateManagement, PASN_Choice);
  2081. #endif
  2082.   public:
  2083.     H245_T38FaxRateManagement(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2084.  
  2085.     enum Choices {
  2086.       e_localTCF,
  2087.       e_transferredTCF
  2088.     };
  2089.  
  2090.     BOOL CreateObject();
  2091.     PObject * Clone() const;
  2092. };
  2093.  
  2094.  
  2095. //
  2096. // T38FaxTcpOptions
  2097. //
  2098.  
  2099. class H245_T38FaxTcpOptions : public PASN_Sequence
  2100. {
  2101. #ifndef PASN_LEANANDMEAN
  2102.     PCLASSINFO(H245_T38FaxTcpOptions, PASN_Sequence);
  2103. #endif
  2104.   public:
  2105.     H245_T38FaxTcpOptions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2106.  
  2107.     PASN_Boolean m_t38TCPBidirectionalMode;
  2108.  
  2109.     PINDEX GetDataLength() const;
  2110.     BOOL Decode(PASN_Stream & strm);
  2111.     void Encode(PASN_Stream & strm) const;
  2112. #ifndef PASN_NOPRINTON
  2113.     void PrintOn(ostream & strm) const;
  2114. #endif
  2115.     Comparison Compare(const PObject & obj) const;
  2116.     PObject * Clone() const;
  2117. };
  2118.  
  2119.  
  2120. //
  2121. // EncryptionCapability
  2122. //
  2123.  
  2124. class H245_MediaEncryptionAlgorithm;
  2125.  
  2126. class H245_EncryptionCapability : public PASN_Array
  2127. {
  2128. #ifndef PASN_LEANANDMEAN
  2129.     PCLASSINFO(H245_EncryptionCapability, PASN_Array);
  2130. #endif
  2131.   public:
  2132.     H245_EncryptionCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2133.  
  2134.     PASN_Object * CreateObject() const;
  2135.     H245_MediaEncryptionAlgorithm & operator[](PINDEX i) const;
  2136.     PObject * Clone() const;
  2137. };
  2138.  
  2139.  
  2140. //
  2141. // MediaEncryptionAlgorithm
  2142. //
  2143.  
  2144. class H245_NonStandardParameter;
  2145.  
  2146. class H245_MediaEncryptionAlgorithm : public PASN_Choice
  2147. {
  2148. #ifndef PASN_LEANANDMEAN
  2149.     PCLASSINFO(H245_MediaEncryptionAlgorithm, PASN_Choice);
  2150. #endif
  2151.   public:
  2152.     H245_MediaEncryptionAlgorithm(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2153.  
  2154.     enum Choices {
  2155.       e_nonStandard,
  2156.       e_algorithm
  2157.     };
  2158.  
  2159. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2160.     operator H245_NonStandardParameter &() const;
  2161. #else
  2162.     operator H245_NonStandardParameter &();
  2163.     operator const H245_NonStandardParameter &() const;
  2164. #endif
  2165.  
  2166.     BOOL CreateObject();
  2167.     PObject * Clone() const;
  2168. };
  2169.  
  2170.  
  2171. //
  2172. // UserInputCapability
  2173. //
  2174.  
  2175. class H245_ArrayOf_NonStandardParameter;
  2176.  
  2177. class H245_UserInputCapability : public PASN_Choice
  2178. {
  2179. #ifndef PASN_LEANANDMEAN
  2180.     PCLASSINFO(H245_UserInputCapability, PASN_Choice);
  2181. #endif
  2182.   public:
  2183.     H245_UserInputCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2184.  
  2185.     enum Choices {
  2186.       e_nonStandard,
  2187.       e_basicString,
  2188.       e_iA5String,
  2189.       e_generalString,
  2190.       e_dtmf,
  2191.       e_hookflash,
  2192.       e_extendedAlphanumeric
  2193.     };
  2194.  
  2195. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2196.     operator H245_ArrayOf_NonStandardParameter &() const;
  2197. #else
  2198.     operator H245_ArrayOf_NonStandardParameter &();
  2199.     operator const H245_ArrayOf_NonStandardParameter &() const;
  2200. #endif
  2201.  
  2202.     BOOL CreateObject();
  2203.     PObject * Clone() const;
  2204. };
  2205.  
  2206.  
  2207. //
  2208. // CapabilityIdentifier
  2209. //
  2210.  
  2211. class H245_NonStandardParameter;
  2212.  
  2213. class H245_CapabilityIdentifier : public PASN_Choice
  2214. {
  2215. #ifndef PASN_LEANANDMEAN
  2216.     PCLASSINFO(H245_CapabilityIdentifier, PASN_Choice);
  2217. #endif
  2218.   public:
  2219.     H245_CapabilityIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2220.  
  2221.     enum Choices {
  2222.       e_standard,
  2223.       e_h221NonStandard,
  2224.       e_uuid,
  2225.       e_domainBased
  2226.     };
  2227.  
  2228. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2229.     operator H245_NonStandardParameter &() const;
  2230. #else
  2231.     operator H245_NonStandardParameter &();
  2232.     operator const H245_NonStandardParameter &() const;
  2233. #endif
  2234.  
  2235.     BOOL CreateObject();
  2236.     PObject * Clone() const;
  2237. };
  2238.  
  2239.  
  2240. //
  2241. // ParameterIdentifier
  2242. //
  2243.  
  2244. class H245_NonStandardParameter;
  2245.  
  2246. class H245_ParameterIdentifier : public PASN_Choice
  2247. {
  2248. #ifndef PASN_LEANANDMEAN
  2249.     PCLASSINFO(H245_ParameterIdentifier, PASN_Choice);
  2250. #endif
  2251.   public:
  2252.     H245_ParameterIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2253.  
  2254.     enum Choices {
  2255.       e_standard,
  2256.       e_h221NonStandard,
  2257.       e_uuid,
  2258.       e_domainBased
  2259.     };
  2260.  
  2261. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2262.     operator H245_NonStandardParameter &() const;
  2263. #else
  2264.     operator H245_NonStandardParameter &();
  2265.     operator const H245_NonStandardParameter &() const;
  2266. #endif
  2267.  
  2268.     BOOL CreateObject();
  2269.     PObject * Clone() const;
  2270. };
  2271.  
  2272.  
  2273. //
  2274. // ParameterValue
  2275. //
  2276.  
  2277. class H245_ArrayOf_GenericParameter;
  2278.  
  2279. class H245_ParameterValue : public PASN_Choice
  2280. {
  2281. #ifndef PASN_LEANANDMEAN
  2282.     PCLASSINFO(H245_ParameterValue, PASN_Choice);
  2283. #endif
  2284.   public:
  2285.     H245_ParameterValue(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2286.  
  2287.     enum Choices {
  2288.       e_logical,
  2289.       e_booleanArray,
  2290.       e_unsignedMin,
  2291.       e_unsignedMax,
  2292.       e_unsigned32Min,
  2293.       e_unsigned32Max,
  2294.       e_octetString,
  2295.       e_genericParameter
  2296.     };
  2297.  
  2298. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2299.     operator H245_ArrayOf_GenericParameter &() const;
  2300. #else
  2301.     operator H245_ArrayOf_GenericParameter &();
  2302.     operator const H245_ArrayOf_GenericParameter &() const;
  2303. #endif
  2304.  
  2305.     BOOL CreateObject();
  2306.     PObject * Clone() const;
  2307. };
  2308.  
  2309.  
  2310. //
  2311. // MultiplexFormat
  2312. //
  2313.  
  2314. class H245_NonStandardParameter;
  2315. class H245_H222Capability;
  2316. class H245_H223Capability;
  2317.  
  2318. class H245_MultiplexFormat : public PASN_Choice
  2319. {
  2320. #ifndef PASN_LEANANDMEAN
  2321.     PCLASSINFO(H245_MultiplexFormat, PASN_Choice);
  2322. #endif
  2323.   public:
  2324.     H245_MultiplexFormat(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2325.  
  2326.     enum Choices {
  2327.       e_nonStandard,
  2328.       e_h222Capability,
  2329.       e_h223Capability
  2330.     };
  2331.  
  2332. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2333.     operator H245_NonStandardParameter &() const;
  2334. #else
  2335.     operator H245_NonStandardParameter &();
  2336.     operator const H245_NonStandardParameter &() const;
  2337. #endif
  2338. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2339.     operator H245_H222Capability &() const;
  2340. #else
  2341.     operator H245_H222Capability &();
  2342.     operator const H245_H222Capability &() const;
  2343. #endif
  2344. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2345.     operator H245_H223Capability &() const;
  2346. #else
  2347.     operator H245_H223Capability &();
  2348.     operator const H245_H223Capability &() const;
  2349. #endif
  2350.  
  2351.     BOOL CreateObject();
  2352.     PObject * Clone() const;
  2353. };
  2354.  
  2355.  
  2356. //
  2357. // AudioTelephonyEventCapability
  2358. //
  2359.  
  2360. class H245_AudioTelephonyEventCapability : public PASN_Sequence
  2361. {
  2362. #ifndef PASN_LEANANDMEAN
  2363.     PCLASSINFO(H245_AudioTelephonyEventCapability, PASN_Sequence);
  2364. #endif
  2365.   public:
  2366.     H245_AudioTelephonyEventCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2367.  
  2368.     PASN_Integer m_dynamicRTPPayloadType;
  2369.     PASN_GeneralString m_audioTelephoneEvent;
  2370.  
  2371.     PINDEX GetDataLength() const;
  2372.     BOOL Decode(PASN_Stream & strm);
  2373.     void Encode(PASN_Stream & strm) const;
  2374. #ifndef PASN_NOPRINTON
  2375.     void PrintOn(ostream & strm) const;
  2376. #endif
  2377.     Comparison Compare(const PObject & obj) const;
  2378.     PObject * Clone() const;
  2379. };
  2380.  
  2381.  
  2382. //
  2383. // AudioToneCapability
  2384. //
  2385.  
  2386. class H245_AudioToneCapability : public PASN_Sequence
  2387. {
  2388. #ifndef PASN_LEANANDMEAN
  2389.     PCLASSINFO(H245_AudioToneCapability, PASN_Sequence);
  2390. #endif
  2391.   public:
  2392.     H245_AudioToneCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2393.  
  2394.     PASN_Integer m_dynamicRTPPayloadType;
  2395.  
  2396.     PINDEX GetDataLength() const;
  2397.     BOOL Decode(PASN_Stream & strm);
  2398.     void Encode(PASN_Stream & strm) const;
  2399. #ifndef PASN_NOPRINTON
  2400.     void PrintOn(ostream & strm) const;
  2401. #endif
  2402.     Comparison Compare(const PObject & obj) const;
  2403.     PObject * Clone() const;
  2404. };
  2405.  
  2406.  
  2407. //
  2408. // LogicalChannelNumber
  2409. //
  2410.  
  2411. class H245_LogicalChannelNumber : public PASN_Integer
  2412. {
  2413. #ifndef PASN_LEANANDMEAN
  2414.     PCLASSINFO(H245_LogicalChannelNumber, PASN_Integer);
  2415. #endif
  2416.   public:
  2417.     H245_LogicalChannelNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  2418.  
  2419.     H245_LogicalChannelNumber & operator=(int v);
  2420.     H245_LogicalChannelNumber & operator=(unsigned v);
  2421.     PObject * Clone() const;
  2422. };
  2423.  
  2424.  
  2425. //
  2426. // V75Parameters
  2427. //
  2428.  
  2429. class H245_V75Parameters : public PASN_Sequence
  2430. {
  2431. #ifndef PASN_LEANANDMEAN
  2432.     PCLASSINFO(H245_V75Parameters, PASN_Sequence);
  2433. #endif
  2434.   public:
  2435.     H245_V75Parameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2436.  
  2437.     PASN_Boolean m_audioHeaderPresent;
  2438.  
  2439.     PINDEX GetDataLength() const;
  2440.     BOOL Decode(PASN_Stream & strm);
  2441.     void Encode(PASN_Stream & strm) const;
  2442. #ifndef PASN_NOPRINTON
  2443.     void PrintOn(ostream & strm) const;
  2444. #endif
  2445.     Comparison Compare(const PObject & obj) const;
  2446.     PObject * Clone() const;
  2447. };
  2448.  
  2449.  
  2450. //
  2451. // DataType
  2452. //
  2453.  
  2454. class H245_NonStandardParameter;
  2455. class H245_VideoCapability;
  2456. class H245_AudioCapability;
  2457. class H245_DataApplicationCapability;
  2458. class H245_EncryptionMode;
  2459. class H245_NonStandardParameter;
  2460. class H245_H235Media;
  2461. class H245_MultiplexedStreamParameter;
  2462.  
  2463. class H245_DataType : public PASN_Choice
  2464. {
  2465. #ifndef PASN_LEANANDMEAN
  2466.     PCLASSINFO(H245_DataType, PASN_Choice);
  2467. #endif
  2468.   public:
  2469.     H245_DataType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2470.  
  2471.     enum Choices {
  2472.       e_nonStandard,
  2473.       e_nullData,
  2474.       e_videoData,
  2475.       e_audioData,
  2476.       e_data,
  2477.       e_encryptionData,
  2478.       e_h235Control,
  2479.       e_h235Media,
  2480.       e_multiplexedStream
  2481.     };
  2482.  
  2483. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2484.     operator H245_NonStandardParameter &() const;
  2485. #else
  2486.     operator H245_NonStandardParameter &();
  2487.     operator const H245_NonStandardParameter &() const;
  2488. #endif
  2489. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2490.     operator H245_VideoCapability &() const;
  2491. #else
  2492.     operator H245_VideoCapability &();
  2493.     operator const H245_VideoCapability &() const;
  2494. #endif
  2495. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2496.     operator H245_AudioCapability &() const;
  2497. #else
  2498.     operator H245_AudioCapability &();
  2499.     operator const H245_AudioCapability &() const;
  2500. #endif
  2501. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2502.     operator H245_DataApplicationCapability &() const;
  2503. #else
  2504.     operator H245_DataApplicationCapability &();
  2505.     operator const H245_DataApplicationCapability &() const;
  2506. #endif
  2507. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2508.     operator H245_EncryptionMode &() const;
  2509. #else
  2510.     operator H245_EncryptionMode &();
  2511.     operator const H245_EncryptionMode &() const;
  2512. #endif
  2513. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2514.     operator H245_H235Media &() const;
  2515. #else
  2516.     operator H245_H235Media &();
  2517.     operator const H245_H235Media &() const;
  2518. #endif
  2519. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2520.     operator H245_MultiplexedStreamParameter &() const;
  2521. #else
  2522.     operator H245_MultiplexedStreamParameter &();
  2523.     operator const H245_MultiplexedStreamParameter &() const;
  2524. #endif
  2525.  
  2526.     BOOL CreateObject();
  2527.     PObject * Clone() const;
  2528. };
  2529.  
  2530.  
  2531. //
  2532. // MultiplexedStreamParameter
  2533. //
  2534.  
  2535. class H245_MultiplexedStreamParameter : public PASN_Sequence
  2536. {
  2537. #ifndef PASN_LEANANDMEAN
  2538.     PCLASSINFO(H245_MultiplexedStreamParameter, PASN_Sequence);
  2539. #endif
  2540.   public:
  2541.     H245_MultiplexedStreamParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2542.  
  2543.     H245_MultiplexFormat m_multiplexFormat;
  2544.     PASN_Boolean m_controlOnMuxStream;
  2545.  
  2546.     PINDEX GetDataLength() const;
  2547.     BOOL Decode(PASN_Stream & strm);
  2548.     void Encode(PASN_Stream & strm) const;
  2549. #ifndef PASN_NOPRINTON
  2550.     void PrintOn(ostream & strm) const;
  2551. #endif
  2552.     Comparison Compare(const PObject & obj) const;
  2553.     PObject * Clone() const;
  2554. };
  2555.  
  2556.  
  2557. //
  2558. // H222LogicalChannelParameters
  2559. //
  2560.  
  2561. class H245_H222LogicalChannelParameters : public PASN_Sequence
  2562. {
  2563. #ifndef PASN_LEANANDMEAN
  2564.     PCLASSINFO(H245_H222LogicalChannelParameters, PASN_Sequence);
  2565. #endif
  2566.   public:
  2567.     H245_H222LogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2568.  
  2569.     enum OptionalFields {
  2570.       e_pcr_pid,
  2571.       e_programDescriptors,
  2572.       e_streamDescriptors
  2573.     };
  2574.  
  2575.     PASN_Integer m_resourceID;
  2576.     PASN_Integer m_subChannelID;
  2577.     PASN_Integer m_pcr_pid;
  2578.     PASN_OctetString m_programDescriptors;
  2579.     PASN_OctetString m_streamDescriptors;
  2580.  
  2581.     PINDEX GetDataLength() const;
  2582.     BOOL Decode(PASN_Stream & strm);
  2583.     void Encode(PASN_Stream & strm) const;
  2584. #ifndef PASN_NOPRINTON
  2585.     void PrintOn(ostream & strm) const;
  2586. #endif
  2587.     Comparison Compare(const PObject & obj) const;
  2588.     PObject * Clone() const;
  2589. };
  2590.  
  2591.  
  2592. //
  2593. // CRCLength
  2594. //
  2595.  
  2596. class H245_CRCLength : public PASN_Choice
  2597. {
  2598. #ifndef PASN_LEANANDMEAN
  2599.     PCLASSINFO(H245_CRCLength, PASN_Choice);
  2600. #endif
  2601.   public:
  2602.     H245_CRCLength(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2603.  
  2604.     enum Choices {
  2605.       e_crc8bit,
  2606.       e_crc16bit,
  2607.       e_crc32bit
  2608.     };
  2609.  
  2610.     BOOL CreateObject();
  2611.     PObject * Clone() const;
  2612. };
  2613.  
  2614.  
  2615. //
  2616. // RedundancyEncoding
  2617. //
  2618.  
  2619. class H245_RedundancyEncoding : public PASN_Sequence
  2620. {
  2621. #ifndef PASN_LEANANDMEAN
  2622.     PCLASSINFO(H245_RedundancyEncoding, PASN_Sequence);
  2623. #endif
  2624.   public:
  2625.     H245_RedundancyEncoding(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2626.  
  2627.     enum OptionalFields {
  2628.       e_secondaryEncoding
  2629.     };
  2630.  
  2631.     H245_RedundancyEncodingMethod m_redundancyEncodingMethod;
  2632.     H245_DataType m_secondaryEncoding;
  2633.  
  2634.     PINDEX GetDataLength() const;
  2635.     BOOL Decode(PASN_Stream & strm);
  2636.     void Encode(PASN_Stream & strm) const;
  2637. #ifndef PASN_NOPRINTON
  2638.     void PrintOn(ostream & strm) const;
  2639. #endif
  2640.     Comparison Compare(const PObject & obj) const;
  2641.     PObject * Clone() const;
  2642. };
  2643.  
  2644.  
  2645. //
  2646. // TransportAddress
  2647. //
  2648.  
  2649. class H245_UnicastAddress;
  2650. class H245_MulticastAddress;
  2651.  
  2652. class H245_TransportAddress : public PASN_Choice
  2653. {
  2654. #ifndef PASN_LEANANDMEAN
  2655.     PCLASSINFO(H245_TransportAddress, PASN_Choice);
  2656. #endif
  2657.   public:
  2658.     H245_TransportAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2659.  
  2660.     enum Choices {
  2661.       e_unicastAddress,
  2662.       e_multicastAddress
  2663.     };
  2664.  
  2665. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2666.     operator H245_UnicastAddress &() const;
  2667. #else
  2668.     operator H245_UnicastAddress &();
  2669.     operator const H245_UnicastAddress &() const;
  2670. #endif
  2671. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2672.     operator H245_MulticastAddress &() const;
  2673. #else
  2674.     operator H245_MulticastAddress &();
  2675.     operator const H245_MulticastAddress &() const;
  2676. #endif
  2677.  
  2678.     BOOL CreateObject();
  2679.     PObject * Clone() const;
  2680. };
  2681.  
  2682.  
  2683. //
  2684. // UnicastAddress
  2685. //
  2686.  
  2687. class H245_UnicastAddress_iPAddress;
  2688. class H245_UnicastAddress_iPXAddress;
  2689. class H245_UnicastAddress_iP6Address;
  2690. class H245_UnicastAddress_iPSourceRouteAddress;
  2691. class H245_NonStandardParameter;
  2692.  
  2693. class H245_UnicastAddress : public PASN_Choice
  2694. {
  2695. #ifndef PASN_LEANANDMEAN
  2696.     PCLASSINFO(H245_UnicastAddress, PASN_Choice);
  2697. #endif
  2698.   public:
  2699.     H245_UnicastAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2700.  
  2701.     enum Choices {
  2702.       e_iPAddress,
  2703.       e_iPXAddress,
  2704.       e_iP6Address,
  2705.       e_netBios,
  2706.       e_iPSourceRouteAddress,
  2707.       e_nsap,
  2708.       e_nonStandardAddress
  2709.     };
  2710.  
  2711. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2712.     operator H245_UnicastAddress_iPAddress &() const;
  2713. #else
  2714.     operator H245_UnicastAddress_iPAddress &();
  2715.     operator const H245_UnicastAddress_iPAddress &() const;
  2716. #endif
  2717. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2718.     operator H245_UnicastAddress_iPXAddress &() const;
  2719. #else
  2720.     operator H245_UnicastAddress_iPXAddress &();
  2721.     operator const H245_UnicastAddress_iPXAddress &() const;
  2722. #endif
  2723. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2724.     operator H245_UnicastAddress_iP6Address &() const;
  2725. #else
  2726.     operator H245_UnicastAddress_iP6Address &();
  2727.     operator const H245_UnicastAddress_iP6Address &() const;
  2728. #endif
  2729. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2730.     operator H245_UnicastAddress_iPSourceRouteAddress &() const;
  2731. #else
  2732.     operator H245_UnicastAddress_iPSourceRouteAddress &();
  2733.     operator const H245_UnicastAddress_iPSourceRouteAddress &() const;
  2734. #endif
  2735. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2736.     operator H245_NonStandardParameter &() const;
  2737. #else
  2738.     operator H245_NonStandardParameter &();
  2739.     operator const H245_NonStandardParameter &() const;
  2740. #endif
  2741.  
  2742.     BOOL CreateObject();
  2743.     PObject * Clone() const;
  2744. };
  2745.  
  2746.  
  2747. //
  2748. // MulticastAddress
  2749. //
  2750.  
  2751. class H245_MulticastAddress_iPAddress;
  2752. class H245_MulticastAddress_iP6Address;
  2753. class H245_NonStandardParameter;
  2754.  
  2755. class H245_MulticastAddress : public PASN_Choice
  2756. {
  2757. #ifndef PASN_LEANANDMEAN
  2758.     PCLASSINFO(H245_MulticastAddress, PASN_Choice);
  2759. #endif
  2760.   public:
  2761.     H245_MulticastAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  2762.  
  2763.     enum Choices {
  2764.       e_iPAddress,
  2765.       e_iP6Address,
  2766.       e_nsap,
  2767.       e_nonStandardAddress
  2768.     };
  2769.  
  2770. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2771.     operator H245_MulticastAddress_iPAddress &() const;
  2772. #else
  2773.     operator H245_MulticastAddress_iPAddress &();
  2774.     operator const H245_MulticastAddress_iPAddress &() const;
  2775. #endif
  2776. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2777.     operator H245_MulticastAddress_iP6Address &() const;
  2778. #else
  2779.     operator H245_MulticastAddress_iP6Address &();
  2780.     operator const H245_MulticastAddress_iP6Address &() const;
  2781. #endif
  2782. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  2783.     operator H245_NonStandardParameter &() const;
  2784. #else
  2785.     operator H245_NonStandardParameter &();
  2786.     operator const H245_NonStandardParameter &() const;
  2787. #endif
  2788.  
  2789.     BOOL CreateObject();
  2790.     PObject * Clone() const;
  2791. };
  2792.  
  2793.  
  2794. //
  2795. // EscrowData
  2796. //
  2797.  
  2798. class H245_EscrowData : public PASN_Sequence
  2799. {
  2800. #ifndef PASN_LEANANDMEAN
  2801.     PCLASSINFO(H245_EscrowData, PASN_Sequence);
  2802. #endif
  2803.   public:
  2804.     H245_EscrowData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2805.  
  2806.     PASN_ObjectId m_escrowID;
  2807.     PASN_BitString m_escrowValue;
  2808.  
  2809.     PINDEX GetDataLength() const;
  2810.     BOOL Decode(PASN_Stream & strm);
  2811.     void Encode(PASN_Stream & strm) const;
  2812. #ifndef PASN_NOPRINTON
  2813.     void PrintOn(ostream & strm) const;
  2814. #endif
  2815.     Comparison Compare(const PObject & obj) const;
  2816.     PObject * Clone() const;
  2817. };
  2818.  
  2819.  
  2820. //
  2821. // OpenLogicalChannelConfirm
  2822. //
  2823.  
  2824. class H245_OpenLogicalChannelConfirm : public PASN_Sequence
  2825. {
  2826. #ifndef PASN_LEANANDMEAN
  2827.     PCLASSINFO(H245_OpenLogicalChannelConfirm, PASN_Sequence);
  2828. #endif
  2829.   public:
  2830.     H245_OpenLogicalChannelConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2831.  
  2832.     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
  2833.  
  2834.     PINDEX GetDataLength() const;
  2835.     BOOL Decode(PASN_Stream & strm);
  2836.     void Encode(PASN_Stream & strm) const;
  2837. #ifndef PASN_NOPRINTON
  2838.     void PrintOn(ostream & strm) const;
  2839. #endif
  2840.     Comparison Compare(const PObject & obj) const;
  2841.     PObject * Clone() const;
  2842. };
  2843.  
  2844.  
  2845. //
  2846. // CloseLogicalChannelAck
  2847. //
  2848.  
  2849. class H245_CloseLogicalChannelAck : public PASN_Sequence
  2850. {
  2851. #ifndef PASN_LEANANDMEAN
  2852.     PCLASSINFO(H245_CloseLogicalChannelAck, PASN_Sequence);
  2853. #endif
  2854.   public:
  2855.     H245_CloseLogicalChannelAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2856.  
  2857.     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
  2858.  
  2859.     PINDEX GetDataLength() const;
  2860.     BOOL Decode(PASN_Stream & strm);
  2861.     void Encode(PASN_Stream & strm) const;
  2862. #ifndef PASN_NOPRINTON
  2863.     void PrintOn(ostream & strm) const;
  2864. #endif
  2865.     Comparison Compare(const PObject & obj) const;
  2866.     PObject * Clone() const;
  2867. };
  2868.  
  2869.  
  2870. //
  2871. // RequestChannelCloseAck
  2872. //
  2873.  
  2874. class H245_RequestChannelCloseAck : public PASN_Sequence
  2875. {
  2876. #ifndef PASN_LEANANDMEAN
  2877.     PCLASSINFO(H245_RequestChannelCloseAck, PASN_Sequence);
  2878. #endif
  2879.   public:
  2880.     H245_RequestChannelCloseAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2881.  
  2882.     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
  2883.  
  2884.     PINDEX GetDataLength() const;
  2885.     BOOL Decode(PASN_Stream & strm);
  2886.     void Encode(PASN_Stream & strm) const;
  2887. #ifndef PASN_NOPRINTON
  2888.     void PrintOn(ostream & strm) const;
  2889. #endif
  2890.     Comparison Compare(const PObject & obj) const;
  2891.     PObject * Clone() const;
  2892. };
  2893.  
  2894.  
  2895. //
  2896. // RequestChannelCloseRelease
  2897. //
  2898.  
  2899. class H245_RequestChannelCloseRelease : public PASN_Sequence
  2900. {
  2901. #ifndef PASN_LEANANDMEAN
  2902.     PCLASSINFO(H245_RequestChannelCloseRelease, PASN_Sequence);
  2903. #endif
  2904.   public:
  2905.     H245_RequestChannelCloseRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2906.  
  2907.     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
  2908.  
  2909.     PINDEX GetDataLength() const;
  2910.     BOOL Decode(PASN_Stream & strm);
  2911.     void Encode(PASN_Stream & strm) const;
  2912. #ifndef PASN_NOPRINTON
  2913.     void PrintOn(ostream & strm) const;
  2914. #endif
  2915.     Comparison Compare(const PObject & obj) const;
  2916.     PObject * Clone() const;
  2917. };
  2918.  
  2919.  
  2920. //
  2921. // MultiplexTableEntryNumber
  2922. //
  2923.  
  2924. class H245_MultiplexTableEntryNumber : public PASN_Integer
  2925. {
  2926. #ifndef PASN_LEANANDMEAN
  2927.     PCLASSINFO(H245_MultiplexTableEntryNumber, PASN_Integer);
  2928. #endif
  2929.   public:
  2930.     H245_MultiplexTableEntryNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  2931.  
  2932.     H245_MultiplexTableEntryNumber & operator=(int v);
  2933.     H245_MultiplexTableEntryNumber & operator=(unsigned v);
  2934.     PObject * Clone() const;
  2935. };
  2936.  
  2937.  
  2938. //
  2939. // RequestModeRelease
  2940. //
  2941.  
  2942. class H245_RequestModeRelease : public PASN_Sequence
  2943. {
  2944. #ifndef PASN_LEANANDMEAN
  2945.     PCLASSINFO(H245_RequestModeRelease, PASN_Sequence);
  2946. #endif
  2947.   public:
  2948.     H245_RequestModeRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2949.  
  2950.  
  2951.     PINDEX GetDataLength() const;
  2952.     BOOL Decode(PASN_Stream & strm);
  2953.     void Encode(PASN_Stream & strm) const;
  2954. #ifndef PASN_NOPRINTON
  2955.     void PrintOn(ostream & strm) const;
  2956. #endif
  2957.     PObject * Clone() const;
  2958. };
  2959.  
  2960.  
  2961. //
  2962. // ModeDescription
  2963. //
  2964.  
  2965. class H245_ModeElement;
  2966.  
  2967. class H245_ModeDescription : public PASN_Array
  2968. {
  2969. #ifndef PASN_LEANANDMEAN
  2970.     PCLASSINFO(H245_ModeDescription, PASN_Array);
  2971. #endif
  2972.   public:
  2973.     H245_ModeDescription(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  2974.  
  2975.     PASN_Object * CreateObject() const;
  2976.     H245_ModeElement & operator[](PINDEX i) const;
  2977.     PObject * Clone() const;
  2978. };
  2979.  
  2980.  
  2981. //
  2982. // MultiplexedStreamModeParameters
  2983. //
  2984.  
  2985. class H245_MultiplexedStreamModeParameters : public PASN_Sequence
  2986. {
  2987. #ifndef PASN_LEANANDMEAN
  2988.     PCLASSINFO(H245_MultiplexedStreamModeParameters, PASN_Sequence);
  2989. #endif
  2990.   public:
  2991.     H245_MultiplexedStreamModeParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  2992.  
  2993.     H245_LogicalChannelNumber m_logicalChannelNumber;
  2994.  
  2995.     PINDEX GetDataLength() const;
  2996.     BOOL Decode(PASN_Stream & strm);
  2997.     void Encode(PASN_Stream & strm) const;
  2998. #ifndef PASN_NOPRINTON
  2999.     void PrintOn(ostream & strm) const;
  3000. #endif
  3001.     Comparison Compare(const PObject & obj) const;
  3002.     PObject * Clone() const;
  3003. };
  3004.  
  3005.  
  3006. //
  3007. // V76ModeParameters
  3008. //
  3009.  
  3010. class H245_V76ModeParameters : public PASN_Choice
  3011. {
  3012. #ifndef PASN_LEANANDMEAN
  3013.     PCLASSINFO(H245_V76ModeParameters, PASN_Choice);
  3014. #endif
  3015.   public:
  3016.     H245_V76ModeParameters(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  3017.  
  3018.     enum Choices {
  3019.       e_suspendResumewAddress,
  3020.       e_suspendResumewoAddress
  3021.     };
  3022.  
  3023.     BOOL CreateObject();
  3024.     PObject * Clone() const;
  3025. };
  3026.  
  3027.  
  3028. //
  3029. // VideoMode
  3030. //
  3031.  
  3032. class H245_NonStandardParameter;
  3033. class H245_H261VideoMode;
  3034. class H245_H262VideoMode;
  3035. class H245_H263VideoMode;
  3036. class H245_IS11172VideoMode;
  3037. class H245_GenericCapability;
  3038.  
  3039. class H245_VideoMode : public PASN_Choice
  3040. {
  3041. #ifndef PASN_LEANANDMEAN
  3042.     PCLASSINFO(H245_VideoMode, PASN_Choice);
  3043. #endif
  3044.   public:
  3045.     H245_VideoMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  3046.  
  3047.     enum Choices {
  3048.       e_nonStandard,
  3049.       e_h261VideoMode,
  3050.       e_h262VideoMode,
  3051.       e_h263VideoMode,
  3052.       e_is11172VideoMode,
  3053.       e_genericVideoMode
  3054.     };
  3055.  
  3056. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3057.     operator H245_NonStandardParameter &() const;
  3058. #else
  3059.     operator H245_NonStandardParameter &();
  3060.     operator const H245_NonStandardParameter &() const;
  3061. #endif
  3062. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3063.     operator H245_H261VideoMode &() const;
  3064. #else
  3065.     operator H245_H261VideoMode &();
  3066.     operator const H245_H261VideoMode &() const;
  3067. #endif
  3068. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3069.     operator H245_H262VideoMode &() const;
  3070. #else
  3071.     operator H245_H262VideoMode &();
  3072.     operator const H245_H262VideoMode &() const;
  3073. #endif
  3074. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3075.     operator H245_H263VideoMode &() const;
  3076. #else
  3077.     operator H245_H263VideoMode &();
  3078.     operator const H245_H263VideoMode &() const;
  3079. #endif
  3080. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3081.     operator H245_IS11172VideoMode &() const;
  3082. #else
  3083.     operator H245_IS11172VideoMode &();
  3084.     operator const H245_IS11172VideoMode &() const;
  3085. #endif
  3086. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3087.     operator H245_GenericCapability &() const;
  3088. #else
  3089.     operator H245_GenericCapability &();
  3090.     operator const H245_GenericCapability &() const;
  3091. #endif
  3092.  
  3093.     BOOL CreateObject();
  3094.     PObject * Clone() const;
  3095. };
  3096.  
  3097.  
  3098. //
  3099. // IS11172VideoMode
  3100. //
  3101.  
  3102. class H245_IS11172VideoMode : public PASN_Sequence
  3103. {
  3104. #ifndef PASN_LEANANDMEAN
  3105.     PCLASSINFO(H245_IS11172VideoMode, PASN_Sequence);
  3106. #endif
  3107.   public:
  3108.     H245_IS11172VideoMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3109.  
  3110.     enum OptionalFields {
  3111.       e_videoBitRate,
  3112.       e_vbvBufferSize,
  3113.       e_samplesPerLine,
  3114.       e_linesPerFrame,
  3115.       e_pictureRate,
  3116.       e_luminanceSampleRate
  3117.     };
  3118.  
  3119.     PASN_Boolean m_constrainedBitstream;
  3120.     PASN_Integer m_videoBitRate;
  3121.     PASN_Integer m_vbvBufferSize;
  3122.     PASN_Integer m_samplesPerLine;
  3123.     PASN_Integer m_linesPerFrame;
  3124.     PASN_Integer m_pictureRate;
  3125.     PASN_Integer m_luminanceSampleRate;
  3126.  
  3127.     PINDEX GetDataLength() const;
  3128.     BOOL Decode(PASN_Stream & strm);
  3129.     void Encode(PASN_Stream & strm) const;
  3130. #ifndef PASN_NOPRINTON
  3131.     void PrintOn(ostream & strm) const;
  3132. #endif
  3133.     Comparison Compare(const PObject & obj) const;
  3134.     PObject * Clone() const;
  3135. };
  3136.  
  3137.  
  3138. //
  3139. // AudioMode
  3140. //
  3141.  
  3142. class H245_NonStandardParameter;
  3143. class H245_AudioMode_g7231;
  3144. class H245_IS11172AudioMode;
  3145. class H245_IS13818AudioMode;
  3146. class H245_G7231AnnexCMode;
  3147. class H245_GSMAudioCapability;
  3148. class H245_GSMAudioCapability;
  3149. class H245_GSMAudioCapability;
  3150. class H245_GenericCapability;
  3151. class H245_G729Extensions;
  3152.  
  3153. class H245_AudioMode : public PASN_Choice
  3154. {
  3155. #ifndef PASN_LEANANDMEAN
  3156.     PCLASSINFO(H245_AudioMode, PASN_Choice);
  3157. #endif
  3158.   public:
  3159.     H245_AudioMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  3160.  
  3161.     enum Choices {
  3162.       e_nonStandard,
  3163.       e_g711Alaw64k,
  3164.       e_g711Alaw56k,
  3165.       e_g711Ulaw64k,
  3166.       e_g711Ulaw56k,
  3167.       e_g722_64k,
  3168.       e_g722_56k,
  3169.       e_g722_48k,
  3170.       e_g728,
  3171.       e_g729,
  3172.       e_g729AnnexA,
  3173.       e_g7231,
  3174.       e_is11172AudioMode,
  3175.       e_is13818AudioMode,
  3176.       e_g729wAnnexB,
  3177.       e_g729AnnexAwAnnexB,
  3178.       e_g7231AnnexCMode,
  3179.       e_gsmFullRate,
  3180.       e_gsmHalfRate,
  3181.       e_gsmEnhancedFullRate,
  3182.       e_genericAudioMode,
  3183.       e_g729Extensions
  3184.     };
  3185.  
  3186. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3187.     operator H245_NonStandardParameter &() const;
  3188. #else
  3189.     operator H245_NonStandardParameter &();
  3190.     operator const H245_NonStandardParameter &() const;
  3191. #endif
  3192. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3193.     operator H245_AudioMode_g7231 &() const;
  3194. #else
  3195.     operator H245_AudioMode_g7231 &();
  3196.     operator const H245_AudioMode_g7231 &() const;
  3197. #endif
  3198. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3199.     operator H245_IS11172AudioMode &() const;
  3200. #else
  3201.     operator H245_IS11172AudioMode &();
  3202.     operator const H245_IS11172AudioMode &() const;
  3203. #endif
  3204. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3205.     operator H245_IS13818AudioMode &() const;
  3206. #else
  3207.     operator H245_IS13818AudioMode &();
  3208.     operator const H245_IS13818AudioMode &() const;
  3209. #endif
  3210. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3211.     operator H245_G7231AnnexCMode &() const;
  3212. #else
  3213.     operator H245_G7231AnnexCMode &();
  3214.     operator const H245_G7231AnnexCMode &() const;
  3215. #endif
  3216. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3217.     operator H245_GSMAudioCapability &() const;
  3218. #else
  3219.     operator H245_GSMAudioCapability &();
  3220.     operator const H245_GSMAudioCapability &() const;
  3221. #endif
  3222. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3223.     operator H245_GenericCapability &() const;
  3224. #else
  3225.     operator H245_GenericCapability &();
  3226.     operator const H245_GenericCapability &() const;
  3227. #endif
  3228. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3229.     operator H245_G729Extensions &() const;
  3230. #else
  3231.     operator H245_G729Extensions &();
  3232.     operator const H245_G729Extensions &() const;
  3233. #endif
  3234.  
  3235.     BOOL CreateObject();
  3236.     PObject * Clone() const;
  3237. };
  3238.  
  3239.  
  3240. //
  3241. // EncryptionMode
  3242. //
  3243.  
  3244. class H245_NonStandardParameter;
  3245.  
  3246. class H245_EncryptionMode : public PASN_Choice
  3247. {
  3248. #ifndef PASN_LEANANDMEAN
  3249.     PCLASSINFO(H245_EncryptionMode, PASN_Choice);
  3250. #endif
  3251.   public:
  3252.     H245_EncryptionMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  3253.  
  3254.     enum Choices {
  3255.       e_nonStandard,
  3256.       e_h233Encryption
  3257.     };
  3258.  
  3259. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3260.     operator H245_NonStandardParameter &() const;
  3261. #else
  3262.     operator H245_NonStandardParameter &();
  3263.     operator const H245_NonStandardParameter &() const;
  3264. #endif
  3265.  
  3266.     BOOL CreateObject();
  3267.     PObject * Clone() const;
  3268. };
  3269.  
  3270.  
  3271. //
  3272. // RoundTripDelayRequest
  3273. //
  3274.  
  3275. class H245_RoundTripDelayRequest : public PASN_Sequence
  3276. {
  3277. #ifndef PASN_LEANANDMEAN
  3278.     PCLASSINFO(H245_RoundTripDelayRequest, PASN_Sequence);
  3279. #endif
  3280.   public:
  3281.     H245_RoundTripDelayRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3282.  
  3283.     H245_SequenceNumber m_sequenceNumber;
  3284.  
  3285.     PINDEX GetDataLength() const;
  3286.     BOOL Decode(PASN_Stream & strm);
  3287.     void Encode(PASN_Stream & strm) const;
  3288. #ifndef PASN_NOPRINTON
  3289.     void PrintOn(ostream & strm) const;
  3290. #endif
  3291.     Comparison Compare(const PObject & obj) const;
  3292.     PObject * Clone() const;
  3293. };
  3294.  
  3295.  
  3296. //
  3297. // RoundTripDelayResponse
  3298. //
  3299.  
  3300. class H245_RoundTripDelayResponse : public PASN_Sequence
  3301. {
  3302. #ifndef PASN_LEANANDMEAN
  3303.     PCLASSINFO(H245_RoundTripDelayResponse, PASN_Sequence);
  3304. #endif
  3305.   public:
  3306.     H245_RoundTripDelayResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3307.  
  3308.     H245_SequenceNumber m_sequenceNumber;
  3309.  
  3310.     PINDEX GetDataLength() const;
  3311.     BOOL Decode(PASN_Stream & strm);
  3312.     void Encode(PASN_Stream & strm) const;
  3313. #ifndef PASN_NOPRINTON
  3314.     void PrintOn(ostream & strm) const;
  3315. #endif
  3316.     Comparison Compare(const PObject & obj) const;
  3317.     PObject * Clone() const;
  3318. };
  3319.  
  3320.  
  3321. //
  3322. // MaintenanceLoopOffCommand
  3323. //
  3324.  
  3325. class H245_MaintenanceLoopOffCommand : public PASN_Sequence
  3326. {
  3327. #ifndef PASN_LEANANDMEAN
  3328.     PCLASSINFO(H245_MaintenanceLoopOffCommand, PASN_Sequence);
  3329. #endif
  3330.   public:
  3331.     H245_MaintenanceLoopOffCommand(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3332.  
  3333.  
  3334.     PINDEX GetDataLength() const;
  3335.     BOOL Decode(PASN_Stream & strm);
  3336.     void Encode(PASN_Stream & strm) const;
  3337. #ifndef PASN_NOPRINTON
  3338.     void PrintOn(ostream & strm) const;
  3339. #endif
  3340.     PObject * Clone() const;
  3341. };
  3342.  
  3343.  
  3344. //
  3345. // CommunicationModeRequest
  3346. //
  3347.  
  3348. class H245_CommunicationModeRequest : public PASN_Sequence
  3349. {
  3350. #ifndef PASN_LEANANDMEAN
  3351.     PCLASSINFO(H245_CommunicationModeRequest, PASN_Sequence);
  3352. #endif
  3353.   public:
  3354.     H245_CommunicationModeRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3355.  
  3356.  
  3357.     PINDEX GetDataLength() const;
  3358.     BOOL Decode(PASN_Stream & strm);
  3359.     void Encode(PASN_Stream & strm) const;
  3360. #ifndef PASN_NOPRINTON
  3361.     void PrintOn(ostream & strm) const;
  3362. #endif
  3363.     PObject * Clone() const;
  3364. };
  3365.  
  3366.  
  3367. //
  3368. // CommunicationModeResponse
  3369. //
  3370.  
  3371. class H245_ArrayOf_CommunicationModeTableEntry;
  3372.  
  3373. class H245_CommunicationModeResponse : public PASN_Choice
  3374. {
  3375. #ifndef PASN_LEANANDMEAN
  3376.     PCLASSINFO(H245_CommunicationModeResponse, PASN_Choice);
  3377. #endif
  3378.   public:
  3379.     H245_CommunicationModeResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  3380.  
  3381.     enum Choices {
  3382.       e_communicationModeTable
  3383.     };
  3384.  
  3385. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3386.     operator H245_ArrayOf_CommunicationModeTableEntry &() const;
  3387. #else
  3388.     operator H245_ArrayOf_CommunicationModeTableEntry &();
  3389.     operator const H245_ArrayOf_CommunicationModeTableEntry &() const;
  3390. #endif
  3391.  
  3392.     BOOL CreateObject();
  3393.     PObject * Clone() const;
  3394. };
  3395.  
  3396.  
  3397. //
  3398. // ConferenceRequest
  3399. //
  3400.  
  3401. class H245_TerminalLabel;
  3402. class H245_TerminalLabel;
  3403. class H245_ConferenceRequest_requestTerminalCertificate;
  3404. class H245_LogicalChannelNumber;
  3405. class H245_TerminalLabel;
  3406. class H245_TerminalLabel;
  3407. class H245_RemoteMCRequest;
  3408.  
  3409. class H245_ConferenceRequest : public PASN_Choice
  3410. {
  3411. #ifndef PASN_LEANANDMEAN
  3412.     PCLASSINFO(H245_ConferenceRequest, PASN_Choice);
  3413. #endif
  3414.   public:
  3415.     H245_ConferenceRequest(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  3416.  
  3417.     enum Choices {
  3418.       e_terminalListRequest,
  3419.       e_makeMeChair,
  3420.       e_cancelMakeMeChair,
  3421.       e_dropTerminal,
  3422.       e_requestTerminalID,
  3423.       e_enterH243Password,
  3424.       e_enterH243TerminalID,
  3425.       e_enterH243ConferenceID,
  3426.       e_enterExtensionAddress,
  3427.       e_requestChairTokenOwner,
  3428.       e_requestTerminalCertificate,
  3429.       e_broadcastMyLogicalChannel,
  3430.       e_makeTerminalBroadcaster,
  3431.       e_sendThisSource,
  3432.       e_requestAllTerminalIDs,
  3433.       e_remoteMCRequest
  3434.     };
  3435.  
  3436. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3437.     operator H245_TerminalLabel &() const;
  3438. #else
  3439.     operator H245_TerminalLabel &();
  3440.     operator const H245_TerminalLabel &() const;
  3441. #endif
  3442. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3443.     operator H245_ConferenceRequest_requestTerminalCertificate &() const;
  3444. #else
  3445.     operator H245_ConferenceRequest_requestTerminalCertificate &();
  3446.     operator const H245_ConferenceRequest_requestTerminalCertificate &() const;
  3447. #endif
  3448. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3449.     operator H245_LogicalChannelNumber &() const;
  3450. #else
  3451.     operator H245_LogicalChannelNumber &();
  3452.     operator const H245_LogicalChannelNumber &() const;
  3453. #endif
  3454. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3455.     operator H245_RemoteMCRequest &() const;
  3456. #else
  3457.     operator H245_RemoteMCRequest &();
  3458.     operator const H245_RemoteMCRequest &() const;
  3459. #endif
  3460.  
  3461.     BOOL CreateObject();
  3462.     PObject * Clone() const;
  3463. };
  3464.  
  3465.  
  3466. //
  3467. // CertSelectionCriteria
  3468. //
  3469.  
  3470. class H245_Criteria;
  3471.  
  3472. class H245_CertSelectionCriteria : public PASN_Array
  3473. {
  3474. #ifndef PASN_LEANANDMEAN
  3475.     PCLASSINFO(H245_CertSelectionCriteria, PASN_Array);
  3476. #endif
  3477.   public:
  3478.     H245_CertSelectionCriteria(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3479.  
  3480.     PASN_Object * CreateObject() const;
  3481.     H245_Criteria & operator[](PINDEX i) const;
  3482.     PObject * Clone() const;
  3483. };
  3484.  
  3485.  
  3486. //
  3487. // Criteria
  3488. //
  3489.  
  3490. class H245_Criteria : public PASN_Sequence
  3491. {
  3492. #ifndef PASN_LEANANDMEAN
  3493.     PCLASSINFO(H245_Criteria, PASN_Sequence);
  3494. #endif
  3495.   public:
  3496.     H245_Criteria(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  3497.  
  3498.     PASN_ObjectId m_field;
  3499.     PASN_OctetString m_value;
  3500.  
  3501.     PINDEX GetDataLength() const;
  3502.     BOOL Decode(PASN_Stream & strm);
  3503.     void Encode(PASN_Stream & strm) const;
  3504. #ifndef PASN_NOPRINTON
  3505.     void PrintOn(ostream & strm) const;
  3506. #endif
  3507.     Comparison Compare(const PObject & obj) const;
  3508.     PObject * Clone() const;
  3509. };
  3510.  
  3511.  
  3512. //
  3513. // McuNumber
  3514. //
  3515.  
  3516. class H245_McuNumber : public PASN_Integer
  3517. {
  3518. #ifndef PASN_LEANANDMEAN
  3519.     PCLASSINFO(H245_McuNumber, PASN_Integer);
  3520. #endif
  3521.   public:
  3522.     H245_McuNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  3523.  
  3524.     H245_McuNumber & operator=(int v);
  3525.     H245_McuNumber & operator=(unsigned v);
  3526.     PObject * Clone() const;
  3527. };
  3528.  
  3529.  
  3530. //
  3531. // TerminalNumber
  3532. //
  3533.  
  3534. class H245_TerminalNumber : public PASN_Integer
  3535. {
  3536. #ifndef PASN_LEANANDMEAN
  3537.     PCLASSINFO(H245_TerminalNumber, PASN_Integer);
  3538. #endif
  3539.   public:
  3540.     H245_TerminalNumber(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  3541.  
  3542.     H245_TerminalNumber & operator=(int v);
  3543.     H245_TerminalNumber & operator=(unsigned v);
  3544.     PObject * Clone() const;
  3545. };
  3546.  
  3547.  
  3548. //
  3549. // ConferenceResponse
  3550. //
  3551.  
  3552. class H245_ConferenceResponse_mCTerminalIDResponse;
  3553. class H245_ConferenceResponse_terminalIDResponse;
  3554. class H245_ConferenceResponse_conferenceIDResponse;
  3555. class H245_ConferenceResponse_passwordResponse;
  3556. class H245_ArrayOf_TerminalLabel;
  3557. class H245_ConferenceResponse_makeMeChairResponse;
  3558. class H245_ConferenceResponse_extensionAddressResponse;
  3559. class H245_ConferenceResponse_chairTokenOwnerResponse;
  3560. class H245_ConferenceResponse_terminalCertificateResponse;
  3561. class H245_ConferenceResponse_broadcastMyLogicalChannelResponse;
  3562. class H245_ConferenceResponse_makeTerminalBroadcasterResponse;
  3563. class H245_ConferenceResponse_sendThisSourceResponse;
  3564. class H245_RequestAllTerminalIDsResponse;
  3565. class H245_RemoteMCResponse;
  3566.  
  3567. class H245_ConferenceResponse : public PASN_Choice
  3568. {
  3569. #ifndef PASN_LEANANDMEAN
  3570.     PCLASSINFO(H245_ConferenceResponse, PASN_Choice);
  3571. #endif
  3572.   public:
  3573.     H245_ConferenceResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  3574.  
  3575.     enum Choices {
  3576.       e_mCTerminalIDResponse,
  3577.       e_terminalIDResponse,
  3578.       e_conferenceIDResponse,
  3579.       e_passwordResponse,
  3580.       e_terminalListResponse,
  3581.       e_videoCommandReject,
  3582.       e_terminalDropReject,
  3583.       e_makeMeChairResponse,
  3584.       e_extensionAddressResponse,
  3585.       e_chairTokenOwnerResponse,
  3586.       e_terminalCertificateResponse,
  3587.       e_broadcastMyLogicalChannelResponse,
  3588.       e_makeTerminalBroadcasterResponse,
  3589.       e_sendThisSourceResponse,
  3590.       e_requestAllTerminalIDsResponse,
  3591.       e_remoteMCResponse
  3592.     };
  3593.  
  3594. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3595.     operator H245_ConferenceResponse_mCTerminalIDResponse &() const;
  3596. #else
  3597.     operator H245_ConferenceResponse_mCTerminalIDResponse &();
  3598.     operator const H245_ConferenceResponse_mCTerminalIDResponse &() const;
  3599. #endif
  3600. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3601.     operator H245_ConferenceResponse_terminalIDResponse &() const;
  3602. #else
  3603.     operator H245_ConferenceResponse_terminalIDResponse &();
  3604.     operator const H245_ConferenceResponse_terminalIDResponse &() const;
  3605. #endif
  3606. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3607.     operator H245_ConferenceResponse_conferenceIDResponse &() const;
  3608. #else
  3609.     operator H245_ConferenceResponse_conferenceIDResponse &();
  3610.     operator const H245_ConferenceResponse_conferenceIDResponse &() const;
  3611. #endif
  3612. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3613.     operator H245_ConferenceResponse_passwordResponse &() const;
  3614. #else
  3615.     operator H245_ConferenceResponse_passwordResponse &();
  3616.     operator const H245_ConferenceResponse_passwordResponse &() const;
  3617. #endif
  3618. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3619.     operator H245_ArrayOf_TerminalLabel &() const;
  3620. #else
  3621.     operator H245_ArrayOf_TerminalLabel &();
  3622.     operator const H245_ArrayOf_TerminalLabel &() const;
  3623. #endif
  3624. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3625.     operator H245_ConferenceResponse_makeMeChairResponse &() const;
  3626. #else
  3627.     operator H245_ConferenceResponse_makeMeChairResponse &();
  3628.     operator const H245_ConferenceResponse_makeMeChairResponse &() const;
  3629. #endif
  3630. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3631.     operator H245_ConferenceResponse_extensionAddressResponse &() const;
  3632. #else
  3633.     operator H245_ConferenceResponse_extensionAddressResponse &();
  3634.     operator const H245_ConferenceResponse_extensionAddressResponse &() const;
  3635. #endif
  3636. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3637.     operator H245_ConferenceResponse_chairTokenOwnerResponse &() const;
  3638. #else
  3639.     operator H245_ConferenceResponse_chairTokenOwnerResponse &();
  3640.     operator const H245_ConferenceResponse_chairTokenOwnerResponse &() const;
  3641. #endif
  3642. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3643.     operator H245_ConferenceResponse_terminalCertificateResponse &() const;
  3644. #else
  3645.     operator H245_ConferenceResponse_terminalCertificateResponse &();
  3646.     operator const H245_ConferenceResponse_terminalCertificateResponse &() const;
  3647. #endif
  3648. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3649.     operator H245_ConferenceResponse_broadcastMyLogicalChannelResponse &() const;
  3650. #else
  3651.     operator H245_ConferenceResponse_broadcastMyLogicalChannelResponse &();
  3652.     operator const H245_ConferenceResponse_broadcastMyLogicalChannelResponse &() const;
  3653. #endif
  3654. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3655.     operator H245_ConferenceResponse_makeTerminalBroadcasterResponse &() const;
  3656. #else
  3657.     operator H245_ConferenceResponse_makeTerminalBroadcasterResponse &();
  3658.     operator const H245_ConferenceResponse_makeTerminalBroadcasterResponse &() const;
  3659. #endif
  3660. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3661.     operator H245_ConferenceResponse_sendThisSourceResponse &() const;
  3662. #else
  3663.     operator H245_ConferenceResponse_sendThisSourceResponse &();
  3664.     operator const H245_ConferenceResponse_sendThisSourceResponse &() const;
  3665. #endif
  3666. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3667.     operator H245_RequestAllTerminalIDsResponse &() const;
  3668. #else
  3669.     operator H245_RequestAllTerminalIDsResponse &();
  3670.     operator const H245_RequestAllTerminalIDsResponse &() const;
  3671. #endif
  3672. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3673.     operator H245_RemoteMCResponse &() const;
  3674. #else
  3675.     operator H245_RemoteMCResponse &();
  3676.     operator const H245_RemoteMCResponse &() const;
  3677. #endif
  3678.  
  3679.     BOOL CreateObject();
  3680.     PObject * Clone() const;
  3681. };
  3682.  
  3683.  
  3684. //
  3685. // TerminalID
  3686. //
  3687.  
  3688. class H245_TerminalID : public PASN_OctetString
  3689. {
  3690. #ifndef PASN_LEANANDMEAN
  3691.     PCLASSINFO(H245_TerminalID, PASN_OctetString);
  3692. #endif
  3693.   public:
  3694.     H245_TerminalID(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
  3695.  
  3696.     H245_TerminalID(const char * v);
  3697.     H245_TerminalID(const PString & v);
  3698.     H245_TerminalID(const PBYTEArray & v);
  3699.  
  3700.     H245_TerminalID & operator=(const char * v);
  3701.     H245_TerminalID & operator=(const PString & v);
  3702.     H245_TerminalID & operator=(const PBYTEArray & v);
  3703.     PObject * Clone() const;
  3704. };
  3705.  
  3706.  
  3707. //
  3708. // ConferenceID
  3709. //
  3710.  
  3711. class H245_ConferenceID : public PASN_OctetString
  3712. {
  3713. #ifndef PASN_LEANANDMEAN
  3714.     PCLASSINFO(H245_ConferenceID, PASN_OctetString);
  3715. #endif
  3716.   public:
  3717.     H245_ConferenceID(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
  3718.  
  3719.     H245_ConferenceID(const char * v);
  3720.     H245_ConferenceID(const PString & v);
  3721.     H245_ConferenceID(const PBYTEArray & v);
  3722.  
  3723.     H245_ConferenceID & operator=(const char * v);
  3724.     H245_ConferenceID & operator=(const PString & v);
  3725.     H245_ConferenceID & operator=(const PBYTEArray & v);
  3726.     PObject * Clone() const;
  3727. };
  3728.  
  3729.  
  3730. //
  3731. // Password
  3732. //
  3733.  
  3734. class H245_Password : public PASN_OctetString
  3735. {
  3736. #ifndef PASN_LEANANDMEAN
  3737.     PCLASSINFO(H245_Password, PASN_OctetString);
  3738. #endif
  3739.   public:
  3740.     H245_Password(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
  3741.  
  3742.     H245_Password(const char * v);
  3743.     H245_Password(const PString & v);
  3744.     H245_Password(const PBYTEArray & v);
  3745.  
  3746.     H245_Password & operator=(const char * v);
  3747.     H245_Password & operator=(const PString & v);
  3748.     H245_Password & operator=(const PBYTEArray & v);
  3749.     PObject * Clone() const;
  3750. };
  3751.  
  3752.  
  3753. //
  3754. // RemoteMCRequest
  3755. //
  3756.  
  3757. class H245_RemoteMCRequest : public PASN_Choice
  3758. {
  3759. #ifndef PASN_LEANANDMEAN
  3760.     PCLASSINFO(H245_RemoteMCRequest, PASN_Choice);
  3761. #endif
  3762.   public:
  3763.     H245_RemoteMCRequest(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  3764.  
  3765.     enum Choices {
  3766.       e_masterActivate,
  3767.       e_slaveActivate,
  3768.       e_deActivate
  3769.     };
  3770.  
  3771.     BOOL CreateObject();
  3772.     PObject * Clone() const;
  3773. };
  3774.  
  3775.  
  3776. //
  3777. // RemoteMCResponse
  3778. //
  3779.  
  3780. class H245_RemoteMCResponse_reject;
  3781.  
  3782. class H245_RemoteMCResponse : public PASN_Choice
  3783. {
  3784. #ifndef PASN_LEANANDMEAN
  3785.     PCLASSINFO(H245_RemoteMCResponse, PASN_Choice);
  3786. #endif
  3787.   public:
  3788.     H245_RemoteMCResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  3789.  
  3790.     enum Choices {
  3791.       e_accept,
  3792.       e_reject
  3793.     };
  3794.  
  3795. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3796.     operator H245_RemoteMCResponse_reject &() const;
  3797. #else
  3798.     operator H245_RemoteMCResponse_reject &();
  3799.     operator const H245_RemoteMCResponse_reject &() const;
  3800. #endif
  3801.  
  3802.     BOOL CreateObject();
  3803.     PObject * Clone() const;
  3804. };
  3805.  
  3806.  
  3807. //
  3808. // MultilinkRequest
  3809. //
  3810.  
  3811. class H245_NonStandardMessage;
  3812. class H245_MultilinkRequest_callInformation;
  3813. class H245_MultilinkRequest_addConnection;
  3814. class H245_MultilinkRequest_removeConnection;
  3815. class H245_MultilinkRequest_maximumHeaderInterval;
  3816.  
  3817. class H245_MultilinkRequest : public PASN_Choice
  3818. {
  3819. #ifndef PASN_LEANANDMEAN
  3820.     PCLASSINFO(H245_MultilinkRequest, PASN_Choice);
  3821. #endif
  3822.   public:
  3823.     H245_MultilinkRequest(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  3824.  
  3825.     enum Choices {
  3826.       e_nonStandard,
  3827.       e_callInformation,
  3828.       e_addConnection,
  3829.       e_removeConnection,
  3830.       e_maximumHeaderInterval
  3831.     };
  3832.  
  3833. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3834.     operator H245_NonStandardMessage &() const;
  3835. #else
  3836.     operator H245_NonStandardMessage &();
  3837.     operator const H245_NonStandardMessage &() const;
  3838. #endif
  3839. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3840.     operator H245_MultilinkRequest_callInformation &() const;
  3841. #else
  3842.     operator H245_MultilinkRequest_callInformation &();
  3843.     operator const H245_MultilinkRequest_callInformation &() const;
  3844. #endif
  3845. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3846.     operator H245_MultilinkRequest_addConnection &() const;
  3847. #else
  3848.     operator H245_MultilinkRequest_addConnection &();
  3849.     operator const H245_MultilinkRequest_addConnection &() const;
  3850. #endif
  3851. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3852.     operator H245_MultilinkRequest_removeConnection &() const;
  3853. #else
  3854.     operator H245_MultilinkRequest_removeConnection &();
  3855.     operator const H245_MultilinkRequest_removeConnection &() const;
  3856. #endif
  3857. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3858.     operator H245_MultilinkRequest_maximumHeaderInterval &() const;
  3859. #else
  3860.     operator H245_MultilinkRequest_maximumHeaderInterval &();
  3861.     operator const H245_MultilinkRequest_maximumHeaderInterval &() const;
  3862. #endif
  3863.  
  3864.     BOOL CreateObject();
  3865.     PObject * Clone() const;
  3866. };
  3867.  
  3868.  
  3869. //
  3870. // MultilinkResponse
  3871. //
  3872.  
  3873. class H245_NonStandardMessage;
  3874. class H245_MultilinkResponse_callInformation;
  3875. class H245_MultilinkResponse_addConnection;
  3876. class H245_MultilinkResponse_removeConnection;
  3877. class H245_MultilinkResponse_maximumHeaderInterval;
  3878.  
  3879. class H245_MultilinkResponse : public PASN_Choice
  3880. {
  3881. #ifndef PASN_LEANANDMEAN
  3882.     PCLASSINFO(H245_MultilinkResponse, PASN_Choice);
  3883. #endif
  3884.   public:
  3885.     H245_MultilinkResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  3886.  
  3887.     enum Choices {
  3888.       e_nonStandard,
  3889.       e_callInformation,
  3890.       e_addConnection,
  3891.       e_removeConnection,
  3892.       e_maximumHeaderInterval
  3893.     };
  3894.  
  3895. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3896.     operator H245_NonStandardMessage &() const;
  3897. #else
  3898.     operator H245_NonStandardMessage &();
  3899.     operator const H245_NonStandardMessage &() const;
  3900. #endif
  3901. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3902.     operator H245_MultilinkResponse_callInformation &() const;
  3903. #else
  3904.     operator H245_MultilinkResponse_callInformation &();
  3905.     operator const H245_MultilinkResponse_callInformation &() const;
  3906. #endif
  3907. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3908.     operator H245_MultilinkResponse_addConnection &() const;
  3909. #else
  3910.     operator H245_MultilinkResponse_addConnection &();
  3911.     operator const H245_MultilinkResponse_addConnection &() const;
  3912. #endif
  3913. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3914.     operator H245_MultilinkResponse_removeConnection &() const;
  3915. #else
  3916.     operator H245_MultilinkResponse_removeConnection &();
  3917.     operator const H245_MultilinkResponse_removeConnection &() const;
  3918. #endif
  3919. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3920.     operator H245_MultilinkResponse_maximumHeaderInterval &() const;
  3921. #else
  3922.     operator H245_MultilinkResponse_maximumHeaderInterval &();
  3923.     operator const H245_MultilinkResponse_maximumHeaderInterval &() const;
  3924. #endif
  3925.  
  3926.     BOOL CreateObject();
  3927.     PObject * Clone() const;
  3928. };
  3929.  
  3930.  
  3931. //
  3932. // MultilinkIndication
  3933. //
  3934.  
  3935. class H245_NonStandardMessage;
  3936. class H245_MultilinkIndication_crcDesired;
  3937. class H245_MultilinkIndication_excessiveError;
  3938.  
  3939. class H245_MultilinkIndication : public PASN_Choice
  3940. {
  3941. #ifndef PASN_LEANANDMEAN
  3942.     PCLASSINFO(H245_MultilinkIndication, PASN_Choice);
  3943. #endif
  3944.   public:
  3945.     H245_MultilinkIndication(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  3946.  
  3947.     enum Choices {
  3948.       e_nonStandard,
  3949.       e_crcDesired,
  3950.       e_excessiveError
  3951.     };
  3952.  
  3953. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3954.     operator H245_NonStandardMessage &() const;
  3955. #else
  3956.     operator H245_NonStandardMessage &();
  3957.     operator const H245_NonStandardMessage &() const;
  3958. #endif
  3959. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3960.     operator H245_MultilinkIndication_crcDesired &() const;
  3961. #else
  3962.     operator H245_MultilinkIndication_crcDesired &();
  3963.     operator const H245_MultilinkIndication_crcDesired &() const;
  3964. #endif
  3965. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3966.     operator H245_MultilinkIndication_excessiveError &() const;
  3967. #else
  3968.     operator H245_MultilinkIndication_excessiveError &();
  3969.     operator const H245_MultilinkIndication_excessiveError &() const;
  3970. #endif
  3971.  
  3972.     BOOL CreateObject();
  3973.     PObject * Clone() const;
  3974. };
  3975.  
  3976.  
  3977. //
  3978. // DialingInformation
  3979. //
  3980.  
  3981. class H245_NonStandardMessage;
  3982. class H245_ArrayOf_DialingInformationNumber;
  3983.  
  3984. class H245_DialingInformation : public PASN_Choice
  3985. {
  3986. #ifndef PASN_LEANANDMEAN
  3987.     PCLASSINFO(H245_DialingInformation, PASN_Choice);
  3988. #endif
  3989.   public:
  3990.     H245_DialingInformation(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  3991.  
  3992.     enum Choices {
  3993.       e_nonStandard,
  3994.       e_differential,
  3995.       e_infoNotAvailable
  3996.     };
  3997.  
  3998. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  3999.     operator H245_NonStandardMessage &() const;
  4000. #else
  4001.     operator H245_NonStandardMessage &();
  4002.     operator const H245_NonStandardMessage &() const;
  4003. #endif
  4004. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4005.     operator H245_ArrayOf_DialingInformationNumber &() const;
  4006. #else
  4007.     operator H245_ArrayOf_DialingInformationNumber &();
  4008.     operator const H245_ArrayOf_DialingInformationNumber &() const;
  4009. #endif
  4010.  
  4011.     BOOL CreateObject();
  4012.     PObject * Clone() const;
  4013. };
  4014.  
  4015.  
  4016. //
  4017. // DialingInformationNetworkType
  4018. //
  4019.  
  4020. class H245_NonStandardMessage;
  4021.  
  4022. class H245_DialingInformationNetworkType : public PASN_Choice
  4023. {
  4024. #ifndef PASN_LEANANDMEAN
  4025.     PCLASSINFO(H245_DialingInformationNetworkType, PASN_Choice);
  4026. #endif
  4027.   public:
  4028.     H245_DialingInformationNetworkType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  4029.  
  4030.     enum Choices {
  4031.       e_nonStandard,
  4032.       e_n_isdn,
  4033.       e_gstn,
  4034.       e_mobile
  4035.     };
  4036.  
  4037. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4038.     operator H245_NonStandardMessage &() const;
  4039. #else
  4040.     operator H245_NonStandardMessage &();
  4041.     operator const H245_NonStandardMessage &() const;
  4042. #endif
  4043.  
  4044.     BOOL CreateObject();
  4045.     PObject * Clone() const;
  4046. };
  4047.  
  4048.  
  4049. //
  4050. // ConnectionIdentifier
  4051. //
  4052.  
  4053. class H245_ConnectionIdentifier : public PASN_Sequence
  4054. {
  4055. #ifndef PASN_LEANANDMEAN
  4056.     PCLASSINFO(H245_ConnectionIdentifier, PASN_Sequence);
  4057. #endif
  4058.   public:
  4059.     H245_ConnectionIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4060.  
  4061.     PASN_Integer m_channelTag;
  4062.     PASN_Integer m_sequenceNumber;
  4063.  
  4064.     PINDEX GetDataLength() const;
  4065.     BOOL Decode(PASN_Stream & strm);
  4066.     void Encode(PASN_Stream & strm) const;
  4067. #ifndef PASN_NOPRINTON
  4068.     void PrintOn(ostream & strm) const;
  4069. #endif
  4070.     Comparison Compare(const PObject & obj) const;
  4071.     PObject * Clone() const;
  4072. };
  4073.  
  4074.  
  4075. //
  4076. // MaximumBitRate
  4077. //
  4078.  
  4079. class H245_MaximumBitRate : public PASN_Integer
  4080. {
  4081. #ifndef PASN_LEANANDMEAN
  4082.     PCLASSINFO(H245_MaximumBitRate, PASN_Integer);
  4083. #endif
  4084.   public:
  4085.     H245_MaximumBitRate(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  4086.  
  4087.     H245_MaximumBitRate & operator=(int v);
  4088.     H245_MaximumBitRate & operator=(unsigned v);
  4089.     PObject * Clone() const;
  4090. };
  4091.  
  4092.  
  4093. //
  4094. // LogicalChannelRateRequest
  4095. //
  4096.  
  4097. class H245_LogicalChannelRateRequest : public PASN_Sequence
  4098. {
  4099. #ifndef PASN_LEANANDMEAN
  4100.     PCLASSINFO(H245_LogicalChannelRateRequest, PASN_Sequence);
  4101. #endif
  4102.   public:
  4103.     H245_LogicalChannelRateRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4104.  
  4105.     H245_SequenceNumber m_sequenceNumber;
  4106.     H245_LogicalChannelNumber m_logicalChannelNumber;
  4107.     H245_MaximumBitRate m_maximumBitRate;
  4108.  
  4109.     PINDEX GetDataLength() const;
  4110.     BOOL Decode(PASN_Stream & strm);
  4111.     void Encode(PASN_Stream & strm) const;
  4112. #ifndef PASN_NOPRINTON
  4113.     void PrintOn(ostream & strm) const;
  4114. #endif
  4115.     Comparison Compare(const PObject & obj) const;
  4116.     PObject * Clone() const;
  4117. };
  4118.  
  4119.  
  4120. //
  4121. // LogicalChannelRateAcknowledge
  4122. //
  4123.  
  4124. class H245_LogicalChannelRateAcknowledge : public PASN_Sequence
  4125. {
  4126. #ifndef PASN_LEANANDMEAN
  4127.     PCLASSINFO(H245_LogicalChannelRateAcknowledge, PASN_Sequence);
  4128. #endif
  4129.   public:
  4130.     H245_LogicalChannelRateAcknowledge(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4131.  
  4132.     H245_SequenceNumber m_sequenceNumber;
  4133.     H245_LogicalChannelNumber m_logicalChannelNumber;
  4134.     H245_MaximumBitRate m_maximumBitRate;
  4135.  
  4136.     PINDEX GetDataLength() const;
  4137.     BOOL Decode(PASN_Stream & strm);
  4138.     void Encode(PASN_Stream & strm) const;
  4139. #ifndef PASN_NOPRINTON
  4140.     void PrintOn(ostream & strm) const;
  4141. #endif
  4142.     Comparison Compare(const PObject & obj) const;
  4143.     PObject * Clone() const;
  4144. };
  4145.  
  4146.  
  4147. //
  4148. // LogicalChannelRateRejectReason
  4149. //
  4150.  
  4151. class H245_LogicalChannelRateRejectReason : public PASN_Choice
  4152. {
  4153. #ifndef PASN_LEANANDMEAN
  4154.     PCLASSINFO(H245_LogicalChannelRateRejectReason, PASN_Choice);
  4155. #endif
  4156.   public:
  4157.     H245_LogicalChannelRateRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  4158.  
  4159.     enum Choices {
  4160.       e_undefinedReason,
  4161.       e_insufficientResources
  4162.     };
  4163.  
  4164.     BOOL CreateObject();
  4165.     PObject * Clone() const;
  4166. };
  4167.  
  4168.  
  4169. //
  4170. // LogicalChannelRateRelease
  4171. //
  4172.  
  4173. class H245_LogicalChannelRateRelease : public PASN_Sequence
  4174. {
  4175. #ifndef PASN_LEANANDMEAN
  4176.     PCLASSINFO(H245_LogicalChannelRateRelease, PASN_Sequence);
  4177. #endif
  4178.   public:
  4179.     H245_LogicalChannelRateRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4180.  
  4181.  
  4182.     PINDEX GetDataLength() const;
  4183.     BOOL Decode(PASN_Stream & strm);
  4184.     void Encode(PASN_Stream & strm) const;
  4185. #ifndef PASN_NOPRINTON
  4186.     void PrintOn(ostream & strm) const;
  4187. #endif
  4188.     PObject * Clone() const;
  4189. };
  4190.  
  4191.  
  4192. //
  4193. // SendTerminalCapabilitySet
  4194. //
  4195.  
  4196. class H245_SendTerminalCapabilitySet_specificRequest;
  4197.  
  4198. class H245_SendTerminalCapabilitySet : public PASN_Choice
  4199. {
  4200. #ifndef PASN_LEANANDMEAN
  4201.     PCLASSINFO(H245_SendTerminalCapabilitySet, PASN_Choice);
  4202. #endif
  4203.   public:
  4204.     H245_SendTerminalCapabilitySet(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  4205.  
  4206.     enum Choices {
  4207.       e_specificRequest,
  4208.       e_genericRequest
  4209.     };
  4210.  
  4211. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4212.     operator H245_SendTerminalCapabilitySet_specificRequest &() const;
  4213. #else
  4214.     operator H245_SendTerminalCapabilitySet_specificRequest &();
  4215.     operator const H245_SendTerminalCapabilitySet_specificRequest &() const;
  4216. #endif
  4217.  
  4218.     BOOL CreateObject();
  4219.     PObject * Clone() const;
  4220. };
  4221.  
  4222.  
  4223. //
  4224. // EncryptionCommand
  4225. //
  4226.  
  4227. class H245_EncryptionCommand_encryptionAlgorithmID;
  4228.  
  4229. class H245_EncryptionCommand : public PASN_Choice
  4230. {
  4231. #ifndef PASN_LEANANDMEAN
  4232.     PCLASSINFO(H245_EncryptionCommand, PASN_Choice);
  4233. #endif
  4234.   public:
  4235.     H245_EncryptionCommand(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  4236.  
  4237.     enum Choices {
  4238.       e_encryptionSE,
  4239.       e_encryptionIVRequest,
  4240.       e_encryptionAlgorithmID
  4241.     };
  4242.  
  4243. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4244.     operator H245_EncryptionCommand_encryptionAlgorithmID &() const;
  4245. #else
  4246.     operator H245_EncryptionCommand_encryptionAlgorithmID &();
  4247.     operator const H245_EncryptionCommand_encryptionAlgorithmID &() const;
  4248. #endif
  4249.  
  4250.     BOOL CreateObject();
  4251.     PObject * Clone() const;
  4252. };
  4253.  
  4254.  
  4255. //
  4256. // EndSessionCommand
  4257. //
  4258.  
  4259. class H245_NonStandardParameter;
  4260. class H245_EndSessionCommand_gstnOptions;
  4261. class H245_EndSessionCommand_isdnOptions;
  4262.  
  4263. class H245_EndSessionCommand : public PASN_Choice
  4264. {
  4265. #ifndef PASN_LEANANDMEAN
  4266.     PCLASSINFO(H245_EndSessionCommand, PASN_Choice);
  4267. #endif
  4268.   public:
  4269.     H245_EndSessionCommand(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  4270.  
  4271.     enum Choices {
  4272.       e_nonStandard,
  4273.       e_disconnect,
  4274.       e_gstnOptions,
  4275.       e_isdnOptions
  4276.     };
  4277.  
  4278. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4279.     operator H245_NonStandardParameter &() const;
  4280. #else
  4281.     operator H245_NonStandardParameter &();
  4282.     operator const H245_NonStandardParameter &() const;
  4283. #endif
  4284. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4285.     operator H245_EndSessionCommand_gstnOptions &() const;
  4286. #else
  4287.     operator H245_EndSessionCommand_gstnOptions &();
  4288.     operator const H245_EndSessionCommand_gstnOptions &() const;
  4289. #endif
  4290. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4291.     operator H245_EndSessionCommand_isdnOptions &() const;
  4292. #else
  4293.     operator H245_EndSessionCommand_isdnOptions &();
  4294.     operator const H245_EndSessionCommand_isdnOptions &() const;
  4295. #endif
  4296.  
  4297.     BOOL CreateObject();
  4298.     PObject * Clone() const;
  4299. };
  4300.  
  4301.  
  4302. //
  4303. // ConferenceCommand
  4304. //
  4305.  
  4306. class H245_LogicalChannelNumber;
  4307. class H245_LogicalChannelNumber;
  4308. class H245_TerminalLabel;
  4309. class H245_TerminalLabel;
  4310. class H245_SubstituteConferenceIDCommand;
  4311.  
  4312. class H245_ConferenceCommand : public PASN_Choice
  4313. {
  4314. #ifndef PASN_LEANANDMEAN
  4315.     PCLASSINFO(H245_ConferenceCommand, PASN_Choice);
  4316. #endif
  4317.   public:
  4318.     H245_ConferenceCommand(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  4319.  
  4320.     enum Choices {
  4321.       e_broadcastMyLogicalChannel,
  4322.       e_cancelBroadcastMyLogicalChannel,
  4323.       e_makeTerminalBroadcaster,
  4324.       e_cancelMakeTerminalBroadcaster,
  4325.       e_sendThisSource,
  4326.       e_cancelSendThisSource,
  4327.       e_dropConference,
  4328.       e_substituteConferenceIDCommand
  4329.     };
  4330.  
  4331. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4332.     operator H245_LogicalChannelNumber &() const;
  4333. #else
  4334.     operator H245_LogicalChannelNumber &();
  4335.     operator const H245_LogicalChannelNumber &() const;
  4336. #endif
  4337. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4338.     operator H245_TerminalLabel &() const;
  4339. #else
  4340.     operator H245_TerminalLabel &();
  4341.     operator const H245_TerminalLabel &() const;
  4342. #endif
  4343. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4344.     operator H245_SubstituteConferenceIDCommand &() const;
  4345. #else
  4346.     operator H245_SubstituteConferenceIDCommand &();
  4347.     operator const H245_SubstituteConferenceIDCommand &() const;
  4348. #endif
  4349.  
  4350.     BOOL CreateObject();
  4351.     PObject * Clone() const;
  4352. };
  4353.  
  4354.  
  4355. //
  4356. // SubstituteConferenceIDCommand
  4357. //
  4358.  
  4359. class H245_SubstituteConferenceIDCommand : public PASN_Sequence
  4360. {
  4361. #ifndef PASN_LEANANDMEAN
  4362.     PCLASSINFO(H245_SubstituteConferenceIDCommand, PASN_Sequence);
  4363. #endif
  4364.   public:
  4365.     H245_SubstituteConferenceIDCommand(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4366.  
  4367.     PASN_OctetString m_conferenceIdentifier;
  4368.  
  4369.     PINDEX GetDataLength() const;
  4370.     BOOL Decode(PASN_Stream & strm);
  4371.     void Encode(PASN_Stream & strm) const;
  4372. #ifndef PASN_NOPRINTON
  4373.     void PrintOn(ostream & strm) const;
  4374. #endif
  4375.     Comparison Compare(const PObject & obj) const;
  4376.     PObject * Clone() const;
  4377. };
  4378.  
  4379.  
  4380. //
  4381. // KeyProtectionMethod
  4382. //
  4383.  
  4384. class H245_KeyProtectionMethod : public PASN_Sequence
  4385. {
  4386. #ifndef PASN_LEANANDMEAN
  4387.     PCLASSINFO(H245_KeyProtectionMethod, PASN_Sequence);
  4388. #endif
  4389.   public:
  4390.     H245_KeyProtectionMethod(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4391.  
  4392.     PASN_Boolean m_secureChannel;
  4393.     PASN_Boolean m_sharedSecret;
  4394.     PASN_Boolean m_certProtectedKey;
  4395.  
  4396.     PINDEX GetDataLength() const;
  4397.     BOOL Decode(PASN_Stream & strm);
  4398.     void Encode(PASN_Stream & strm) const;
  4399. #ifndef PASN_NOPRINTON
  4400.     void PrintOn(ostream & strm) const;
  4401. #endif
  4402.     Comparison Compare(const PObject & obj) const;
  4403.     PObject * Clone() const;
  4404. };
  4405.  
  4406.  
  4407. //
  4408. // EncryptionUpdateRequest
  4409. //
  4410.  
  4411. class H245_EncryptionUpdateRequest : public PASN_Sequence
  4412. {
  4413. #ifndef PASN_LEANANDMEAN
  4414.     PCLASSINFO(H245_EncryptionUpdateRequest, PASN_Sequence);
  4415. #endif
  4416.   public:
  4417.     H245_EncryptionUpdateRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4418.  
  4419.     enum OptionalFields {
  4420.       e_keyProtectionMethod
  4421.     };
  4422.  
  4423.     H245_KeyProtectionMethod m_keyProtectionMethod;
  4424.  
  4425.     PINDEX GetDataLength() const;
  4426.     BOOL Decode(PASN_Stream & strm);
  4427.     void Encode(PASN_Stream & strm) const;
  4428. #ifndef PASN_NOPRINTON
  4429.     void PrintOn(ostream & strm) const;
  4430. #endif
  4431.     Comparison Compare(const PObject & obj) const;
  4432.     PObject * Clone() const;
  4433. };
  4434.  
  4435.  
  4436. //
  4437. // PictureReference
  4438. //
  4439.  
  4440. class H245_PictureReference : public PASN_Choice
  4441. {
  4442. #ifndef PASN_LEANANDMEAN
  4443.     PCLASSINFO(H245_PictureReference, PASN_Choice);
  4444. #endif
  4445.   public:
  4446.     H245_PictureReference(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  4447.  
  4448.     enum Choices {
  4449.       e_pictureNumber,
  4450.       e_longTermPictureIndex
  4451.     };
  4452.  
  4453.     BOOL CreateObject();
  4454.     PObject * Clone() const;
  4455. };
  4456.  
  4457.  
  4458. //
  4459. // H223MultiplexReconfiguration
  4460. //
  4461.  
  4462. class H245_H223MultiplexReconfiguration_h223ModeChange;
  4463. class H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag;
  4464.  
  4465. class H245_H223MultiplexReconfiguration : public PASN_Choice
  4466. {
  4467. #ifndef PASN_LEANANDMEAN
  4468.     PCLASSINFO(H245_H223MultiplexReconfiguration, PASN_Choice);
  4469. #endif
  4470.   public:
  4471.     H245_H223MultiplexReconfiguration(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  4472.  
  4473.     enum Choices {
  4474.       e_h223ModeChange,
  4475.       e_h223AnnexADoubleFlag
  4476.     };
  4477.  
  4478. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4479.     operator H245_H223MultiplexReconfiguration_h223ModeChange &() const;
  4480. #else
  4481.     operator H245_H223MultiplexReconfiguration_h223ModeChange &();
  4482.     operator const H245_H223MultiplexReconfiguration_h223ModeChange &() const;
  4483. #endif
  4484. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4485.     operator H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag &() const;
  4486. #else
  4487.     operator H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag &();
  4488.     operator const H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag &() const;
  4489. #endif
  4490.  
  4491.     BOOL CreateObject();
  4492.     PObject * Clone() const;
  4493. };
  4494.  
  4495.  
  4496. //
  4497. // FunctionNotUnderstood
  4498. //
  4499.  
  4500. class H245_RequestMessage;
  4501. class H245_ResponseMessage;
  4502. class H245_CommandMessage;
  4503.  
  4504. class H245_FunctionNotUnderstood : public PASN_Choice
  4505. {
  4506. #ifndef PASN_LEANANDMEAN
  4507.     PCLASSINFO(H245_FunctionNotUnderstood, PASN_Choice);
  4508. #endif
  4509.   public:
  4510.     H245_FunctionNotUnderstood(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  4511.  
  4512.     enum Choices {
  4513.       e_request,
  4514.       e_response,
  4515.       e_command
  4516.     };
  4517.  
  4518. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4519.     operator H245_RequestMessage &() const;
  4520. #else
  4521.     operator H245_RequestMessage &();
  4522.     operator const H245_RequestMessage &() const;
  4523. #endif
  4524. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4525.     operator H245_ResponseMessage &() const;
  4526. #else
  4527.     operator H245_ResponseMessage &();
  4528.     operator const H245_ResponseMessage &() const;
  4529. #endif
  4530. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4531.     operator H245_CommandMessage &() const;
  4532. #else
  4533.     operator H245_CommandMessage &();
  4534.     operator const H245_CommandMessage &() const;
  4535. #endif
  4536.  
  4537.     BOOL CreateObject();
  4538.     PObject * Clone() const;
  4539. };
  4540.  
  4541.  
  4542. //
  4543. // ConferenceIndication
  4544. //
  4545.  
  4546. class H245_TerminalLabel;
  4547. class H245_TerminalLabel;
  4548. class H245_TerminalLabel;
  4549. class H245_TerminalLabel;
  4550. class H245_TerminalLabel;
  4551. class H245_TerminalYouAreSeeingInSubPictureNumber;
  4552. class H245_VideoIndicateCompose;
  4553.  
  4554. class H245_ConferenceIndication : public PASN_Choice
  4555. {
  4556. #ifndef PASN_LEANANDMEAN
  4557.     PCLASSINFO(H245_ConferenceIndication, PASN_Choice);
  4558. #endif
  4559.   public:
  4560.     H245_ConferenceIndication(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  4561.  
  4562.     enum Choices {
  4563.       e_sbeNumber,
  4564.       e_terminalNumberAssign,
  4565.       e_terminalJoinedConference,
  4566.       e_terminalLeftConference,
  4567.       e_seenByAtLeastOneOther,
  4568.       e_cancelSeenByAtLeastOneOther,
  4569.       e_seenByAll,
  4570.       e_cancelSeenByAll,
  4571.       e_terminalYouAreSeeing,
  4572.       e_requestForFloor,
  4573.       e_withdrawChairToken,
  4574.       e_floorRequested,
  4575.       e_terminalYouAreSeeingInSubPictureNumber,
  4576.       e_videoIndicateCompose
  4577.     };
  4578.  
  4579. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4580.     operator H245_TerminalLabel &() const;
  4581. #else
  4582.     operator H245_TerminalLabel &();
  4583.     operator const H245_TerminalLabel &() const;
  4584. #endif
  4585. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4586.     operator H245_TerminalYouAreSeeingInSubPictureNumber &() const;
  4587. #else
  4588.     operator H245_TerminalYouAreSeeingInSubPictureNumber &();
  4589.     operator const H245_TerminalYouAreSeeingInSubPictureNumber &() const;
  4590. #endif
  4591. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4592.     operator H245_VideoIndicateCompose &() const;
  4593. #else
  4594.     operator H245_VideoIndicateCompose &();
  4595.     operator const H245_VideoIndicateCompose &() const;
  4596. #endif
  4597.  
  4598.     BOOL CreateObject();
  4599.     PObject * Clone() const;
  4600. };
  4601.  
  4602.  
  4603. //
  4604. // TerminalYouAreSeeingInSubPictureNumber
  4605. //
  4606.  
  4607. class H245_TerminalYouAreSeeingInSubPictureNumber : public PASN_Sequence
  4608. {
  4609. #ifndef PASN_LEANANDMEAN
  4610.     PCLASSINFO(H245_TerminalYouAreSeeingInSubPictureNumber, PASN_Sequence);
  4611. #endif
  4612.   public:
  4613.     H245_TerminalYouAreSeeingInSubPictureNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4614.  
  4615.     H245_TerminalNumber m_terminalNumber;
  4616.     PASN_Integer m_subPictureNumber;
  4617.  
  4618.     PINDEX GetDataLength() const;
  4619.     BOOL Decode(PASN_Stream & strm);
  4620.     void Encode(PASN_Stream & strm) const;
  4621. #ifndef PASN_NOPRINTON
  4622.     void PrintOn(ostream & strm) const;
  4623. #endif
  4624.     Comparison Compare(const PObject & obj) const;
  4625.     PObject * Clone() const;
  4626. };
  4627.  
  4628.  
  4629. //
  4630. // VideoIndicateCompose
  4631. //
  4632.  
  4633. class H245_VideoIndicateCompose : public PASN_Sequence
  4634. {
  4635. #ifndef PASN_LEANANDMEAN
  4636.     PCLASSINFO(H245_VideoIndicateCompose, PASN_Sequence);
  4637. #endif
  4638.   public:
  4639.     H245_VideoIndicateCompose(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4640.  
  4641.     PASN_Integer m_compositionNumber;
  4642.  
  4643.     PINDEX GetDataLength() const;
  4644.     BOOL Decode(PASN_Stream & strm);
  4645.     void Encode(PASN_Stream & strm) const;
  4646. #ifndef PASN_NOPRINTON
  4647.     void PrintOn(ostream & strm) const;
  4648. #endif
  4649.     Comparison Compare(const PObject & obj) const;
  4650.     PObject * Clone() const;
  4651. };
  4652.  
  4653.  
  4654. //
  4655. // H223SkewIndication
  4656. //
  4657.  
  4658. class H245_H223SkewIndication : public PASN_Sequence
  4659. {
  4660. #ifndef PASN_LEANANDMEAN
  4661.     PCLASSINFO(H245_H223SkewIndication, PASN_Sequence);
  4662. #endif
  4663.   public:
  4664.     H245_H223SkewIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4665.  
  4666.     H245_LogicalChannelNumber m_logicalChannelNumber1;
  4667.     H245_LogicalChannelNumber m_logicalChannelNumber2;
  4668.     PASN_Integer m_skew;
  4669.  
  4670.     PINDEX GetDataLength() const;
  4671.     BOOL Decode(PASN_Stream & strm);
  4672.     void Encode(PASN_Stream & strm) const;
  4673. #ifndef PASN_NOPRINTON
  4674.     void PrintOn(ostream & strm) const;
  4675. #endif
  4676.     Comparison Compare(const PObject & obj) const;
  4677.     PObject * Clone() const;
  4678. };
  4679.  
  4680.  
  4681. //
  4682. // H2250MaximumSkewIndication
  4683. //
  4684.  
  4685. class H245_H2250MaximumSkewIndication : public PASN_Sequence
  4686. {
  4687. #ifndef PASN_LEANANDMEAN
  4688.     PCLASSINFO(H245_H2250MaximumSkewIndication, PASN_Sequence);
  4689. #endif
  4690.   public:
  4691.     H245_H2250MaximumSkewIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4692.  
  4693.     H245_LogicalChannelNumber m_logicalChannelNumber1;
  4694.     H245_LogicalChannelNumber m_logicalChannelNumber2;
  4695.     PASN_Integer m_maximumSkew;
  4696.  
  4697.     PINDEX GetDataLength() const;
  4698.     BOOL Decode(PASN_Stream & strm);
  4699.     void Encode(PASN_Stream & strm) const;
  4700. #ifndef PASN_NOPRINTON
  4701.     void PrintOn(ostream & strm) const;
  4702. #endif
  4703.     Comparison Compare(const PObject & obj) const;
  4704.     PObject * Clone() const;
  4705. };
  4706.  
  4707.  
  4708. //
  4709. // MCLocationIndication
  4710. //
  4711.  
  4712. class H245_MCLocationIndication : public PASN_Sequence
  4713. {
  4714. #ifndef PASN_LEANANDMEAN
  4715.     PCLASSINFO(H245_MCLocationIndication, PASN_Sequence);
  4716. #endif
  4717.   public:
  4718.     H245_MCLocationIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4719.  
  4720.     H245_TransportAddress m_signalAddress;
  4721.  
  4722.     PINDEX GetDataLength() const;
  4723.     BOOL Decode(PASN_Stream & strm);
  4724.     void Encode(PASN_Stream & strm) const;
  4725. #ifndef PASN_NOPRINTON
  4726.     void PrintOn(ostream & strm) const;
  4727. #endif
  4728.     Comparison Compare(const PObject & obj) const;
  4729.     PObject * Clone() const;
  4730. };
  4731.  
  4732.  
  4733. //
  4734. // VendorIdentification
  4735. //
  4736.  
  4737. class H245_VendorIdentification : public PASN_Sequence
  4738. {
  4739. #ifndef PASN_LEANANDMEAN
  4740.     PCLASSINFO(H245_VendorIdentification, PASN_Sequence);
  4741. #endif
  4742.   public:
  4743.     H245_VendorIdentification(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4744.  
  4745.     enum OptionalFields {
  4746.       e_productNumber,
  4747.       e_versionNumber
  4748.     };
  4749.  
  4750.     H245_NonStandardIdentifier m_vendor;
  4751.     PASN_OctetString m_productNumber;
  4752.     PASN_OctetString m_versionNumber;
  4753.  
  4754.     PINDEX GetDataLength() const;
  4755.     BOOL Decode(PASN_Stream & strm);
  4756.     void Encode(PASN_Stream & strm) const;
  4757. #ifndef PASN_NOPRINTON
  4758.     void PrintOn(ostream & strm) const;
  4759. #endif
  4760.     Comparison Compare(const PObject & obj) const;
  4761.     PObject * Clone() const;
  4762. };
  4763.  
  4764.  
  4765. //
  4766. // UserInputIndication
  4767. //
  4768.  
  4769. class H245_NonStandardParameter;
  4770. class H245_UserInputIndication_userInputSupportIndication;
  4771. class H245_UserInputIndication_signal;
  4772. class H245_UserInputIndication_signalUpdate;
  4773. class H245_UserInputIndication_extendedAlphanumeric;
  4774.  
  4775. class H245_UserInputIndication : public PASN_Choice
  4776. {
  4777. #ifndef PASN_LEANANDMEAN
  4778.     PCLASSINFO(H245_UserInputIndication, PASN_Choice);
  4779. #endif
  4780.   public:
  4781.     H245_UserInputIndication(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  4782.  
  4783.     enum Choices {
  4784.       e_nonStandard,
  4785.       e_alphanumeric,
  4786.       e_userInputSupportIndication,
  4787.       e_signal,
  4788.       e_signalUpdate,
  4789.       e_extendedAlphanumeric
  4790.     };
  4791.  
  4792. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4793.     operator H245_NonStandardParameter &() const;
  4794. #else
  4795.     operator H245_NonStandardParameter &();
  4796.     operator const H245_NonStandardParameter &() const;
  4797. #endif
  4798. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4799.     operator H245_UserInputIndication_userInputSupportIndication &() const;
  4800. #else
  4801.     operator H245_UserInputIndication_userInputSupportIndication &();
  4802.     operator const H245_UserInputIndication_userInputSupportIndication &() const;
  4803. #endif
  4804. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4805.     operator H245_UserInputIndication_signal &() const;
  4806. #else
  4807.     operator H245_UserInputIndication_signal &();
  4808.     operator const H245_UserInputIndication_signal &() const;
  4809. #endif
  4810. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4811.     operator H245_UserInputIndication_signalUpdate &() const;
  4812. #else
  4813.     operator H245_UserInputIndication_signalUpdate &();
  4814.     operator const H245_UserInputIndication_signalUpdate &() const;
  4815. #endif
  4816. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  4817.     operator H245_UserInputIndication_extendedAlphanumeric &() const;
  4818. #else
  4819.     operator H245_UserInputIndication_extendedAlphanumeric &();
  4820.     operator const H245_UserInputIndication_extendedAlphanumeric &() const;
  4821. #endif
  4822.  
  4823.     BOOL CreateObject();
  4824.     PObject * Clone() const;
  4825. };
  4826.  
  4827.  
  4828. //
  4829. // MobileMultilinkReconfigurationIndication
  4830. //
  4831.  
  4832. class H245_MobileMultilinkReconfigurationIndication : public PASN_Sequence
  4833. {
  4834. #ifndef PASN_LEANANDMEAN
  4835.     PCLASSINFO(H245_MobileMultilinkReconfigurationIndication, PASN_Sequence);
  4836. #endif
  4837.   public:
  4838.     H245_MobileMultilinkReconfigurationIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4839.  
  4840.     PASN_Integer m_sampleSize;
  4841.     PASN_Integer m_samplesPerFrame;
  4842.  
  4843.     PINDEX GetDataLength() const;
  4844.     BOOL Decode(PASN_Stream & strm);
  4845.     void Encode(PASN_Stream & strm) const;
  4846. #ifndef PASN_NOPRINTON
  4847.     void PrintOn(ostream & strm) const;
  4848. #endif
  4849.     Comparison Compare(const PObject & obj) const;
  4850.     PObject * Clone() const;
  4851. };
  4852.  
  4853.  
  4854. //
  4855. // NonStandardIdentifier_h221NonStandard
  4856. //
  4857.  
  4858. class H245_NonStandardIdentifier_h221NonStandard : public PASN_Sequence
  4859. {
  4860. #ifndef PASN_LEANANDMEAN
  4861.     PCLASSINFO(H245_NonStandardIdentifier_h221NonStandard, PASN_Sequence);
  4862. #endif
  4863.   public:
  4864.     H245_NonStandardIdentifier_h221NonStandard(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  4865.  
  4866.     PASN_Integer m_t35CountryCode;
  4867.     PASN_Integer m_t35Extension;
  4868.     PASN_Integer m_manufacturerCode;
  4869.  
  4870.     PINDEX GetDataLength() const;
  4871.     BOOL Decode(PASN_Stream & strm);
  4872.     void Encode(PASN_Stream & strm) const;
  4873. #ifndef PASN_NOPRINTON
  4874.     void PrintOn(ostream & strm) const;
  4875. #endif
  4876.     Comparison Compare(const PObject & obj) const;
  4877.     PObject * Clone() const;
  4878. };
  4879.  
  4880.  
  4881. //
  4882. // MasterSlaveDeterminationAck_decision
  4883. //
  4884.  
  4885. class H245_MasterSlaveDeterminationAck_decision : public PASN_Choice
  4886. {
  4887. #ifndef PASN_LEANANDMEAN
  4888.     PCLASSINFO(H245_MasterSlaveDeterminationAck_decision, PASN_Choice);
  4889. #endif
  4890.   public:
  4891.     H245_MasterSlaveDeterminationAck_decision(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  4892.  
  4893.     enum Choices {
  4894.       e_master,
  4895.       e_slave
  4896.     };
  4897.  
  4898.     BOOL CreateObject();
  4899.     PObject * Clone() const;
  4900. };
  4901.  
  4902.  
  4903. //
  4904. // MasterSlaveDeterminationReject_cause
  4905. //
  4906.  
  4907. class H245_MasterSlaveDeterminationReject_cause : public PASN_Choice
  4908. {
  4909. #ifndef PASN_LEANANDMEAN
  4910.     PCLASSINFO(H245_MasterSlaveDeterminationReject_cause, PASN_Choice);
  4911. #endif
  4912.   public:
  4913.     H245_MasterSlaveDeterminationReject_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  4914.  
  4915.     enum Choices {
  4916.       e_identicalNumbers
  4917.     };
  4918.  
  4919.     BOOL CreateObject();
  4920.     PObject * Clone() const;
  4921. };
  4922.  
  4923.  
  4924. //
  4925. // ArrayOf_CapabilityTableEntry
  4926. //
  4927.  
  4928. class H245_CapabilityTableEntry;
  4929.  
  4930. class H245_ArrayOf_CapabilityTableEntry : public PASN_Array
  4931. {
  4932. #ifndef PASN_LEANANDMEAN
  4933.     PCLASSINFO(H245_ArrayOf_CapabilityTableEntry, PASN_Array);
  4934. #endif
  4935.   public:
  4936.     H245_ArrayOf_CapabilityTableEntry(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  4937.  
  4938.     PASN_Object * CreateObject() const;
  4939.     H245_CapabilityTableEntry & operator[](PINDEX i) const;
  4940.     PObject * Clone() const;
  4941. };
  4942.  
  4943.  
  4944. //
  4945. // ArrayOf_CapabilityDescriptor
  4946. //
  4947.  
  4948. class H245_CapabilityDescriptor;
  4949.  
  4950. class H245_ArrayOf_CapabilityDescriptor : public PASN_Array
  4951. {
  4952. #ifndef PASN_LEANANDMEAN
  4953.     PCLASSINFO(H245_ArrayOf_CapabilityDescriptor, PASN_Array);
  4954. #endif
  4955.   public:
  4956.     H245_ArrayOf_CapabilityDescriptor(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  4957.  
  4958.     PASN_Object * CreateObject() const;
  4959.     H245_CapabilityDescriptor & operator[](PINDEX i) const;
  4960.     PObject * Clone() const;
  4961. };
  4962.  
  4963.  
  4964. //
  4965. // ArrayOf_AlternativeCapabilitySet
  4966. //
  4967.  
  4968. class H245_AlternativeCapabilitySet;
  4969.  
  4970. class H245_ArrayOf_AlternativeCapabilitySet : public PASN_Array
  4971. {
  4972. #ifndef PASN_LEANANDMEAN
  4973.     PCLASSINFO(H245_ArrayOf_AlternativeCapabilitySet, PASN_Array);
  4974. #endif
  4975.   public:
  4976.     H245_ArrayOf_AlternativeCapabilitySet(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  4977.  
  4978.     PASN_Object * CreateObject() const;
  4979.     H245_AlternativeCapabilitySet & operator[](PINDEX i) const;
  4980.     PObject * Clone() const;
  4981. };
  4982.  
  4983.  
  4984. //
  4985. // TerminalCapabilitySetReject_cause
  4986. //
  4987.  
  4988. class H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded;
  4989.  
  4990. class H245_TerminalCapabilitySetReject_cause : public PASN_Choice
  4991. {
  4992. #ifndef PASN_LEANANDMEAN
  4993.     PCLASSINFO(H245_TerminalCapabilitySetReject_cause, PASN_Choice);
  4994. #endif
  4995.   public:
  4996.     H245_TerminalCapabilitySetReject_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  4997.  
  4998.     enum Choices {
  4999.       e_unspecified,
  5000.       e_undefinedTableEntryUsed,
  5001.       e_descriptorCapacityExceeded,
  5002.       e_tableEntryCapacityExceeded
  5003.     };
  5004.  
  5005. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  5006.     operator H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded &() const;
  5007. #else
  5008.     operator H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded &();
  5009.     operator const H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded &() const;
  5010. #endif
  5011.  
  5012.     BOOL CreateObject();
  5013.     PObject * Clone() const;
  5014. };
  5015.  
  5016.  
  5017. //
  5018. // Capability_h233EncryptionReceiveCapability
  5019. //
  5020.  
  5021. class H245_Capability_h233EncryptionReceiveCapability : public PASN_Sequence
  5022. {
  5023. #ifndef PASN_LEANANDMEAN
  5024.     PCLASSINFO(H245_Capability_h233EncryptionReceiveCapability, PASN_Sequence);
  5025. #endif
  5026.   public:
  5027.     H245_Capability_h233EncryptionReceiveCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5028.  
  5029.     PASN_Integer m_h233IVResponseTime;
  5030.  
  5031.     PINDEX GetDataLength() const;
  5032.     BOOL Decode(PASN_Stream & strm);
  5033.     void Encode(PASN_Stream & strm) const;
  5034. #ifndef PASN_NOPRINTON
  5035.     void PrintOn(ostream & strm) const;
  5036. #endif
  5037.     Comparison Compare(const PObject & obj) const;
  5038.     PObject * Clone() const;
  5039. };
  5040.  
  5041.  
  5042. //
  5043. // ArrayOf_VCCapability
  5044. //
  5045.  
  5046. class H245_VCCapability;
  5047.  
  5048. class H245_ArrayOf_VCCapability : public PASN_Array
  5049. {
  5050. #ifndef PASN_LEANANDMEAN
  5051.     PCLASSINFO(H245_ArrayOf_VCCapability, PASN_Array);
  5052. #endif
  5053.   public:
  5054.     H245_ArrayOf_VCCapability(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  5055.  
  5056.     PASN_Object * CreateObject() const;
  5057.     H245_VCCapability & operator[](PINDEX i) const;
  5058.     PObject * Clone() const;
  5059. };
  5060.  
  5061.  
  5062. //
  5063. // VCCapability_aal1
  5064. //
  5065.  
  5066. class H245_VCCapability_aal1 : public PASN_Sequence
  5067. {
  5068. #ifndef PASN_LEANANDMEAN
  5069.     PCLASSINFO(H245_VCCapability_aal1, PASN_Sequence);
  5070. #endif
  5071.   public:
  5072.     H245_VCCapability_aal1(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5073.  
  5074.     PASN_Boolean m_nullClockRecovery;
  5075.     PASN_Boolean m_srtsClockRecovery;
  5076.     PASN_Boolean m_adaptiveClockRecovery;
  5077.     PASN_Boolean m_nullErrorCorrection;
  5078.     PASN_Boolean m_longInterleaver;
  5079.     PASN_Boolean m_shortInterleaver;
  5080.     PASN_Boolean m_errorCorrectionOnly;
  5081.     PASN_Boolean m_structuredDataTransfer;
  5082.     PASN_Boolean m_partiallyFilledCells;
  5083.  
  5084.     PINDEX GetDataLength() const;
  5085.     BOOL Decode(PASN_Stream & strm);
  5086.     void Encode(PASN_Stream & strm) const;
  5087. #ifndef PASN_NOPRINTON
  5088.     void PrintOn(ostream & strm) const;
  5089. #endif
  5090.     Comparison Compare(const PObject & obj) const;
  5091.     PObject * Clone() const;
  5092. };
  5093.  
  5094.  
  5095. //
  5096. // VCCapability_aal5
  5097. //
  5098.  
  5099. class H245_VCCapability_aal5 : public PASN_Sequence
  5100. {
  5101. #ifndef PASN_LEANANDMEAN
  5102.     PCLASSINFO(H245_VCCapability_aal5, PASN_Sequence);
  5103. #endif
  5104.   public:
  5105.     H245_VCCapability_aal5(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5106.  
  5107.     PASN_Integer m_forwardMaximumSDUSize;
  5108.     PASN_Integer m_backwardMaximumSDUSize;
  5109.  
  5110.     PINDEX GetDataLength() const;
  5111.     BOOL Decode(PASN_Stream & strm);
  5112.     void Encode(PASN_Stream & strm) const;
  5113. #ifndef PASN_NOPRINTON
  5114.     void PrintOn(ostream & strm) const;
  5115. #endif
  5116.     Comparison Compare(const PObject & obj) const;
  5117.     PObject * Clone() const;
  5118. };
  5119.  
  5120.  
  5121. //
  5122. // H223Capability_h223MultiplexTableCapability
  5123. //
  5124.  
  5125. class H245_H223Capability_h223MultiplexTableCapability_enhanced;
  5126.  
  5127. class H245_H223Capability_h223MultiplexTableCapability : public PASN_Choice
  5128. {
  5129. #ifndef PASN_LEANANDMEAN
  5130.     PCLASSINFO(H245_H223Capability_h223MultiplexTableCapability, PASN_Choice);
  5131. #endif
  5132.   public:
  5133.     H245_H223Capability_h223MultiplexTableCapability(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  5134.  
  5135.     enum Choices {
  5136.       e_basic,
  5137.       e_enhanced
  5138.     };
  5139.  
  5140. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  5141.     operator H245_H223Capability_h223MultiplexTableCapability_enhanced &() const;
  5142. #else
  5143.     operator H245_H223Capability_h223MultiplexTableCapability_enhanced &();
  5144.     operator const H245_H223Capability_h223MultiplexTableCapability_enhanced &() const;
  5145. #endif
  5146.  
  5147.     BOOL CreateObject();
  5148.     PObject * Clone() const;
  5149. };
  5150.  
  5151.  
  5152. //
  5153. // H223Capability_mobileOperationTransmitCapability
  5154. //
  5155.  
  5156. class H245_H223Capability_mobileOperationTransmitCapability : public PASN_Sequence
  5157. {
  5158. #ifndef PASN_LEANANDMEAN
  5159.     PCLASSINFO(H245_H223Capability_mobileOperationTransmitCapability, PASN_Sequence);
  5160. #endif
  5161.   public:
  5162.     H245_H223Capability_mobileOperationTransmitCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5163.  
  5164.     PASN_Boolean m_modeChangeCapability;
  5165.     PASN_Boolean m_h223AnnexA;
  5166.     PASN_Boolean m_h223AnnexADoubleFlag;
  5167.     PASN_Boolean m_h223AnnexB;
  5168.     PASN_Boolean m_h223AnnexBwithHeader;
  5169.  
  5170.     PINDEX GetDataLength() const;
  5171.     BOOL Decode(PASN_Stream & strm);
  5172.     void Encode(PASN_Stream & strm) const;
  5173. #ifndef PASN_NOPRINTON
  5174.     void PrintOn(ostream & strm) const;
  5175. #endif
  5176.     Comparison Compare(const PObject & obj) const;
  5177.     PObject * Clone() const;
  5178. };
  5179.  
  5180.  
  5181. //
  5182. // H223Capability_mobileMultilinkFrameCapability
  5183. //
  5184.  
  5185. class H245_H223Capability_mobileMultilinkFrameCapability : public PASN_Sequence
  5186. {
  5187. #ifndef PASN_LEANANDMEAN
  5188.     PCLASSINFO(H245_H223Capability_mobileMultilinkFrameCapability, PASN_Sequence);
  5189. #endif
  5190.   public:
  5191.     H245_H223Capability_mobileMultilinkFrameCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5192.  
  5193.     PASN_Integer m_maximumSampleSize;
  5194.     PASN_Integer m_maximumPayloadLength;
  5195.  
  5196.     PINDEX GetDataLength() const;
  5197.     BOOL Decode(PASN_Stream & strm);
  5198.     void Encode(PASN_Stream & strm) const;
  5199. #ifndef PASN_NOPRINTON
  5200.     void PrintOn(ostream & strm) const;
  5201. #endif
  5202.     Comparison Compare(const PObject & obj) const;
  5203.     PObject * Clone() const;
  5204. };
  5205.  
  5206.  
  5207. //
  5208. // H2250Capability_mcCapability
  5209. //
  5210.  
  5211. class H245_H2250Capability_mcCapability : public PASN_Sequence
  5212. {
  5213. #ifndef PASN_LEANANDMEAN
  5214.     PCLASSINFO(H245_H2250Capability_mcCapability, PASN_Sequence);
  5215. #endif
  5216.   public:
  5217.     H245_H2250Capability_mcCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5218.  
  5219.     PASN_Boolean m_centralizedConferenceMC;
  5220.     PASN_Boolean m_decentralizedConferenceMC;
  5221.  
  5222.     PINDEX GetDataLength() const;
  5223.     BOOL Decode(PASN_Stream & strm);
  5224.     void Encode(PASN_Stream & strm) const;
  5225. #ifndef PASN_NOPRINTON
  5226.     void PrintOn(ostream & strm) const;
  5227. #endif
  5228.     Comparison Compare(const PObject & obj) const;
  5229.     PObject * Clone() const;
  5230. };
  5231.  
  5232.  
  5233. //
  5234. // ArrayOf_RedundancyEncodingCapability
  5235. //
  5236.  
  5237. class H245_RedundancyEncodingCapability;
  5238.  
  5239. class H245_ArrayOf_RedundancyEncodingCapability : public PASN_Array
  5240. {
  5241. #ifndef PASN_LEANANDMEAN
  5242.     PCLASSINFO(H245_ArrayOf_RedundancyEncodingCapability, PASN_Array);
  5243. #endif
  5244.   public:
  5245.     H245_ArrayOf_RedundancyEncodingCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5246.  
  5247.     PASN_Object * CreateObject() const;
  5248.     H245_RedundancyEncodingCapability & operator[](PINDEX i) const;
  5249.     PObject * Clone() const;
  5250. };
  5251.  
  5252.  
  5253. //
  5254. // ArrayOf_RTPPayloadType
  5255. //
  5256.  
  5257. class H245_RTPPayloadType;
  5258.  
  5259. class H245_ArrayOf_RTPPayloadType : public PASN_Array
  5260. {
  5261. #ifndef PASN_LEANANDMEAN
  5262.     PCLASSINFO(H245_ArrayOf_RTPPayloadType, PASN_Array);
  5263. #endif
  5264.   public:
  5265.     H245_ArrayOf_RTPPayloadType(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5266.  
  5267.     PASN_Object * CreateObject() const;
  5268.     H245_RTPPayloadType & operator[](PINDEX i) const;
  5269.     PObject * Clone() const;
  5270. };
  5271.  
  5272.  
  5273. //
  5274. // MediaTransportType_atm-AAL5-compressed
  5275. //
  5276.  
  5277. class H245_MediaTransportType_atm_AAL5_compressed : public PASN_Sequence
  5278. {
  5279. #ifndef PASN_LEANANDMEAN
  5280.     PCLASSINFO(H245_MediaTransportType_atm_AAL5_compressed, PASN_Sequence);
  5281. #endif
  5282.   public:
  5283.     H245_MediaTransportType_atm_AAL5_compressed(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5284.  
  5285.     PASN_Boolean m_variable_delta;
  5286.  
  5287.     PINDEX GetDataLength() const;
  5288.     BOOL Decode(PASN_Stream & strm);
  5289.     void Encode(PASN_Stream & strm) const;
  5290. #ifndef PASN_NOPRINTON
  5291.     void PrintOn(ostream & strm) const;
  5292. #endif
  5293.     Comparison Compare(const PObject & obj) const;
  5294.     PObject * Clone() const;
  5295. };
  5296.  
  5297.  
  5298. //
  5299. // ArrayOf_QOSCapability
  5300. //
  5301.  
  5302. class H245_QOSCapability;
  5303.  
  5304. class H245_ArrayOf_QOSCapability : public PASN_Array
  5305. {
  5306. #ifndef PASN_LEANANDMEAN
  5307.     PCLASSINFO(H245_ArrayOf_QOSCapability, PASN_Array);
  5308. #endif
  5309.   public:
  5310.     H245_ArrayOf_QOSCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5311.  
  5312.     PASN_Object * CreateObject() const;
  5313.     H245_QOSCapability & operator[](PINDEX i) const;
  5314.     PObject * Clone() const;
  5315. };
  5316.  
  5317.  
  5318. //
  5319. // ArrayOf_MediaChannelCapability
  5320. //
  5321.  
  5322. class H245_MediaChannelCapability;
  5323.  
  5324. class H245_ArrayOf_MediaChannelCapability : public PASN_Array
  5325. {
  5326. #ifndef PASN_LEANANDMEAN
  5327.     PCLASSINFO(H245_ArrayOf_MediaChannelCapability, PASN_Array);
  5328. #endif
  5329.   public:
  5330.     H245_ArrayOf_MediaChannelCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5331.  
  5332.     PASN_Object * CreateObject() const;
  5333.     H245_MediaChannelCapability & operator[](PINDEX i) const;
  5334.     PObject * Clone() const;
  5335. };
  5336.  
  5337.  
  5338. //
  5339. // ArrayOf_CapabilityTableEntryNumber
  5340. //
  5341.  
  5342. class H245_CapabilityTableEntryNumber;
  5343.  
  5344. class H245_ArrayOf_CapabilityTableEntryNumber : public PASN_Array
  5345. {
  5346. #ifndef PASN_LEANANDMEAN
  5347.     PCLASSINFO(H245_ArrayOf_CapabilityTableEntryNumber, PASN_Array);
  5348. #endif
  5349.   public:
  5350.     H245_ArrayOf_CapabilityTableEntryNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5351.  
  5352.     PASN_Object * CreateObject() const;
  5353.     H245_CapabilityTableEntryNumber & operator[](PINDEX i) const;
  5354.     PObject * Clone() const;
  5355. };
  5356.  
  5357.  
  5358. //
  5359. // RTPH263VideoRedundancyEncoding_frameToThreadMapping
  5360. //
  5361.  
  5362. class H245_ArrayOf_RTPH263VideoRedundancyFrameMapping;
  5363.  
  5364. class H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping : public PASN_Choice
  5365. {
  5366. #ifndef PASN_LEANANDMEAN
  5367.     PCLASSINFO(H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping, PASN_Choice);
  5368. #endif
  5369.   public:
  5370.     H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  5371.  
  5372.     enum Choices {
  5373.       e_roundrobin,
  5374.       e_custom
  5375.     };
  5376.  
  5377. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  5378.     operator H245_ArrayOf_RTPH263VideoRedundancyFrameMapping &() const;
  5379. #else
  5380.     operator H245_ArrayOf_RTPH263VideoRedundancyFrameMapping &();
  5381.     operator const H245_ArrayOf_RTPH263VideoRedundancyFrameMapping &() const;
  5382. #endif
  5383.  
  5384.     BOOL CreateObject();
  5385.     PObject * Clone() const;
  5386. };
  5387.  
  5388.  
  5389. //
  5390. // RTPH263VideoRedundancyEncoding_containedThreads
  5391. //
  5392.  
  5393. class H245_RTPH263VideoRedundancyEncoding_containedThreads : public PASN_Array
  5394. {
  5395. #ifndef PASN_LEANANDMEAN
  5396.     PCLASSINFO(H245_RTPH263VideoRedundancyEncoding_containedThreads, PASN_Array);
  5397. #endif
  5398.   public:
  5399.     H245_RTPH263VideoRedundancyEncoding_containedThreads(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5400.  
  5401.     PASN_Object * CreateObject() const;
  5402.     PASN_Integer & operator[](PINDEX i) const;
  5403.     PObject * Clone() const;
  5404. };
  5405.  
  5406.  
  5407. //
  5408. // RTPH263VideoRedundancyFrameMapping_frameSequence
  5409. //
  5410.  
  5411. class H245_RTPH263VideoRedundancyFrameMapping_frameSequence : public PASN_Array
  5412. {
  5413. #ifndef PASN_LEANANDMEAN
  5414.     PCLASSINFO(H245_RTPH263VideoRedundancyFrameMapping_frameSequence, PASN_Array);
  5415. #endif
  5416.   public:
  5417.     H245_RTPH263VideoRedundancyFrameMapping_frameSequence(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5418.  
  5419.     PASN_Object * CreateObject() const;
  5420.     PASN_Integer & operator[](PINDEX i) const;
  5421.     PObject * Clone() const;
  5422. };
  5423.  
  5424.  
  5425. //
  5426. // ArrayOf_MediaDistributionCapability
  5427. //
  5428.  
  5429. class H245_MediaDistributionCapability;
  5430.  
  5431. class H245_ArrayOf_MediaDistributionCapability : public PASN_Array
  5432. {
  5433. #ifndef PASN_LEANANDMEAN
  5434.     PCLASSINFO(H245_ArrayOf_MediaDistributionCapability, PASN_Array);
  5435. #endif
  5436.   public:
  5437.     H245_ArrayOf_MediaDistributionCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5438.  
  5439.     PASN_Object * CreateObject() const;
  5440.     H245_MediaDistributionCapability & operator[](PINDEX i) const;
  5441.     PObject * Clone() const;
  5442. };
  5443.  
  5444.  
  5445. //
  5446. // ArrayOf_DataApplicationCapability
  5447. //
  5448.  
  5449. class H245_DataApplicationCapability;
  5450.  
  5451. class H245_ArrayOf_DataApplicationCapability : public PASN_Array
  5452. {
  5453. #ifndef PASN_LEANANDMEAN
  5454.     PCLASSINFO(H245_ArrayOf_DataApplicationCapability, PASN_Array);
  5455. #endif
  5456.   public:
  5457.     H245_ArrayOf_DataApplicationCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5458.  
  5459.     PASN_Object * CreateObject() const;
  5460.     H245_DataApplicationCapability & operator[](PINDEX i) const;
  5461.     PObject * Clone() const;
  5462. };
  5463.  
  5464.  
  5465. //
  5466. // ArrayOf_EnhancementOptions
  5467. //
  5468.  
  5469. class H245_EnhancementOptions;
  5470.  
  5471. class H245_ArrayOf_EnhancementOptions : public PASN_Array
  5472. {
  5473. #ifndef PASN_LEANANDMEAN
  5474.     PCLASSINFO(H245_ArrayOf_EnhancementOptions, PASN_Array);
  5475. #endif
  5476.   public:
  5477.     H245_ArrayOf_EnhancementOptions(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  5478.  
  5479.     PASN_Object * CreateObject() const;
  5480.     H245_EnhancementOptions & operator[](PINDEX i) const;
  5481.     PObject * Clone() const;
  5482. };
  5483.  
  5484.  
  5485. //
  5486. // ArrayOf_BEnhancementParameters
  5487. //
  5488.  
  5489. class H245_BEnhancementParameters;
  5490.  
  5491. class H245_ArrayOf_BEnhancementParameters : public PASN_Array
  5492. {
  5493. #ifndef PASN_LEANANDMEAN
  5494.     PCLASSINFO(H245_ArrayOf_BEnhancementParameters, PASN_Array);
  5495. #endif
  5496.   public:
  5497.     H245_ArrayOf_BEnhancementParameters(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  5498.  
  5499.     PASN_Object * CreateObject() const;
  5500.     H245_BEnhancementParameters & operator[](PINDEX i) const;
  5501.     PObject * Clone() const;
  5502. };
  5503.  
  5504.  
  5505. //
  5506. // ArrayOf_CustomPictureClockFrequency
  5507. //
  5508.  
  5509. class H245_CustomPictureClockFrequency;
  5510.  
  5511. class H245_ArrayOf_CustomPictureClockFrequency : public PASN_Array
  5512. {
  5513. #ifndef PASN_LEANANDMEAN
  5514.     PCLASSINFO(H245_ArrayOf_CustomPictureClockFrequency, PASN_Array);
  5515. #endif
  5516.   public:
  5517.     H245_ArrayOf_CustomPictureClockFrequency(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  5518.  
  5519.     PASN_Object * CreateObject() const;
  5520.     H245_CustomPictureClockFrequency & operator[](PINDEX i) const;
  5521.     PObject * Clone() const;
  5522. };
  5523.  
  5524.  
  5525. //
  5526. // ArrayOf_CustomPictureFormat
  5527. //
  5528.  
  5529. class H245_CustomPictureFormat;
  5530.  
  5531. class H245_ArrayOf_CustomPictureFormat : public PASN_Array
  5532. {
  5533. #ifndef PASN_LEANANDMEAN
  5534.     PCLASSINFO(H245_ArrayOf_CustomPictureFormat, PASN_Array);
  5535. #endif
  5536.   public:
  5537.     H245_ArrayOf_CustomPictureFormat(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  5538.  
  5539.     PASN_Object * CreateObject() const;
  5540.     H245_CustomPictureFormat & operator[](PINDEX i) const;
  5541.     PObject * Clone() const;
  5542. };
  5543.  
  5544.  
  5545. //
  5546. // ArrayOf_H263VideoModeCombos
  5547. //
  5548.  
  5549. class H245_H263VideoModeCombos;
  5550.  
  5551. class H245_ArrayOf_H263VideoModeCombos : public PASN_Array
  5552. {
  5553. #ifndef PASN_LEANANDMEAN
  5554.     PCLASSINFO(H245_ArrayOf_H263VideoModeCombos, PASN_Array);
  5555. #endif
  5556.   public:
  5557.     H245_ArrayOf_H263VideoModeCombos(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  5558.  
  5559.     PASN_Object * CreateObject() const;
  5560.     H245_H263VideoModeCombos & operator[](PINDEX i) const;
  5561.     PObject * Clone() const;
  5562. };
  5563.  
  5564.  
  5565. //
  5566. // RefPictureSelection_additionalPictureMemory
  5567. //
  5568.  
  5569. class H245_RefPictureSelection_additionalPictureMemory : public PASN_Sequence
  5570. {
  5571. #ifndef PASN_LEANANDMEAN
  5572.     PCLASSINFO(H245_RefPictureSelection_additionalPictureMemory, PASN_Sequence);
  5573. #endif
  5574.   public:
  5575.     H245_RefPictureSelection_additionalPictureMemory(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5576.  
  5577.     enum OptionalFields {
  5578.       e_sqcifAdditionalPictureMemory,
  5579.       e_qcifAdditionalPictureMemory,
  5580.       e_cifAdditionalPictureMemory,
  5581.       e_cif4AdditionalPictureMemory,
  5582.       e_cif16AdditionalPictureMemory,
  5583.       e_bigCpfAdditionalPictureMemory
  5584.     };
  5585.  
  5586.     PASN_Integer m_sqcifAdditionalPictureMemory;
  5587.     PASN_Integer m_qcifAdditionalPictureMemory;
  5588.     PASN_Integer m_cifAdditionalPictureMemory;
  5589.     PASN_Integer m_cif4AdditionalPictureMemory;
  5590.     PASN_Integer m_cif16AdditionalPictureMemory;
  5591.     PASN_Integer m_bigCpfAdditionalPictureMemory;
  5592.  
  5593.     PINDEX GetDataLength() const;
  5594.     BOOL Decode(PASN_Stream & strm);
  5595.     void Encode(PASN_Stream & strm) const;
  5596. #ifndef PASN_NOPRINTON
  5597.     void PrintOn(ostream & strm) const;
  5598. #endif
  5599.     Comparison Compare(const PObject & obj) const;
  5600.     PObject * Clone() const;
  5601. };
  5602.  
  5603.  
  5604. //
  5605. // RefPictureSelection_videoBackChannelSend
  5606. //
  5607.  
  5608. class H245_RefPictureSelection_videoBackChannelSend : public PASN_Choice
  5609. {
  5610. #ifndef PASN_LEANANDMEAN
  5611.     PCLASSINFO(H245_RefPictureSelection_videoBackChannelSend, PASN_Choice);
  5612. #endif
  5613.   public:
  5614.     H245_RefPictureSelection_videoBackChannelSend(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  5615.  
  5616.     enum Choices {
  5617.       e_none,
  5618.       e_ackMessageOnly,
  5619.       e_nackMessageOnly,
  5620.       e_ackOrNackMessageOnly,
  5621.       e_ackAndNackMessage
  5622.     };
  5623.  
  5624.     BOOL CreateObject();
  5625.     PObject * Clone() const;
  5626. };
  5627.  
  5628.  
  5629. //
  5630. // CustomPictureFormat_pixelAspectInformation
  5631. //
  5632.  
  5633. class H245_CustomPictureFormat_pixelAspectInformation_pixelAspectCode;
  5634. class H245_CustomPictureFormat_pixelAspectInformation_extendedPAR;
  5635.  
  5636. class H245_CustomPictureFormat_pixelAspectInformation : public PASN_Choice
  5637. {
  5638. #ifndef PASN_LEANANDMEAN
  5639.     PCLASSINFO(H245_CustomPictureFormat_pixelAspectInformation, PASN_Choice);
  5640. #endif
  5641.   public:
  5642.     H245_CustomPictureFormat_pixelAspectInformation(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  5643.  
  5644.     enum Choices {
  5645.       e_anyPixelAspectRatio,
  5646.       e_pixelAspectCode,
  5647.       e_extendedPAR
  5648.     };
  5649.  
  5650. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  5651.     operator H245_CustomPictureFormat_pixelAspectInformation_pixelAspectCode &() const;
  5652. #else
  5653.     operator H245_CustomPictureFormat_pixelAspectInformation_pixelAspectCode &();
  5654.     operator const H245_CustomPictureFormat_pixelAspectInformation_pixelAspectCode &() const;
  5655. #endif
  5656. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  5657.     operator H245_CustomPictureFormat_pixelAspectInformation_extendedPAR &() const;
  5658. #else
  5659.     operator H245_CustomPictureFormat_pixelAspectInformation_extendedPAR &();
  5660.     operator const H245_CustomPictureFormat_pixelAspectInformation_extendedPAR &() const;
  5661. #endif
  5662.  
  5663.     BOOL CreateObject();
  5664.     PObject * Clone() const;
  5665. };
  5666.  
  5667.  
  5668. //
  5669. // ArrayOf_H263ModeComboFlags
  5670. //
  5671.  
  5672. class H245_H263ModeComboFlags;
  5673.  
  5674. class H245_ArrayOf_H263ModeComboFlags : public PASN_Array
  5675. {
  5676. #ifndef PASN_LEANANDMEAN
  5677.     PCLASSINFO(H245_ArrayOf_H263ModeComboFlags, PASN_Array);
  5678. #endif
  5679.   public:
  5680.     H245_ArrayOf_H263ModeComboFlags(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  5681.  
  5682.     PASN_Object * CreateObject() const;
  5683.     H245_H263ModeComboFlags & operator[](PINDEX i) const;
  5684.     PObject * Clone() const;
  5685. };
  5686.  
  5687.  
  5688. //
  5689. // AudioCapability_g7231
  5690. //
  5691.  
  5692. class H245_AudioCapability_g7231 : public PASN_Sequence
  5693. {
  5694. #ifndef PASN_LEANANDMEAN
  5695.     PCLASSINFO(H245_AudioCapability_g7231, PASN_Sequence);
  5696. #endif
  5697.   public:
  5698.     H245_AudioCapability_g7231(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5699.  
  5700.     PASN_Integer m_maxAl_sduAudioFrames;
  5701.     PASN_Boolean m_silenceSuppression;
  5702.  
  5703.     PINDEX GetDataLength() const;
  5704.     BOOL Decode(PASN_Stream & strm);
  5705.     void Encode(PASN_Stream & strm) const;
  5706. #ifndef PASN_NOPRINTON
  5707.     void PrintOn(ostream & strm) const;
  5708. #endif
  5709.     Comparison Compare(const PObject & obj) const;
  5710.     PObject * Clone() const;
  5711. };
  5712.  
  5713.  
  5714. //
  5715. // G7231AnnexCCapability_g723AnnexCAudioMode
  5716. //
  5717.  
  5718. class H245_G7231AnnexCCapability_g723AnnexCAudioMode : public PASN_Sequence
  5719. {
  5720. #ifndef PASN_LEANANDMEAN
  5721.     PCLASSINFO(H245_G7231AnnexCCapability_g723AnnexCAudioMode, PASN_Sequence);
  5722. #endif
  5723.   public:
  5724.     H245_G7231AnnexCCapability_g723AnnexCAudioMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5725.  
  5726.     PASN_Integer m_highRateMode0;
  5727.     PASN_Integer m_highRateMode1;
  5728.     PASN_Integer m_lowRateMode0;
  5729.     PASN_Integer m_lowRateMode1;
  5730.     PASN_Integer m_sidMode0;
  5731.     PASN_Integer m_sidMode1;
  5732.  
  5733.     PINDEX GetDataLength() const;
  5734.     BOOL Decode(PASN_Stream & strm);
  5735.     void Encode(PASN_Stream & strm) const;
  5736. #ifndef PASN_NOPRINTON
  5737.     void PrintOn(ostream & strm) const;
  5738. #endif
  5739.     Comparison Compare(const PObject & obj) const;
  5740.     PObject * Clone() const;
  5741. };
  5742.  
  5743.  
  5744. //
  5745. // DataApplicationCapability_application
  5746. //
  5747.  
  5748. class H245_NonStandardParameter;
  5749. class H245_DataProtocolCapability;
  5750. class H245_DataProtocolCapability;
  5751. class H245_DataProtocolCapability;
  5752. class H245_DataApplicationCapability_application_t84;
  5753. class H245_DataProtocolCapability;
  5754. class H245_DataProtocolCapability;
  5755. class H245_DataApplicationCapability_application_nlpid;
  5756. class H245_DataProtocolCapability;
  5757. class H245_DataProtocolCapability;
  5758. class H245_DataProtocolCapability;
  5759. class H245_DataApplicationCapability_application_t38fax;
  5760. class H245_GenericCapability;
  5761.  
  5762. class H245_DataApplicationCapability_application : public PASN_Choice
  5763. {
  5764. #ifndef PASN_LEANANDMEAN
  5765.     PCLASSINFO(H245_DataApplicationCapability_application, PASN_Choice);
  5766. #endif
  5767.   public:
  5768.     H245_DataApplicationCapability_application(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  5769.  
  5770.     enum Choices {
  5771.       e_nonStandard,
  5772.       e_t120,
  5773.       e_dsm_cc,
  5774.       e_userData,
  5775.       e_t84,
  5776.       e_t434,
  5777.       e_h224,
  5778.       e_nlpid,
  5779.       e_dsvdControl,
  5780.       e_h222DataPartitioning,
  5781.       e_t30fax,
  5782.       e_t140,
  5783.       e_t38fax,
  5784.       e_genericDataCapability
  5785.     };
  5786.  
  5787. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  5788.     operator H245_NonStandardParameter &() const;
  5789. #else
  5790.     operator H245_NonStandardParameter &();
  5791.     operator const H245_NonStandardParameter &() const;
  5792. #endif
  5793. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  5794.     operator H245_DataProtocolCapability &() const;
  5795. #else
  5796.     operator H245_DataProtocolCapability &();
  5797.     operator const H245_DataProtocolCapability &() const;
  5798. #endif
  5799. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  5800.     operator H245_DataApplicationCapability_application_t84 &() const;
  5801. #else
  5802.     operator H245_DataApplicationCapability_application_t84 &();
  5803.     operator const H245_DataApplicationCapability_application_t84 &() const;
  5804. #endif
  5805. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  5806.     operator H245_DataApplicationCapability_application_nlpid &() const;
  5807. #else
  5808.     operator H245_DataApplicationCapability_application_nlpid &();
  5809.     operator const H245_DataApplicationCapability_application_nlpid &() const;
  5810. #endif
  5811. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  5812.     operator H245_DataApplicationCapability_application_t38fax &() const;
  5813. #else
  5814.     operator H245_DataApplicationCapability_application_t38fax &();
  5815.     operator const H245_DataApplicationCapability_application_t38fax &() const;
  5816. #endif
  5817. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  5818.     operator H245_GenericCapability &() const;
  5819. #else
  5820.     operator H245_GenericCapability &();
  5821.     operator const H245_GenericCapability &() const;
  5822. #endif
  5823.  
  5824.     BOOL CreateObject();
  5825.     PObject * Clone() const;
  5826. };
  5827.  
  5828.  
  5829. //
  5830. // DataProtocolCapability_v76wCompression
  5831. //
  5832.  
  5833. class H245_CompressionType;
  5834. class H245_CompressionType;
  5835. class H245_CompressionType;
  5836.  
  5837. class H245_DataProtocolCapability_v76wCompression : public PASN_Choice
  5838. {
  5839. #ifndef PASN_LEANANDMEAN
  5840.     PCLASSINFO(H245_DataProtocolCapability_v76wCompression, PASN_Choice);
  5841. #endif
  5842.   public:
  5843.     H245_DataProtocolCapability_v76wCompression(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  5844.  
  5845.     enum Choices {
  5846.       e_transmitCompression,
  5847.       e_receiveCompression,
  5848.       e_transmitAndReceiveCompression
  5849.     };
  5850.  
  5851. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  5852.     operator H245_CompressionType &() const;
  5853. #else
  5854.     operator H245_CompressionType &();
  5855.     operator const H245_CompressionType &() const;
  5856. #endif
  5857.  
  5858.     BOOL CreateObject();
  5859.     PObject * Clone() const;
  5860. };
  5861.  
  5862.  
  5863. //
  5864. // T84Profile_t84Restricted
  5865. //
  5866.  
  5867. class H245_T84Profile_t84Restricted : public PASN_Sequence
  5868. {
  5869. #ifndef PASN_LEANANDMEAN
  5870.     PCLASSINFO(H245_T84Profile_t84Restricted, PASN_Sequence);
  5871. #endif
  5872.   public:
  5873.     H245_T84Profile_t84Restricted(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5874.  
  5875.     PASN_Boolean m_qcif;
  5876.     PASN_Boolean m_cif;
  5877.     PASN_Boolean m_ccir601Seq;
  5878.     PASN_Boolean m_ccir601Prog;
  5879.     PASN_Boolean m_hdtvSeq;
  5880.     PASN_Boolean m_hdtvProg;
  5881.     PASN_Boolean m_g3FacsMH200x100;
  5882.     PASN_Boolean m_g3FacsMH200x200;
  5883.     PASN_Boolean m_g4FacsMMR200x100;
  5884.     PASN_Boolean m_g4FacsMMR200x200;
  5885.     PASN_Boolean m_jbig200x200Seq;
  5886.     PASN_Boolean m_jbig200x200Prog;
  5887.     PASN_Boolean m_jbig300x300Seq;
  5888.     PASN_Boolean m_jbig300x300Prog;
  5889.     PASN_Boolean m_digPhotoLow;
  5890.     PASN_Boolean m_digPhotoMedSeq;
  5891.     PASN_Boolean m_digPhotoMedProg;
  5892.     PASN_Boolean m_digPhotoHighSeq;
  5893.     PASN_Boolean m_digPhotoHighProg;
  5894.  
  5895.     PINDEX GetDataLength() const;
  5896.     BOOL Decode(PASN_Stream & strm);
  5897.     void Encode(PASN_Stream & strm) const;
  5898. #ifndef PASN_NOPRINTON
  5899.     void PrintOn(ostream & strm) const;
  5900. #endif
  5901.     Comparison Compare(const PObject & obj) const;
  5902.     PObject * Clone() const;
  5903. };
  5904.  
  5905.  
  5906. //
  5907. // T38FaxUdpOptions_t38FaxUdpEC
  5908. //
  5909.  
  5910. class H245_T38FaxUdpOptions_t38FaxUdpEC : public PASN_Choice
  5911. {
  5912. #ifndef PASN_LEANANDMEAN
  5913.     PCLASSINFO(H245_T38FaxUdpOptions_t38FaxUdpEC, PASN_Choice);
  5914. #endif
  5915.   public:
  5916.     H245_T38FaxUdpOptions_t38FaxUdpEC(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  5917.  
  5918.     enum Choices {
  5919.       e_t38UDPFEC,
  5920.       e_t38UDPRedundancy
  5921.     };
  5922.  
  5923.     BOOL CreateObject();
  5924.     PObject * Clone() const;
  5925. };
  5926.  
  5927.  
  5928. //
  5929. // ArrayOf_NonStandardParameter
  5930. //
  5931.  
  5932. class H245_NonStandardParameter;
  5933.  
  5934. class H245_ArrayOf_NonStandardParameter : public PASN_Array
  5935. {
  5936. #ifndef PASN_LEANANDMEAN
  5937.     PCLASSINFO(H245_ArrayOf_NonStandardParameter, PASN_Array);
  5938. #endif
  5939.   public:
  5940.     H245_ArrayOf_NonStandardParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5941.  
  5942.     PASN_Object * CreateObject() const;
  5943.     H245_NonStandardParameter & operator[](PINDEX i) const;
  5944.     PObject * Clone() const;
  5945. };
  5946.  
  5947.  
  5948. //
  5949. // ArrayOf_GenericParameter
  5950. //
  5951.  
  5952. class H245_GenericParameter;
  5953.  
  5954. class H245_ArrayOf_GenericParameter : public PASN_Array
  5955. {
  5956. #ifndef PASN_LEANANDMEAN
  5957.     PCLASSINFO(H245_ArrayOf_GenericParameter, PASN_Array);
  5958. #endif
  5959.   public:
  5960.     H245_ArrayOf_GenericParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5961.  
  5962.     PASN_Object * CreateObject() const;
  5963.     H245_GenericParameter & operator[](PINDEX i) const;
  5964.     PObject * Clone() const;
  5965. };
  5966.  
  5967.  
  5968. //
  5969. // ArrayOf_ParameterIdentifier
  5970. //
  5971.  
  5972. class H245_ParameterIdentifier;
  5973.  
  5974. class H245_ArrayOf_ParameterIdentifier : public PASN_Array
  5975. {
  5976. #ifndef PASN_LEANANDMEAN
  5977.     PCLASSINFO(H245_ArrayOf_ParameterIdentifier, PASN_Array);
  5978. #endif
  5979.   public:
  5980.     H245_ArrayOf_ParameterIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  5981.  
  5982.     PASN_Object * CreateObject() const;
  5983.     H245_ParameterIdentifier & operator[](PINDEX i) const;
  5984.     PObject * Clone() const;
  5985. };
  5986.  
  5987.  
  5988. //
  5989. // NetworkAccessParameters_distribution
  5990. //
  5991.  
  5992. class H245_NetworkAccessParameters_distribution : public PASN_Choice
  5993. {
  5994. #ifndef PASN_LEANANDMEAN
  5995.     PCLASSINFO(H245_NetworkAccessParameters_distribution, PASN_Choice);
  5996. #endif
  5997.   public:
  5998.     H245_NetworkAccessParameters_distribution(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  5999.  
  6000.     enum Choices {
  6001.       e_unicast,
  6002.       e_multicast
  6003.     };
  6004.  
  6005.     BOOL CreateObject();
  6006.     PObject * Clone() const;
  6007. };
  6008.  
  6009.  
  6010. //
  6011. // NetworkAccessParameters_networkAddress
  6012. //
  6013.  
  6014. class H245_Q2931Address;
  6015. class H245_TransportAddress;
  6016.  
  6017. class H245_NetworkAccessParameters_networkAddress : public PASN_Choice
  6018. {
  6019. #ifndef PASN_LEANANDMEAN
  6020.     PCLASSINFO(H245_NetworkAccessParameters_networkAddress, PASN_Choice);
  6021. #endif
  6022.   public:
  6023.     H245_NetworkAccessParameters_networkAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6024.  
  6025.     enum Choices {
  6026.       e_q2931Address,
  6027.       e_e164Address,
  6028.       e_localAreaAddress
  6029.     };
  6030.  
  6031. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6032.     operator H245_Q2931Address &() const;
  6033. #else
  6034.     operator H245_Q2931Address &();
  6035.     operator const H245_Q2931Address &() const;
  6036. #endif
  6037. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6038.     operator H245_TransportAddress &() const;
  6039. #else
  6040.     operator H245_TransportAddress &();
  6041.     operator const H245_TransportAddress &() const;
  6042. #endif
  6043.  
  6044.     BOOL CreateObject();
  6045.     PObject * Clone() const;
  6046. };
  6047.  
  6048.  
  6049. //
  6050. // NetworkAccessParameters_t120SetupProcedure
  6051. //
  6052.  
  6053. class H245_NetworkAccessParameters_t120SetupProcedure : public PASN_Choice
  6054. {
  6055. #ifndef PASN_LEANANDMEAN
  6056.     PCLASSINFO(H245_NetworkAccessParameters_t120SetupProcedure, PASN_Choice);
  6057. #endif
  6058.   public:
  6059.     H245_NetworkAccessParameters_t120SetupProcedure(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6060.  
  6061.     enum Choices {
  6062.       e_originateCall,
  6063.       e_waitForCall,
  6064.       e_issueQuery
  6065.     };
  6066.  
  6067.     BOOL CreateObject();
  6068.     PObject * Clone() const;
  6069. };
  6070.  
  6071.  
  6072. //
  6073. // Q2931Address_address
  6074. //
  6075.  
  6076. class H245_Q2931Address_address : public PASN_Choice
  6077. {
  6078. #ifndef PASN_LEANANDMEAN
  6079.     PCLASSINFO(H245_Q2931Address_address, PASN_Choice);
  6080. #endif
  6081.   public:
  6082.     H245_Q2931Address_address(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6083.  
  6084.     enum Choices {
  6085.       e_internationalNumber,
  6086.       e_nsapAddress
  6087.     };
  6088.  
  6089.     BOOL CreateObject();
  6090.     PObject * Clone() const;
  6091. };
  6092.  
  6093.  
  6094. //
  6095. // H235Media_mediaType
  6096. //
  6097.  
  6098. class H245_NonStandardParameter;
  6099. class H245_VideoCapability;
  6100. class H245_AudioCapability;
  6101. class H245_DataApplicationCapability;
  6102.  
  6103. class H245_H235Media_mediaType : public PASN_Choice
  6104. {
  6105. #ifndef PASN_LEANANDMEAN
  6106.     PCLASSINFO(H245_H235Media_mediaType, PASN_Choice);
  6107. #endif
  6108.   public:
  6109.     H245_H235Media_mediaType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6110.  
  6111.     enum Choices {
  6112.       e_nonStandard,
  6113.       e_videoData,
  6114.       e_audioData,
  6115.       e_data
  6116.     };
  6117.  
  6118. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6119.     operator H245_NonStandardParameter &() const;
  6120. #else
  6121.     operator H245_NonStandardParameter &();
  6122.     operator const H245_NonStandardParameter &() const;
  6123. #endif
  6124. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6125.     operator H245_VideoCapability &() const;
  6126. #else
  6127.     operator H245_VideoCapability &();
  6128.     operator const H245_VideoCapability &() const;
  6129. #endif
  6130. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6131.     operator H245_AudioCapability &() const;
  6132. #else
  6133.     operator H245_AudioCapability &();
  6134.     operator const H245_AudioCapability &() const;
  6135. #endif
  6136. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6137.     operator H245_DataApplicationCapability &() const;
  6138. #else
  6139.     operator H245_DataApplicationCapability &();
  6140.     operator const H245_DataApplicationCapability &() const;
  6141. #endif
  6142.  
  6143.     BOOL CreateObject();
  6144.     PObject * Clone() const;
  6145. };
  6146.  
  6147.  
  6148. //
  6149. // H223LogicalChannelParameters_adaptationLayerType
  6150. //
  6151.  
  6152. class H245_NonStandardParameter;
  6153. class H245_H223LogicalChannelParameters_adaptationLayerType_al3;
  6154. class H245_H223AL1MParameters;
  6155. class H245_H223AL2MParameters;
  6156. class H245_H223AL3MParameters;
  6157.  
  6158. class H245_H223LogicalChannelParameters_adaptationLayerType : public PASN_Choice
  6159. {
  6160. #ifndef PASN_LEANANDMEAN
  6161.     PCLASSINFO(H245_H223LogicalChannelParameters_adaptationLayerType, PASN_Choice);
  6162. #endif
  6163.   public:
  6164.     H245_H223LogicalChannelParameters_adaptationLayerType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6165.  
  6166.     enum Choices {
  6167.       e_nonStandard,
  6168.       e_al1Framed,
  6169.       e_al1NotFramed,
  6170.       e_al2WithoutSequenceNumbers,
  6171.       e_al2WithSequenceNumbers,
  6172.       e_al3,
  6173.       e_al1M,
  6174.       e_al2M,
  6175.       e_al3M
  6176.     };
  6177.  
  6178. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6179.     operator H245_NonStandardParameter &() const;
  6180. #else
  6181.     operator H245_NonStandardParameter &();
  6182.     operator const H245_NonStandardParameter &() const;
  6183. #endif
  6184. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6185.     operator H245_H223LogicalChannelParameters_adaptationLayerType_al3 &() const;
  6186. #else
  6187.     operator H245_H223LogicalChannelParameters_adaptationLayerType_al3 &();
  6188.     operator const H245_H223LogicalChannelParameters_adaptationLayerType_al3 &() const;
  6189. #endif
  6190. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6191.     operator H245_H223AL1MParameters &() const;
  6192. #else
  6193.     operator H245_H223AL1MParameters &();
  6194.     operator const H245_H223AL1MParameters &() const;
  6195. #endif
  6196. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6197.     operator H245_H223AL2MParameters &() const;
  6198. #else
  6199.     operator H245_H223AL2MParameters &();
  6200.     operator const H245_H223AL2MParameters &() const;
  6201. #endif
  6202. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6203.     operator H245_H223AL3MParameters &() const;
  6204. #else
  6205.     operator H245_H223AL3MParameters &();
  6206.     operator const H245_H223AL3MParameters &() const;
  6207. #endif
  6208.  
  6209.     BOOL CreateObject();
  6210.     PObject * Clone() const;
  6211. };
  6212.  
  6213.  
  6214. //
  6215. // H223AL1MParameters_transferMode
  6216. //
  6217.  
  6218. class H245_H223AL1MParameters_transferMode : public PASN_Choice
  6219. {
  6220. #ifndef PASN_LEANANDMEAN
  6221.     PCLASSINFO(H245_H223AL1MParameters_transferMode, PASN_Choice);
  6222. #endif
  6223.   public:
  6224.     H245_H223AL1MParameters_transferMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6225.  
  6226.     enum Choices {
  6227.       e_framed,
  6228.       e_unframed
  6229.     };
  6230.  
  6231.     BOOL CreateObject();
  6232.     PObject * Clone() const;
  6233. };
  6234.  
  6235.  
  6236. //
  6237. // H223AL1MParameters_headerFEC
  6238. //
  6239.  
  6240. class H245_H223AL1MParameters_headerFEC : public PASN_Choice
  6241. {
  6242. #ifndef PASN_LEANANDMEAN
  6243.     PCLASSINFO(H245_H223AL1MParameters_headerFEC, PASN_Choice);
  6244. #endif
  6245.   public:
  6246.     H245_H223AL1MParameters_headerFEC(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6247.  
  6248.     enum Choices {
  6249.       e_sebch16_7,
  6250.       e_golay24_12
  6251.     };
  6252.  
  6253.     BOOL CreateObject();
  6254.     PObject * Clone() const;
  6255. };
  6256.  
  6257.  
  6258. //
  6259. // H223AL1MParameters_crcLength
  6260. //
  6261.  
  6262. class H245_H223AL1MParameters_crcLength : public PASN_Choice
  6263. {
  6264. #ifndef PASN_LEANANDMEAN
  6265.     PCLASSINFO(H245_H223AL1MParameters_crcLength, PASN_Choice);
  6266. #endif
  6267.   public:
  6268.     H245_H223AL1MParameters_crcLength(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6269.  
  6270.     enum Choices {
  6271.       e_crc4bit,
  6272.       e_crc12bit,
  6273.       e_crc20bit,
  6274.       e_crc28bit,
  6275.       e_crc8bit,
  6276.       e_crc16bit,
  6277.       e_crc32bit,
  6278.       e_crcNotUsed
  6279.     };
  6280.  
  6281.     BOOL CreateObject();
  6282.     PObject * Clone() const;
  6283. };
  6284.  
  6285.  
  6286. //
  6287. // H223AL1MParameters_arqType
  6288. //
  6289.  
  6290. class H245_H223AnnexCArqParameters;
  6291. class H245_H223AnnexCArqParameters;
  6292.  
  6293. class H245_H223AL1MParameters_arqType : public PASN_Choice
  6294. {
  6295. #ifndef PASN_LEANANDMEAN
  6296.     PCLASSINFO(H245_H223AL1MParameters_arqType, PASN_Choice);
  6297. #endif
  6298.   public:
  6299.     H245_H223AL1MParameters_arqType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6300.  
  6301.     enum Choices {
  6302.       e_noArq,
  6303.       e_typeIArq,
  6304.       e_typeIIArq
  6305.     };
  6306.  
  6307. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6308.     operator H245_H223AnnexCArqParameters &() const;
  6309. #else
  6310.     operator H245_H223AnnexCArqParameters &();
  6311.     operator const H245_H223AnnexCArqParameters &() const;
  6312. #endif
  6313.  
  6314.     BOOL CreateObject();
  6315.     PObject * Clone() const;
  6316. };
  6317.  
  6318.  
  6319. //
  6320. // H223AL2MParameters_headerFEC
  6321. //
  6322.  
  6323. class H245_H223AL2MParameters_headerFEC : public PASN_Choice
  6324. {
  6325. #ifndef PASN_LEANANDMEAN
  6326.     PCLASSINFO(H245_H223AL2MParameters_headerFEC, PASN_Choice);
  6327. #endif
  6328.   public:
  6329.     H245_H223AL2MParameters_headerFEC(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6330.  
  6331.     enum Choices {
  6332.       e_sebch16_5,
  6333.       e_golay24_12
  6334.     };
  6335.  
  6336.     BOOL CreateObject();
  6337.     PObject * Clone() const;
  6338. };
  6339.  
  6340.  
  6341. //
  6342. // H223AL3MParameters_headerFormat
  6343. //
  6344.  
  6345. class H245_H223AL3MParameters_headerFormat : public PASN_Choice
  6346. {
  6347. #ifndef PASN_LEANANDMEAN
  6348.     PCLASSINFO(H245_H223AL3MParameters_headerFormat, PASN_Choice);
  6349. #endif
  6350.   public:
  6351.     H245_H223AL3MParameters_headerFormat(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6352.  
  6353.     enum Choices {
  6354.       e_sebch16_7,
  6355.       e_golay24_12
  6356.     };
  6357.  
  6358.     BOOL CreateObject();
  6359.     PObject * Clone() const;
  6360. };
  6361.  
  6362.  
  6363. //
  6364. // H223AL3MParameters_crcLength
  6365. //
  6366.  
  6367. class H245_H223AL3MParameters_crcLength : public PASN_Choice
  6368. {
  6369. #ifndef PASN_LEANANDMEAN
  6370.     PCLASSINFO(H245_H223AL3MParameters_crcLength, PASN_Choice);
  6371. #endif
  6372.   public:
  6373.     H245_H223AL3MParameters_crcLength(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6374.  
  6375.     enum Choices {
  6376.       e_crc4bit,
  6377.       e_crc12bit,
  6378.       e_crc20bit,
  6379.       e_crc28bit,
  6380.       e_crc8bit,
  6381.       e_crc16bit,
  6382.       e_crc32bit,
  6383.       e_crcNotUsed
  6384.     };
  6385.  
  6386.     BOOL CreateObject();
  6387.     PObject * Clone() const;
  6388. };
  6389.  
  6390.  
  6391. //
  6392. // H223AL3MParameters_arqType
  6393. //
  6394.  
  6395. class H245_H223AnnexCArqParameters;
  6396. class H245_H223AnnexCArqParameters;
  6397.  
  6398. class H245_H223AL3MParameters_arqType : public PASN_Choice
  6399. {
  6400. #ifndef PASN_LEANANDMEAN
  6401.     PCLASSINFO(H245_H223AL3MParameters_arqType, PASN_Choice);
  6402. #endif
  6403.   public:
  6404.     H245_H223AL3MParameters_arqType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6405.  
  6406.     enum Choices {
  6407.       e_noArq,
  6408.       e_typeIArq,
  6409.       e_typeIIArq
  6410.     };
  6411.  
  6412. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6413.     operator H245_H223AnnexCArqParameters &() const;
  6414. #else
  6415.     operator H245_H223AnnexCArqParameters &();
  6416.     operator const H245_H223AnnexCArqParameters &() const;
  6417. #endif
  6418.  
  6419.     BOOL CreateObject();
  6420.     PObject * Clone() const;
  6421. };
  6422.  
  6423.  
  6424. //
  6425. // H223AnnexCArqParameters_numberOfRetransmissions
  6426. //
  6427.  
  6428. class H245_H223AnnexCArqParameters_numberOfRetransmissions : public PASN_Choice
  6429. {
  6430. #ifndef PASN_LEANANDMEAN
  6431.     PCLASSINFO(H245_H223AnnexCArqParameters_numberOfRetransmissions, PASN_Choice);
  6432. #endif
  6433.   public:
  6434.     H245_H223AnnexCArqParameters_numberOfRetransmissions(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6435.  
  6436.     enum Choices {
  6437.       e_finite,
  6438.       e_infinite
  6439.     };
  6440.  
  6441.     BOOL CreateObject();
  6442.     PObject * Clone() const;
  6443. };
  6444.  
  6445.  
  6446. //
  6447. // V76LogicalChannelParameters_suspendResume
  6448. //
  6449.  
  6450. class H245_V76LogicalChannelParameters_suspendResume : public PASN_Choice
  6451. {
  6452. #ifndef PASN_LEANANDMEAN
  6453.     PCLASSINFO(H245_V76LogicalChannelParameters_suspendResume, PASN_Choice);
  6454. #endif
  6455.   public:
  6456.     H245_V76LogicalChannelParameters_suspendResume(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6457.  
  6458.     enum Choices {
  6459.       e_noSuspendResume,
  6460.       e_suspendResumewAddress,
  6461.       e_suspendResumewoAddress
  6462.     };
  6463.  
  6464.     BOOL CreateObject();
  6465.     PObject * Clone() const;
  6466. };
  6467.  
  6468.  
  6469. //
  6470. // V76LogicalChannelParameters_mode
  6471. //
  6472.  
  6473. class H245_V76LogicalChannelParameters_mode_eRM;
  6474.  
  6475. class H245_V76LogicalChannelParameters_mode : public PASN_Choice
  6476. {
  6477. #ifndef PASN_LEANANDMEAN
  6478.     PCLASSINFO(H245_V76LogicalChannelParameters_mode, PASN_Choice);
  6479. #endif
  6480.   public:
  6481.     H245_V76LogicalChannelParameters_mode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6482.  
  6483.     enum Choices {
  6484.       e_eRM,
  6485.       e_uNERM
  6486.     };
  6487.  
  6488. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6489.     operator H245_V76LogicalChannelParameters_mode_eRM &() const;
  6490. #else
  6491.     operator H245_V76LogicalChannelParameters_mode_eRM &();
  6492.     operator const H245_V76LogicalChannelParameters_mode_eRM &() const;
  6493. #endif
  6494.  
  6495.     BOOL CreateObject();
  6496.     PObject * Clone() const;
  6497. };
  6498.  
  6499.  
  6500. //
  6501. // H2250LogicalChannelParameters_mediaPacketization
  6502. //
  6503.  
  6504. class H245_RTPPayloadType;
  6505.  
  6506. class H245_H2250LogicalChannelParameters_mediaPacketization : public PASN_Choice
  6507. {
  6508. #ifndef PASN_LEANANDMEAN
  6509.     PCLASSINFO(H245_H2250LogicalChannelParameters_mediaPacketization, PASN_Choice);
  6510. #endif
  6511.   public:
  6512.     H245_H2250LogicalChannelParameters_mediaPacketization(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6513.  
  6514.     enum Choices {
  6515.       e_h261aVideoPacketization,
  6516.       e_rtpPayloadType
  6517.     };
  6518.  
  6519. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6520.     operator H245_RTPPayloadType &() const;
  6521. #else
  6522.     operator H245_RTPPayloadType &();
  6523.     operator const H245_RTPPayloadType &() const;
  6524. #endif
  6525.  
  6526.     BOOL CreateObject();
  6527.     PObject * Clone() const;
  6528. };
  6529.  
  6530.  
  6531. //
  6532. // RTPPayloadType_payloadDescriptor
  6533. //
  6534.  
  6535. class H245_NonStandardParameter;
  6536.  
  6537. class H245_RTPPayloadType_payloadDescriptor : public PASN_Choice
  6538. {
  6539. #ifndef PASN_LEANANDMEAN
  6540.     PCLASSINFO(H245_RTPPayloadType_payloadDescriptor, PASN_Choice);
  6541. #endif
  6542.   public:
  6543.     H245_RTPPayloadType_payloadDescriptor(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6544.  
  6545.     enum Choices {
  6546.       e_nonStandardIdentifier,
  6547.       e_rfc_number,
  6548.       e_oid
  6549.     };
  6550.  
  6551. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6552.     operator H245_NonStandardParameter &() const;
  6553. #else
  6554.     operator H245_NonStandardParameter &();
  6555.     operator const H245_NonStandardParameter &() const;
  6556. #endif
  6557.  
  6558.     BOOL CreateObject();
  6559.     PObject * Clone() const;
  6560. };
  6561.  
  6562.  
  6563. //
  6564. // UnicastAddress_iPAddress
  6565. //
  6566.  
  6567. class H245_UnicastAddress_iPAddress : public PASN_Sequence
  6568. {
  6569. #ifndef PASN_LEANANDMEAN
  6570.     PCLASSINFO(H245_UnicastAddress_iPAddress, PASN_Sequence);
  6571. #endif
  6572.   public:
  6573.     H245_UnicastAddress_iPAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  6574.  
  6575.     PASN_OctetString m_network;
  6576.     PASN_Integer m_tsapIdentifier;
  6577.  
  6578.     PINDEX GetDataLength() const;
  6579.     BOOL Decode(PASN_Stream & strm);
  6580.     void Encode(PASN_Stream & strm) const;
  6581. #ifndef PASN_NOPRINTON
  6582.     void PrintOn(ostream & strm) const;
  6583. #endif
  6584.     Comparison Compare(const PObject & obj) const;
  6585.     PObject * Clone() const;
  6586. };
  6587.  
  6588.  
  6589. //
  6590. // UnicastAddress_iPXAddress
  6591. //
  6592.  
  6593. class H245_UnicastAddress_iPXAddress : public PASN_Sequence
  6594. {
  6595. #ifndef PASN_LEANANDMEAN
  6596.     PCLASSINFO(H245_UnicastAddress_iPXAddress, PASN_Sequence);
  6597. #endif
  6598.   public:
  6599.     H245_UnicastAddress_iPXAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  6600.  
  6601.     PASN_OctetString m_node;
  6602.     PASN_OctetString m_netnum;
  6603.     PASN_OctetString m_tsapIdentifier;
  6604.  
  6605.     PINDEX GetDataLength() const;
  6606.     BOOL Decode(PASN_Stream & strm);
  6607.     void Encode(PASN_Stream & strm) const;
  6608. #ifndef PASN_NOPRINTON
  6609.     void PrintOn(ostream & strm) const;
  6610. #endif
  6611.     Comparison Compare(const PObject & obj) const;
  6612.     PObject * Clone() const;
  6613. };
  6614.  
  6615.  
  6616. //
  6617. // UnicastAddress_iP6Address
  6618. //
  6619.  
  6620. class H245_UnicastAddress_iP6Address : public PASN_Sequence
  6621. {
  6622. #ifndef PASN_LEANANDMEAN
  6623.     PCLASSINFO(H245_UnicastAddress_iP6Address, PASN_Sequence);
  6624. #endif
  6625.   public:
  6626.     H245_UnicastAddress_iP6Address(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  6627.  
  6628.     PASN_OctetString m_network;
  6629.     PASN_Integer m_tsapIdentifier;
  6630.  
  6631.     PINDEX GetDataLength() const;
  6632.     BOOL Decode(PASN_Stream & strm);
  6633.     void Encode(PASN_Stream & strm) const;
  6634. #ifndef PASN_NOPRINTON
  6635.     void PrintOn(ostream & strm) const;
  6636. #endif
  6637.     Comparison Compare(const PObject & obj) const;
  6638.     PObject * Clone() const;
  6639. };
  6640.  
  6641.  
  6642. //
  6643. // MulticastAddress_iPAddress
  6644. //
  6645.  
  6646. class H245_MulticastAddress_iPAddress : public PASN_Sequence
  6647. {
  6648. #ifndef PASN_LEANANDMEAN
  6649.     PCLASSINFO(H245_MulticastAddress_iPAddress, PASN_Sequence);
  6650. #endif
  6651.   public:
  6652.     H245_MulticastAddress_iPAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  6653.  
  6654.     PASN_OctetString m_network;
  6655.     PASN_Integer m_tsapIdentifier;
  6656.  
  6657.     PINDEX GetDataLength() const;
  6658.     BOOL Decode(PASN_Stream & strm);
  6659.     void Encode(PASN_Stream & strm) const;
  6660. #ifndef PASN_NOPRINTON
  6661.     void PrintOn(ostream & strm) const;
  6662. #endif
  6663.     Comparison Compare(const PObject & obj) const;
  6664.     PObject * Clone() const;
  6665. };
  6666.  
  6667.  
  6668. //
  6669. // MulticastAddress_iP6Address
  6670. //
  6671.  
  6672. class H245_MulticastAddress_iP6Address : public PASN_Sequence
  6673. {
  6674. #ifndef PASN_LEANANDMEAN
  6675.     PCLASSINFO(H245_MulticastAddress_iP6Address, PASN_Sequence);
  6676. #endif
  6677.   public:
  6678.     H245_MulticastAddress_iP6Address(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  6679.  
  6680.     PASN_OctetString m_network;
  6681.     PASN_Integer m_tsapIdentifier;
  6682.  
  6683.     PINDEX GetDataLength() const;
  6684.     BOOL Decode(PASN_Stream & strm);
  6685.     void Encode(PASN_Stream & strm) const;
  6686. #ifndef PASN_NOPRINTON
  6687.     void PrintOn(ostream & strm) const;
  6688. #endif
  6689.     Comparison Compare(const PObject & obj) const;
  6690.     PObject * Clone() const;
  6691. };
  6692.  
  6693.  
  6694. //
  6695. // ArrayOf_EscrowData
  6696. //
  6697.  
  6698. class H245_EscrowData;
  6699.  
  6700. class H245_ArrayOf_EscrowData : public PASN_Array
  6701. {
  6702. #ifndef PASN_LEANANDMEAN
  6703.     PCLASSINFO(H245_ArrayOf_EscrowData, PASN_Array);
  6704. #endif
  6705.   public:
  6706.     H245_ArrayOf_EscrowData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  6707.  
  6708.     PASN_Object * CreateObject() const;
  6709.     H245_EscrowData & operator[](PINDEX i) const;
  6710.     PObject * Clone() const;
  6711. };
  6712.  
  6713.  
  6714. //
  6715. // OpenLogicalChannelAck_forwardMultiplexAckParameters
  6716. //
  6717.  
  6718. class H245_H2250LogicalChannelAckParameters;
  6719.  
  6720. class H245_OpenLogicalChannelAck_forwardMultiplexAckParameters : public PASN_Choice
  6721. {
  6722. #ifndef PASN_LEANANDMEAN
  6723.     PCLASSINFO(H245_OpenLogicalChannelAck_forwardMultiplexAckParameters, PASN_Choice);
  6724. #endif
  6725.   public:
  6726.     H245_OpenLogicalChannelAck_forwardMultiplexAckParameters(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6727.  
  6728.     enum Choices {
  6729.       e_h2250LogicalChannelAckParameters
  6730.     };
  6731.  
  6732. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6733.     operator H245_H2250LogicalChannelAckParameters &() const;
  6734. #else
  6735.     operator H245_H2250LogicalChannelAckParameters &();
  6736.     operator const H245_H2250LogicalChannelAckParameters &() const;
  6737. #endif
  6738.  
  6739.     BOOL CreateObject();
  6740.     PObject * Clone() const;
  6741. };
  6742.  
  6743.  
  6744. //
  6745. // OpenLogicalChannelReject_cause
  6746. //
  6747.  
  6748. class H245_OpenLogicalChannelReject_cause : public PASN_Choice
  6749. {
  6750. #ifndef PASN_LEANANDMEAN
  6751.     PCLASSINFO(H245_OpenLogicalChannelReject_cause, PASN_Choice);
  6752. #endif
  6753.   public:
  6754.     H245_OpenLogicalChannelReject_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6755.  
  6756.     enum Choices {
  6757.       e_unspecified,
  6758.       e_unsuitableReverseParameters,
  6759.       e_dataTypeNotSupported,
  6760.       e_dataTypeNotAvailable,
  6761.       e_unknownDataType,
  6762.       e_dataTypeALCombinationNotSupported,
  6763.       e_multicastChannelNotAllowed,
  6764.       e_insufficientBandwidth,
  6765.       e_separateStackEstablishmentFailed,
  6766.       e_invalidSessionID,
  6767.       e_masterSlaveConflict,
  6768.       e_waitForCommunicationMode,
  6769.       e_invalidDependentChannel,
  6770.       e_replacementForRejected
  6771.     };
  6772.  
  6773.     BOOL CreateObject();
  6774.     PObject * Clone() const;
  6775. };
  6776.  
  6777.  
  6778. //
  6779. // CloseLogicalChannel_source
  6780. //
  6781.  
  6782. class H245_CloseLogicalChannel_source : public PASN_Choice
  6783. {
  6784. #ifndef PASN_LEANANDMEAN
  6785.     PCLASSINFO(H245_CloseLogicalChannel_source, PASN_Choice);
  6786. #endif
  6787.   public:
  6788.     H245_CloseLogicalChannel_source(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6789.  
  6790.     enum Choices {
  6791.       e_user,
  6792.       e_lcse
  6793.     };
  6794.  
  6795.     BOOL CreateObject();
  6796.     PObject * Clone() const;
  6797. };
  6798.  
  6799.  
  6800. //
  6801. // CloseLogicalChannel_reason
  6802. //
  6803.  
  6804. class H245_CloseLogicalChannel_reason : public PASN_Choice
  6805. {
  6806. #ifndef PASN_LEANANDMEAN
  6807.     PCLASSINFO(H245_CloseLogicalChannel_reason, PASN_Choice);
  6808. #endif
  6809.   public:
  6810.     H245_CloseLogicalChannel_reason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6811.  
  6812.     enum Choices {
  6813.       e_unknown,
  6814.       e_reopen,
  6815.       e_reservationFailure
  6816.     };
  6817.  
  6818.     BOOL CreateObject();
  6819.     PObject * Clone() const;
  6820. };
  6821.  
  6822.  
  6823. //
  6824. // RequestChannelClose_reason
  6825. //
  6826.  
  6827. class H245_RequestChannelClose_reason : public PASN_Choice
  6828. {
  6829. #ifndef PASN_LEANANDMEAN
  6830.     PCLASSINFO(H245_RequestChannelClose_reason, PASN_Choice);
  6831. #endif
  6832.   public:
  6833.     H245_RequestChannelClose_reason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6834.  
  6835.     enum Choices {
  6836.       e_unknown,
  6837.       e_normal,
  6838.       e_reopen,
  6839.       e_reservationFailure
  6840.     };
  6841.  
  6842.     BOOL CreateObject();
  6843.     PObject * Clone() const;
  6844. };
  6845.  
  6846.  
  6847. //
  6848. // RequestChannelCloseReject_cause
  6849. //
  6850.  
  6851. class H245_RequestChannelCloseReject_cause : public PASN_Choice
  6852. {
  6853. #ifndef PASN_LEANANDMEAN
  6854.     PCLASSINFO(H245_RequestChannelCloseReject_cause, PASN_Choice);
  6855. #endif
  6856.   public:
  6857.     H245_RequestChannelCloseReject_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6858.  
  6859.     enum Choices {
  6860.       e_unspecified
  6861.     };
  6862.  
  6863.     BOOL CreateObject();
  6864.     PObject * Clone() const;
  6865. };
  6866.  
  6867.  
  6868. //
  6869. // ArrayOf_MultiplexEntryDescriptor
  6870. //
  6871.  
  6872. class H245_MultiplexEntryDescriptor;
  6873.  
  6874. class H245_ArrayOf_MultiplexEntryDescriptor : public PASN_Array
  6875. {
  6876. #ifndef PASN_LEANANDMEAN
  6877.     PCLASSINFO(H245_ArrayOf_MultiplexEntryDescriptor, PASN_Array);
  6878. #endif
  6879.   public:
  6880.     H245_ArrayOf_MultiplexEntryDescriptor(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  6881.  
  6882.     PASN_Object * CreateObject() const;
  6883.     H245_MultiplexEntryDescriptor & operator[](PINDEX i) const;
  6884.     PObject * Clone() const;
  6885. };
  6886.  
  6887.  
  6888. //
  6889. // ArrayOf_MultiplexElement
  6890. //
  6891.  
  6892. class H245_MultiplexElement;
  6893.  
  6894. class H245_ArrayOf_MultiplexElement : public PASN_Array
  6895. {
  6896. #ifndef PASN_LEANANDMEAN
  6897.     PCLASSINFO(H245_ArrayOf_MultiplexElement, PASN_Array);
  6898. #endif
  6899.   public:
  6900.     H245_ArrayOf_MultiplexElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  6901.  
  6902.     PASN_Object * CreateObject() const;
  6903.     H245_MultiplexElement & operator[](PINDEX i) const;
  6904.     PObject * Clone() const;
  6905. };
  6906.  
  6907.  
  6908. //
  6909. // MultiplexElement_type
  6910. //
  6911.  
  6912. class H245_ArrayOf_MultiplexElement;
  6913.  
  6914. class H245_MultiplexElement_type : public PASN_Choice
  6915. {
  6916. #ifndef PASN_LEANANDMEAN
  6917.     PCLASSINFO(H245_MultiplexElement_type, PASN_Choice);
  6918. #endif
  6919.   public:
  6920.     H245_MultiplexElement_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6921.  
  6922.     enum Choices {
  6923.       e_logicalChannelNumber,
  6924.       e_subElementList
  6925.     };
  6926.  
  6927. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  6928.     operator H245_ArrayOf_MultiplexElement &() const;
  6929. #else
  6930.     operator H245_ArrayOf_MultiplexElement &();
  6931.     operator const H245_ArrayOf_MultiplexElement &() const;
  6932. #endif
  6933.  
  6934.     BOOL CreateObject();
  6935.     PObject * Clone() const;
  6936. };
  6937.  
  6938.  
  6939. //
  6940. // MultiplexElement_repeatCount
  6941. //
  6942.  
  6943. class H245_MultiplexElement_repeatCount : public PASN_Choice
  6944. {
  6945. #ifndef PASN_LEANANDMEAN
  6946.     PCLASSINFO(H245_MultiplexElement_repeatCount, PASN_Choice);
  6947. #endif
  6948.   public:
  6949.     H245_MultiplexElement_repeatCount(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  6950.  
  6951.     enum Choices {
  6952.       e_finite,
  6953.       e_untilClosingFlag
  6954.     };
  6955.  
  6956.     BOOL CreateObject();
  6957.     PObject * Clone() const;
  6958. };
  6959.  
  6960.  
  6961. //
  6962. // ArrayOf_MultiplexTableEntryNumber
  6963. //
  6964.  
  6965. class H245_MultiplexTableEntryNumber;
  6966.  
  6967. class H245_ArrayOf_MultiplexTableEntryNumber : public PASN_Array
  6968. {
  6969. #ifndef PASN_LEANANDMEAN
  6970.     PCLASSINFO(H245_ArrayOf_MultiplexTableEntryNumber, PASN_Array);
  6971. #endif
  6972.   public:
  6973.     H245_ArrayOf_MultiplexTableEntryNumber(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  6974.  
  6975.     PASN_Object * CreateObject() const;
  6976.     H245_MultiplexTableEntryNumber & operator[](PINDEX i) const;
  6977.     PObject * Clone() const;
  6978. };
  6979.  
  6980.  
  6981. //
  6982. // ArrayOf_MultiplexEntryRejectionDescriptions
  6983. //
  6984.  
  6985. class H245_MultiplexEntryRejectionDescriptions;
  6986.  
  6987. class H245_ArrayOf_MultiplexEntryRejectionDescriptions : public PASN_Array
  6988. {
  6989. #ifndef PASN_LEANANDMEAN
  6990.     PCLASSINFO(H245_ArrayOf_MultiplexEntryRejectionDescriptions, PASN_Array);
  6991. #endif
  6992.   public:
  6993.     H245_ArrayOf_MultiplexEntryRejectionDescriptions(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  6994.  
  6995.     PASN_Object * CreateObject() const;
  6996.     H245_MultiplexEntryRejectionDescriptions & operator[](PINDEX i) const;
  6997.     PObject * Clone() const;
  6998. };
  6999.  
  7000.  
  7001. //
  7002. // MultiplexEntryRejectionDescriptions_cause
  7003. //
  7004.  
  7005. class H245_MultiplexEntryRejectionDescriptions_cause : public PASN_Choice
  7006. {
  7007. #ifndef PASN_LEANANDMEAN
  7008.     PCLASSINFO(H245_MultiplexEntryRejectionDescriptions_cause, PASN_Choice);
  7009. #endif
  7010.   public:
  7011.     H245_MultiplexEntryRejectionDescriptions_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7012.  
  7013.     enum Choices {
  7014.       e_unspecifiedCause,
  7015.       e_descriptorTooComplex
  7016.     };
  7017.  
  7018.     BOOL CreateObject();
  7019.     PObject * Clone() const;
  7020. };
  7021.  
  7022.  
  7023. //
  7024. // ArrayOf_RequestMultiplexEntryRejectionDescriptions
  7025. //
  7026.  
  7027. class H245_RequestMultiplexEntryRejectionDescriptions;
  7028.  
  7029. class H245_ArrayOf_RequestMultiplexEntryRejectionDescriptions : public PASN_Array
  7030. {
  7031. #ifndef PASN_LEANANDMEAN
  7032.     PCLASSINFO(H245_ArrayOf_RequestMultiplexEntryRejectionDescriptions, PASN_Array);
  7033. #endif
  7034.   public:
  7035.     H245_ArrayOf_RequestMultiplexEntryRejectionDescriptions(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  7036.  
  7037.     PASN_Object * CreateObject() const;
  7038.     H245_RequestMultiplexEntryRejectionDescriptions & operator[](PINDEX i) const;
  7039.     PObject * Clone() const;
  7040. };
  7041.  
  7042.  
  7043. //
  7044. // RequestMultiplexEntryRejectionDescriptions_cause
  7045. //
  7046.  
  7047. class H245_RequestMultiplexEntryRejectionDescriptions_cause : public PASN_Choice
  7048. {
  7049. #ifndef PASN_LEANANDMEAN
  7050.     PCLASSINFO(H245_RequestMultiplexEntryRejectionDescriptions_cause, PASN_Choice);
  7051. #endif
  7052.   public:
  7053.     H245_RequestMultiplexEntryRejectionDescriptions_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7054.  
  7055.     enum Choices {
  7056.       e_unspecifiedCause
  7057.     };
  7058.  
  7059.     BOOL CreateObject();
  7060.     PObject * Clone() const;
  7061. };
  7062.  
  7063.  
  7064. //
  7065. // ArrayOf_ModeDescription
  7066. //
  7067.  
  7068. class H245_ModeDescription;
  7069.  
  7070. class H245_ArrayOf_ModeDescription : public PASN_Array
  7071. {
  7072. #ifndef PASN_LEANANDMEAN
  7073.     PCLASSINFO(H245_ArrayOf_ModeDescription, PASN_Array);
  7074. #endif
  7075.   public:
  7076.     H245_ArrayOf_ModeDescription(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  7077.  
  7078.     PASN_Object * CreateObject() const;
  7079.     H245_ModeDescription & operator[](PINDEX i) const;
  7080.     PObject * Clone() const;
  7081. };
  7082.  
  7083.  
  7084. //
  7085. // RequestModeAck_response
  7086. //
  7087.  
  7088. class H245_RequestModeAck_response : public PASN_Choice
  7089. {
  7090. #ifndef PASN_LEANANDMEAN
  7091.     PCLASSINFO(H245_RequestModeAck_response, PASN_Choice);
  7092. #endif
  7093.   public:
  7094.     H245_RequestModeAck_response(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7095.  
  7096.     enum Choices {
  7097.       e_willTransmitMostPreferredMode,
  7098.       e_willTransmitLessPreferredMode
  7099.     };
  7100.  
  7101.     BOOL CreateObject();
  7102.     PObject * Clone() const;
  7103. };
  7104.  
  7105.  
  7106. //
  7107. // RequestModeReject_cause
  7108. //
  7109.  
  7110. class H245_RequestModeReject_cause : public PASN_Choice
  7111. {
  7112. #ifndef PASN_LEANANDMEAN
  7113.     PCLASSINFO(H245_RequestModeReject_cause, PASN_Choice);
  7114. #endif
  7115.   public:
  7116.     H245_RequestModeReject_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7117.  
  7118.     enum Choices {
  7119.       e_modeUnavailable,
  7120.       e_multipointConstraint,
  7121.       e_requestDenied
  7122.     };
  7123.  
  7124.     BOOL CreateObject();
  7125.     PObject * Clone() const;
  7126. };
  7127.  
  7128.  
  7129. //
  7130. // ModeElement_type
  7131. //
  7132.  
  7133. class H245_NonStandardParameter;
  7134. class H245_VideoMode;
  7135. class H245_AudioMode;
  7136. class H245_DataMode;
  7137. class H245_EncryptionMode;
  7138. class H245_H235Mode;
  7139. class H245_MultiplexedStreamParameter;
  7140.  
  7141. class H245_ModeElement_type : public PASN_Choice
  7142. {
  7143. #ifndef PASN_LEANANDMEAN
  7144.     PCLASSINFO(H245_ModeElement_type, PASN_Choice);
  7145. #endif
  7146.   public:
  7147.     H245_ModeElement_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7148.  
  7149.     enum Choices {
  7150.       e_nonStandard,
  7151.       e_videoMode,
  7152.       e_audioMode,
  7153.       e_dataMode,
  7154.       e_encryptionMode,
  7155.       e_h235Mode,
  7156.       e_multiplexedStreamMode
  7157.     };
  7158.  
  7159. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7160.     operator H245_NonStandardParameter &() const;
  7161. #else
  7162.     operator H245_NonStandardParameter &();
  7163.     operator const H245_NonStandardParameter &() const;
  7164. #endif
  7165. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7166.     operator H245_VideoMode &() const;
  7167. #else
  7168.     operator H245_VideoMode &();
  7169.     operator const H245_VideoMode &() const;
  7170. #endif
  7171. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7172.     operator H245_AudioMode &() const;
  7173. #else
  7174.     operator H245_AudioMode &();
  7175.     operator const H245_AudioMode &() const;
  7176. #endif
  7177. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7178.     operator H245_DataMode &() const;
  7179. #else
  7180.     operator H245_DataMode &();
  7181.     operator const H245_DataMode &() const;
  7182. #endif
  7183. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7184.     operator H245_EncryptionMode &() const;
  7185. #else
  7186.     operator H245_EncryptionMode &();
  7187.     operator const H245_EncryptionMode &() const;
  7188. #endif
  7189. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7190.     operator H245_H235Mode &() const;
  7191. #else
  7192.     operator H245_H235Mode &();
  7193.     operator const H245_H235Mode &() const;
  7194. #endif
  7195. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7196.     operator H245_MultiplexedStreamParameter &() const;
  7197. #else
  7198.     operator H245_MultiplexedStreamParameter &();
  7199.     operator const H245_MultiplexedStreamParameter &() const;
  7200. #endif
  7201.  
  7202.     BOOL CreateObject();
  7203.     PObject * Clone() const;
  7204. };
  7205.  
  7206.  
  7207. //
  7208. // H235Mode_mediaMode
  7209. //
  7210.  
  7211. class H245_NonStandardParameter;
  7212. class H245_VideoMode;
  7213. class H245_AudioMode;
  7214. class H245_DataMode;
  7215.  
  7216. class H245_H235Mode_mediaMode : public PASN_Choice
  7217. {
  7218. #ifndef PASN_LEANANDMEAN
  7219.     PCLASSINFO(H245_H235Mode_mediaMode, PASN_Choice);
  7220. #endif
  7221.   public:
  7222.     H245_H235Mode_mediaMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7223.  
  7224.     enum Choices {
  7225.       e_nonStandard,
  7226.       e_videoMode,
  7227.       e_audioMode,
  7228.       e_dataMode
  7229.     };
  7230.  
  7231. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7232.     operator H245_NonStandardParameter &() const;
  7233. #else
  7234.     operator H245_NonStandardParameter &();
  7235.     operator const H245_NonStandardParameter &() const;
  7236. #endif
  7237. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7238.     operator H245_VideoMode &() const;
  7239. #else
  7240.     operator H245_VideoMode &();
  7241.     operator const H245_VideoMode &() const;
  7242. #endif
  7243. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7244.     operator H245_AudioMode &() const;
  7245. #else
  7246.     operator H245_AudioMode &();
  7247.     operator const H245_AudioMode &() const;
  7248. #endif
  7249. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7250.     operator H245_DataMode &() const;
  7251. #else
  7252.     operator H245_DataMode &();
  7253.     operator const H245_DataMode &() const;
  7254. #endif
  7255.  
  7256.     BOOL CreateObject();
  7257.     PObject * Clone() const;
  7258. };
  7259.  
  7260.  
  7261. //
  7262. // H223ModeParameters_adaptationLayerType
  7263. //
  7264.  
  7265. class H245_NonStandardParameter;
  7266. class H245_H223ModeParameters_adaptationLayerType_al3;
  7267. class H245_H223AL1MParameters;
  7268. class H245_H223AL2MParameters;
  7269. class H245_H223AL3MParameters;
  7270.  
  7271. class H245_H223ModeParameters_adaptationLayerType : public PASN_Choice
  7272. {
  7273. #ifndef PASN_LEANANDMEAN
  7274.     PCLASSINFO(H245_H223ModeParameters_adaptationLayerType, PASN_Choice);
  7275. #endif
  7276.   public:
  7277.     H245_H223ModeParameters_adaptationLayerType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7278.  
  7279.     enum Choices {
  7280.       e_nonStandard,
  7281.       e_al1Framed,
  7282.       e_al1NotFramed,
  7283.       e_al2WithoutSequenceNumbers,
  7284.       e_al2WithSequenceNumbers,
  7285.       e_al3,
  7286.       e_al1M,
  7287.       e_al2M,
  7288.       e_al3M
  7289.     };
  7290.  
  7291. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7292.     operator H245_NonStandardParameter &() const;
  7293. #else
  7294.     operator H245_NonStandardParameter &();
  7295.     operator const H245_NonStandardParameter &() const;
  7296. #endif
  7297. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7298.     operator H245_H223ModeParameters_adaptationLayerType_al3 &() const;
  7299. #else
  7300.     operator H245_H223ModeParameters_adaptationLayerType_al3 &();
  7301.     operator const H245_H223ModeParameters_adaptationLayerType_al3 &() const;
  7302. #endif
  7303. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7304.     operator H245_H223AL1MParameters &() const;
  7305. #else
  7306.     operator H245_H223AL1MParameters &();
  7307.     operator const H245_H223AL1MParameters &() const;
  7308. #endif
  7309. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7310.     operator H245_H223AL2MParameters &() const;
  7311. #else
  7312.     operator H245_H223AL2MParameters &();
  7313.     operator const H245_H223AL2MParameters &() const;
  7314. #endif
  7315. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7316.     operator H245_H223AL3MParameters &() const;
  7317. #else
  7318.     operator H245_H223AL3MParameters &();
  7319.     operator const H245_H223AL3MParameters &() const;
  7320. #endif
  7321.  
  7322.     BOOL CreateObject();
  7323.     PObject * Clone() const;
  7324. };
  7325.  
  7326.  
  7327. //
  7328. // RedundancyEncodingMode_secondaryEncoding
  7329. //
  7330.  
  7331. class H245_NonStandardParameter;
  7332. class H245_AudioMode;
  7333.  
  7334. class H245_RedundancyEncodingMode_secondaryEncoding : public PASN_Choice
  7335. {
  7336. #ifndef PASN_LEANANDMEAN
  7337.     PCLASSINFO(H245_RedundancyEncodingMode_secondaryEncoding, PASN_Choice);
  7338. #endif
  7339.   public:
  7340.     H245_RedundancyEncodingMode_secondaryEncoding(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7341.  
  7342.     enum Choices {
  7343.       e_nonStandard,
  7344.       e_audioData
  7345.     };
  7346.  
  7347. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7348.     operator H245_NonStandardParameter &() const;
  7349. #else
  7350.     operator H245_NonStandardParameter &();
  7351.     operator const H245_NonStandardParameter &() const;
  7352. #endif
  7353. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7354.     operator H245_AudioMode &() const;
  7355. #else
  7356.     operator H245_AudioMode &();
  7357.     operator const H245_AudioMode &() const;
  7358. #endif
  7359.  
  7360.     BOOL CreateObject();
  7361.     PObject * Clone() const;
  7362. };
  7363.  
  7364.  
  7365. //
  7366. // H261VideoMode_resolution
  7367. //
  7368.  
  7369. class H245_H261VideoMode_resolution : public PASN_Choice
  7370. {
  7371. #ifndef PASN_LEANANDMEAN
  7372.     PCLASSINFO(H245_H261VideoMode_resolution, PASN_Choice);
  7373. #endif
  7374.   public:
  7375.     H245_H261VideoMode_resolution(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7376.  
  7377.     enum Choices {
  7378.       e_qcif,
  7379.       e_cif
  7380.     };
  7381.  
  7382.     BOOL CreateObject();
  7383.     PObject * Clone() const;
  7384. };
  7385.  
  7386.  
  7387. //
  7388. // H262VideoMode_profileAndLevel
  7389. //
  7390.  
  7391. class H245_H262VideoMode_profileAndLevel : public PASN_Choice
  7392. {
  7393. #ifndef PASN_LEANANDMEAN
  7394.     PCLASSINFO(H245_H262VideoMode_profileAndLevel, PASN_Choice);
  7395. #endif
  7396.   public:
  7397.     H245_H262VideoMode_profileAndLevel(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7398.  
  7399.     enum Choices {
  7400.       e_profileAndLevel_SPatML,
  7401.       e_profileAndLevel_MPatLL,
  7402.       e_profileAndLevel_MPatML,
  7403.       e_profileAndLevel_MPatH_14,
  7404.       e_profileAndLevel_MPatHL,
  7405.       e_profileAndLevel_SNRatLL,
  7406.       e_profileAndLevel_SNRatML,
  7407.       e_profileAndLevel_SpatialatH_14,
  7408.       e_profileAndLevel_HPatML,
  7409.       e_profileAndLevel_HPatH_14,
  7410.       e_profileAndLevel_HPatHL
  7411.     };
  7412.  
  7413.     BOOL CreateObject();
  7414.     PObject * Clone() const;
  7415. };
  7416.  
  7417.  
  7418. //
  7419. // H263VideoMode_resolution
  7420. //
  7421.  
  7422. class H245_H263VideoMode_resolution : public PASN_Choice
  7423. {
  7424. #ifndef PASN_LEANANDMEAN
  7425.     PCLASSINFO(H245_H263VideoMode_resolution, PASN_Choice);
  7426. #endif
  7427.   public:
  7428.     H245_H263VideoMode_resolution(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7429.  
  7430.     enum Choices {
  7431.       e_sqcif,
  7432.       e_qcif,
  7433.       e_cif,
  7434.       e_cif4,
  7435.       e_cif16
  7436.     };
  7437.  
  7438.     BOOL CreateObject();
  7439.     PObject * Clone() const;
  7440. };
  7441.  
  7442.  
  7443. //
  7444. // AudioMode_g7231
  7445. //
  7446.  
  7447. class H245_AudioMode_g7231 : public PASN_Choice
  7448. {
  7449. #ifndef PASN_LEANANDMEAN
  7450.     PCLASSINFO(H245_AudioMode_g7231, PASN_Choice);
  7451. #endif
  7452.   public:
  7453.     H245_AudioMode_g7231(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7454.  
  7455.     enum Choices {
  7456.       e_noSilenceSuppressionLowRate,
  7457.       e_noSilenceSuppressionHighRate,
  7458.       e_silenceSuppressionLowRate,
  7459.       e_silenceSuppressionHighRate
  7460.     };
  7461.  
  7462.     BOOL CreateObject();
  7463.     PObject * Clone() const;
  7464. };
  7465.  
  7466.  
  7467. //
  7468. // IS11172AudioMode_audioLayer
  7469. //
  7470.  
  7471. class H245_IS11172AudioMode_audioLayer : public PASN_Choice
  7472. {
  7473. #ifndef PASN_LEANANDMEAN
  7474.     PCLASSINFO(H245_IS11172AudioMode_audioLayer, PASN_Choice);
  7475. #endif
  7476.   public:
  7477.     H245_IS11172AudioMode_audioLayer(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7478.  
  7479.     enum Choices {
  7480.       e_audioLayer1,
  7481.       e_audioLayer2,
  7482.       e_audioLayer3
  7483.     };
  7484.  
  7485.     BOOL CreateObject();
  7486.     PObject * Clone() const;
  7487. };
  7488.  
  7489.  
  7490. //
  7491. // IS11172AudioMode_audioSampling
  7492. //
  7493.  
  7494. class H245_IS11172AudioMode_audioSampling : public PASN_Choice
  7495. {
  7496. #ifndef PASN_LEANANDMEAN
  7497.     PCLASSINFO(H245_IS11172AudioMode_audioSampling, PASN_Choice);
  7498. #endif
  7499.   public:
  7500.     H245_IS11172AudioMode_audioSampling(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7501.  
  7502.     enum Choices {
  7503.       e_audioSampling32k,
  7504.       e_audioSampling44k1,
  7505.       e_audioSampling48k
  7506.     };
  7507.  
  7508.     BOOL CreateObject();
  7509.     PObject * Clone() const;
  7510. };
  7511.  
  7512.  
  7513. //
  7514. // IS11172AudioMode_multichannelType
  7515. //
  7516.  
  7517. class H245_IS11172AudioMode_multichannelType : public PASN_Choice
  7518. {
  7519. #ifndef PASN_LEANANDMEAN
  7520.     PCLASSINFO(H245_IS11172AudioMode_multichannelType, PASN_Choice);
  7521. #endif
  7522.   public:
  7523.     H245_IS11172AudioMode_multichannelType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7524.  
  7525.     enum Choices {
  7526.       e_singleChannel,
  7527.       e_twoChannelStereo,
  7528.       e_twoChannelDual
  7529.     };
  7530.  
  7531.     BOOL CreateObject();
  7532.     PObject * Clone() const;
  7533. };
  7534.  
  7535.  
  7536. //
  7537. // IS13818AudioMode_audioLayer
  7538. //
  7539.  
  7540. class H245_IS13818AudioMode_audioLayer : public PASN_Choice
  7541. {
  7542. #ifndef PASN_LEANANDMEAN
  7543.     PCLASSINFO(H245_IS13818AudioMode_audioLayer, PASN_Choice);
  7544. #endif
  7545.   public:
  7546.     H245_IS13818AudioMode_audioLayer(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7547.  
  7548.     enum Choices {
  7549.       e_audioLayer1,
  7550.       e_audioLayer2,
  7551.       e_audioLayer3
  7552.     };
  7553.  
  7554.     BOOL CreateObject();
  7555.     PObject * Clone() const;
  7556. };
  7557.  
  7558.  
  7559. //
  7560. // IS13818AudioMode_audioSampling
  7561. //
  7562.  
  7563. class H245_IS13818AudioMode_audioSampling : public PASN_Choice
  7564. {
  7565. #ifndef PASN_LEANANDMEAN
  7566.     PCLASSINFO(H245_IS13818AudioMode_audioSampling, PASN_Choice);
  7567. #endif
  7568.   public:
  7569.     H245_IS13818AudioMode_audioSampling(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7570.  
  7571.     enum Choices {
  7572.       e_audioSampling16k,
  7573.       e_audioSampling22k05,
  7574.       e_audioSampling24k,
  7575.       e_audioSampling32k,
  7576.       e_audioSampling44k1,
  7577.       e_audioSampling48k
  7578.     };
  7579.  
  7580.     BOOL CreateObject();
  7581.     PObject * Clone() const;
  7582. };
  7583.  
  7584.  
  7585. //
  7586. // IS13818AudioMode_multichannelType
  7587. //
  7588.  
  7589. class H245_IS13818AudioMode_multichannelType : public PASN_Choice
  7590. {
  7591. #ifndef PASN_LEANANDMEAN
  7592.     PCLASSINFO(H245_IS13818AudioMode_multichannelType, PASN_Choice);
  7593. #endif
  7594.   public:
  7595.     H245_IS13818AudioMode_multichannelType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7596.  
  7597.     enum Choices {
  7598.       e_singleChannel,
  7599.       e_twoChannelStereo,
  7600.       e_twoChannelDual,
  7601.       e_threeChannels2_1,
  7602.       e_threeChannels3_0,
  7603.       e_fourChannels2_0_2_0,
  7604.       e_fourChannels2_2,
  7605.       e_fourChannels3_1,
  7606.       e_fiveChannels3_0_2_0,
  7607.       e_fiveChannels3_2
  7608.     };
  7609.  
  7610.     BOOL CreateObject();
  7611.     PObject * Clone() const;
  7612. };
  7613.  
  7614.  
  7615. //
  7616. // G7231AnnexCMode_g723AnnexCAudioMode
  7617. //
  7618.  
  7619. class H245_G7231AnnexCMode_g723AnnexCAudioMode : public PASN_Sequence
  7620. {
  7621. #ifndef PASN_LEANANDMEAN
  7622.     PCLASSINFO(H245_G7231AnnexCMode_g723AnnexCAudioMode, PASN_Sequence);
  7623. #endif
  7624.   public:
  7625.     H245_G7231AnnexCMode_g723AnnexCAudioMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  7626.  
  7627.     PASN_Integer m_highRateMode0;
  7628.     PASN_Integer m_highRateMode1;
  7629.     PASN_Integer m_lowRateMode0;
  7630.     PASN_Integer m_lowRateMode1;
  7631.     PASN_Integer m_sidMode0;
  7632.     PASN_Integer m_sidMode1;
  7633.  
  7634.     PINDEX GetDataLength() const;
  7635.     BOOL Decode(PASN_Stream & strm);
  7636.     void Encode(PASN_Stream & strm) const;
  7637. #ifndef PASN_NOPRINTON
  7638.     void PrintOn(ostream & strm) const;
  7639. #endif
  7640.     Comparison Compare(const PObject & obj) const;
  7641.     PObject * Clone() const;
  7642. };
  7643.  
  7644.  
  7645. //
  7646. // DataMode_application
  7647. //
  7648.  
  7649. class H245_NonStandardParameter;
  7650. class H245_DataProtocolCapability;
  7651. class H245_DataProtocolCapability;
  7652. class H245_DataProtocolCapability;
  7653. class H245_DataProtocolCapability;
  7654. class H245_DataProtocolCapability;
  7655. class H245_DataProtocolCapability;
  7656. class H245_DataMode_application_nlpid;
  7657. class H245_DataProtocolCapability;
  7658. class H245_DataProtocolCapability;
  7659. class H245_DataProtocolCapability;
  7660. class H245_DataMode_application_t38fax;
  7661. class H245_GenericCapability;
  7662.  
  7663. class H245_DataMode_application : public PASN_Choice
  7664. {
  7665. #ifndef PASN_LEANANDMEAN
  7666.     PCLASSINFO(H245_DataMode_application, PASN_Choice);
  7667. #endif
  7668.   public:
  7669.     H245_DataMode_application(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7670.  
  7671.     enum Choices {
  7672.       e_nonStandard,
  7673.       e_t120,
  7674.       e_dsm_cc,
  7675.       e_userData,
  7676.       e_t84,
  7677.       e_t434,
  7678.       e_h224,
  7679.       e_nlpid,
  7680.       e_dsvdControl,
  7681.       e_h222DataPartitioning,
  7682.       e_t30fax,
  7683.       e_t140,
  7684.       e_t38fax,
  7685.       e_genericDataMode
  7686.     };
  7687.  
  7688. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7689.     operator H245_NonStandardParameter &() const;
  7690. #else
  7691.     operator H245_NonStandardParameter &();
  7692.     operator const H245_NonStandardParameter &() const;
  7693. #endif
  7694. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7695.     operator H245_DataProtocolCapability &() const;
  7696. #else
  7697.     operator H245_DataProtocolCapability &();
  7698.     operator const H245_DataProtocolCapability &() const;
  7699. #endif
  7700. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7701.     operator H245_DataMode_application_nlpid &() const;
  7702. #else
  7703.     operator H245_DataMode_application_nlpid &();
  7704.     operator const H245_DataMode_application_nlpid &() const;
  7705. #endif
  7706. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7707.     operator H245_DataMode_application_t38fax &() const;
  7708. #else
  7709.     operator H245_DataMode_application_t38fax &();
  7710.     operator const H245_DataMode_application_t38fax &() const;
  7711. #endif
  7712. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7713.     operator H245_GenericCapability &() const;
  7714. #else
  7715.     operator H245_GenericCapability &();
  7716.     operator const H245_GenericCapability &() const;
  7717. #endif
  7718.  
  7719.     BOOL CreateObject();
  7720.     PObject * Clone() const;
  7721. };
  7722.  
  7723.  
  7724. //
  7725. // MaintenanceLoopRequest_type
  7726. //
  7727.  
  7728. class H245_LogicalChannelNumber;
  7729. class H245_LogicalChannelNumber;
  7730.  
  7731. class H245_MaintenanceLoopRequest_type : public PASN_Choice
  7732. {
  7733. #ifndef PASN_LEANANDMEAN
  7734.     PCLASSINFO(H245_MaintenanceLoopRequest_type, PASN_Choice);
  7735. #endif
  7736.   public:
  7737.     H245_MaintenanceLoopRequest_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7738.  
  7739.     enum Choices {
  7740.       e_systemLoop,
  7741.       e_mediaLoop,
  7742.       e_logicalChannelLoop
  7743.     };
  7744.  
  7745. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7746.     operator H245_LogicalChannelNumber &() const;
  7747. #else
  7748.     operator H245_LogicalChannelNumber &();
  7749.     operator const H245_LogicalChannelNumber &() const;
  7750. #endif
  7751.  
  7752.     BOOL CreateObject();
  7753.     PObject * Clone() const;
  7754. };
  7755.  
  7756.  
  7757. //
  7758. // MaintenanceLoopAck_type
  7759. //
  7760.  
  7761. class H245_LogicalChannelNumber;
  7762. class H245_LogicalChannelNumber;
  7763.  
  7764. class H245_MaintenanceLoopAck_type : public PASN_Choice
  7765. {
  7766. #ifndef PASN_LEANANDMEAN
  7767.     PCLASSINFO(H245_MaintenanceLoopAck_type, PASN_Choice);
  7768. #endif
  7769.   public:
  7770.     H245_MaintenanceLoopAck_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7771.  
  7772.     enum Choices {
  7773.       e_systemLoop,
  7774.       e_mediaLoop,
  7775.       e_logicalChannelLoop
  7776.     };
  7777.  
  7778. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7779.     operator H245_LogicalChannelNumber &() const;
  7780. #else
  7781.     operator H245_LogicalChannelNumber &();
  7782.     operator const H245_LogicalChannelNumber &() const;
  7783. #endif
  7784.  
  7785.     BOOL CreateObject();
  7786.     PObject * Clone() const;
  7787. };
  7788.  
  7789.  
  7790. //
  7791. // MaintenanceLoopReject_type
  7792. //
  7793.  
  7794. class H245_LogicalChannelNumber;
  7795. class H245_LogicalChannelNumber;
  7796.  
  7797. class H245_MaintenanceLoopReject_type : public PASN_Choice
  7798. {
  7799. #ifndef PASN_LEANANDMEAN
  7800.     PCLASSINFO(H245_MaintenanceLoopReject_type, PASN_Choice);
  7801. #endif
  7802.   public:
  7803.     H245_MaintenanceLoopReject_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7804.  
  7805.     enum Choices {
  7806.       e_systemLoop,
  7807.       e_mediaLoop,
  7808.       e_logicalChannelLoop
  7809.     };
  7810.  
  7811. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7812.     operator H245_LogicalChannelNumber &() const;
  7813. #else
  7814.     operator H245_LogicalChannelNumber &();
  7815.     operator const H245_LogicalChannelNumber &() const;
  7816. #endif
  7817.  
  7818.     BOOL CreateObject();
  7819.     PObject * Clone() const;
  7820. };
  7821.  
  7822.  
  7823. //
  7824. // MaintenanceLoopReject_cause
  7825. //
  7826.  
  7827. class H245_MaintenanceLoopReject_cause : public PASN_Choice
  7828. {
  7829. #ifndef PASN_LEANANDMEAN
  7830.     PCLASSINFO(H245_MaintenanceLoopReject_cause, PASN_Choice);
  7831. #endif
  7832.   public:
  7833.     H245_MaintenanceLoopReject_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7834.  
  7835.     enum Choices {
  7836.       e_canNotPerformLoop
  7837.     };
  7838.  
  7839.     BOOL CreateObject();
  7840.     PObject * Clone() const;
  7841. };
  7842.  
  7843.  
  7844. //
  7845. // ArrayOf_CommunicationModeTableEntry
  7846. //
  7847.  
  7848. class H245_CommunicationModeTableEntry;
  7849.  
  7850. class H245_ArrayOf_CommunicationModeTableEntry : public PASN_Array
  7851. {
  7852. #ifndef PASN_LEANANDMEAN
  7853.     PCLASSINFO(H245_ArrayOf_CommunicationModeTableEntry, PASN_Array);
  7854. #endif
  7855.   public:
  7856.     H245_ArrayOf_CommunicationModeTableEntry(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  7857.  
  7858.     PASN_Object * CreateObject() const;
  7859.     H245_CommunicationModeTableEntry & operator[](PINDEX i) const;
  7860.     PObject * Clone() const;
  7861. };
  7862.  
  7863.  
  7864. //
  7865. // CommunicationModeTableEntry_dataType
  7866. //
  7867.  
  7868. class H245_VideoCapability;
  7869. class H245_AudioCapability;
  7870. class H245_DataApplicationCapability;
  7871.  
  7872. class H245_CommunicationModeTableEntry_dataType : public PASN_Choice
  7873. {
  7874. #ifndef PASN_LEANANDMEAN
  7875.     PCLASSINFO(H245_CommunicationModeTableEntry_dataType, PASN_Choice);
  7876. #endif
  7877.   public:
  7878.     H245_CommunicationModeTableEntry_dataType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7879.  
  7880.     enum Choices {
  7881.       e_videoData,
  7882.       e_audioData,
  7883.       e_data
  7884.     };
  7885.  
  7886. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7887.     operator H245_VideoCapability &() const;
  7888. #else
  7889.     operator H245_VideoCapability &();
  7890.     operator const H245_VideoCapability &() const;
  7891. #endif
  7892. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7893.     operator H245_AudioCapability &() const;
  7894. #else
  7895.     operator H245_AudioCapability &();
  7896.     operator const H245_AudioCapability &() const;
  7897. #endif
  7898. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  7899.     operator H245_DataApplicationCapability &() const;
  7900. #else
  7901.     operator H245_DataApplicationCapability &();
  7902.     operator const H245_DataApplicationCapability &() const;
  7903. #endif
  7904.  
  7905.     BOOL CreateObject();
  7906.     PObject * Clone() const;
  7907. };
  7908.  
  7909.  
  7910. //
  7911. // ArrayOf_TerminalLabel
  7912. //
  7913.  
  7914. class H245_TerminalLabel;
  7915.  
  7916. class H245_ArrayOf_TerminalLabel : public PASN_Array
  7917. {
  7918. #ifndef PASN_LEANANDMEAN
  7919.     PCLASSINFO(H245_ArrayOf_TerminalLabel, PASN_Array);
  7920. #endif
  7921.   public:
  7922.     H245_ArrayOf_TerminalLabel(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  7923.  
  7924.     PASN_Object * CreateObject() const;
  7925.     H245_TerminalLabel & operator[](PINDEX i) const;
  7926.     PObject * Clone() const;
  7927. };
  7928.  
  7929.  
  7930. //
  7931. // ConferenceResponse_makeMeChairResponse
  7932. //
  7933.  
  7934. class H245_ConferenceResponse_makeMeChairResponse : public PASN_Choice
  7935. {
  7936. #ifndef PASN_LEANANDMEAN
  7937.     PCLASSINFO(H245_ConferenceResponse_makeMeChairResponse, PASN_Choice);
  7938. #endif
  7939.   public:
  7940.     H245_ConferenceResponse_makeMeChairResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7941.  
  7942.     enum Choices {
  7943.       e_grantedChairToken,
  7944.       e_deniedChairToken
  7945.     };
  7946.  
  7947.     BOOL CreateObject();
  7948.     PObject * Clone() const;
  7949. };
  7950.  
  7951.  
  7952. //
  7953. // ConferenceResponse_extensionAddressResponse
  7954. //
  7955.  
  7956. class H245_ConferenceResponse_extensionAddressResponse : public PASN_Sequence
  7957. {
  7958. #ifndef PASN_LEANANDMEAN
  7959.     PCLASSINFO(H245_ConferenceResponse_extensionAddressResponse, PASN_Sequence);
  7960. #endif
  7961.   public:
  7962.     H245_ConferenceResponse_extensionAddressResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  7963.  
  7964.     H245_TerminalID m_extensionAddress;
  7965.  
  7966.     PINDEX GetDataLength() const;
  7967.     BOOL Decode(PASN_Stream & strm);
  7968.     void Encode(PASN_Stream & strm) const;
  7969. #ifndef PASN_NOPRINTON
  7970.     void PrintOn(ostream & strm) const;
  7971. #endif
  7972.     Comparison Compare(const PObject & obj) const;
  7973.     PObject * Clone() const;
  7974. };
  7975.  
  7976.  
  7977. //
  7978. // ConferenceResponse_broadcastMyLogicalChannelResponse
  7979. //
  7980.  
  7981. class H245_ConferenceResponse_broadcastMyLogicalChannelResponse : public PASN_Choice
  7982. {
  7983. #ifndef PASN_LEANANDMEAN
  7984.     PCLASSINFO(H245_ConferenceResponse_broadcastMyLogicalChannelResponse, PASN_Choice);
  7985. #endif
  7986.   public:
  7987.     H245_ConferenceResponse_broadcastMyLogicalChannelResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  7988.  
  7989.     enum Choices {
  7990.       e_grantedBroadcastMyLogicalChannel,
  7991.       e_deniedBroadcastMyLogicalChannel
  7992.     };
  7993.  
  7994.     BOOL CreateObject();
  7995.     PObject * Clone() const;
  7996. };
  7997.  
  7998.  
  7999. //
  8000. // ConferenceResponse_makeTerminalBroadcasterResponse
  8001. //
  8002.  
  8003. class H245_ConferenceResponse_makeTerminalBroadcasterResponse : public PASN_Choice
  8004. {
  8005. #ifndef PASN_LEANANDMEAN
  8006.     PCLASSINFO(H245_ConferenceResponse_makeTerminalBroadcasterResponse, PASN_Choice);
  8007. #endif
  8008.   public:
  8009.     H245_ConferenceResponse_makeTerminalBroadcasterResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8010.  
  8011.     enum Choices {
  8012.       e_grantedMakeTerminalBroadcaster,
  8013.       e_deniedMakeTerminalBroadcaster
  8014.     };
  8015.  
  8016.     BOOL CreateObject();
  8017.     PObject * Clone() const;
  8018. };
  8019.  
  8020.  
  8021. //
  8022. // ConferenceResponse_sendThisSourceResponse
  8023. //
  8024.  
  8025. class H245_ConferenceResponse_sendThisSourceResponse : public PASN_Choice
  8026. {
  8027. #ifndef PASN_LEANANDMEAN
  8028.     PCLASSINFO(H245_ConferenceResponse_sendThisSourceResponse, PASN_Choice);
  8029. #endif
  8030.   public:
  8031.     H245_ConferenceResponse_sendThisSourceResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8032.  
  8033.     enum Choices {
  8034.       e_grantedSendThisSource,
  8035.       e_deniedSendThisSource
  8036.     };
  8037.  
  8038.     BOOL CreateObject();
  8039.     PObject * Clone() const;
  8040. };
  8041.  
  8042.  
  8043. //
  8044. // ArrayOf_TerminalInformation
  8045. //
  8046.  
  8047. class H245_TerminalInformation;
  8048.  
  8049. class H245_ArrayOf_TerminalInformation : public PASN_Array
  8050. {
  8051. #ifndef PASN_LEANANDMEAN
  8052.     PCLASSINFO(H245_ArrayOf_TerminalInformation, PASN_Array);
  8053. #endif
  8054.   public:
  8055.     H245_ArrayOf_TerminalInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  8056.  
  8057.     PASN_Object * CreateObject() const;
  8058.     H245_TerminalInformation & operator[](PINDEX i) const;
  8059.     PObject * Clone() const;
  8060. };
  8061.  
  8062.  
  8063. //
  8064. // RemoteMCResponse_reject
  8065. //
  8066.  
  8067. class H245_RemoteMCResponse_reject : public PASN_Choice
  8068. {
  8069. #ifndef PASN_LEANANDMEAN
  8070.     PCLASSINFO(H245_RemoteMCResponse_reject, PASN_Choice);
  8071. #endif
  8072.   public:
  8073.     H245_RemoteMCResponse_reject(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8074.  
  8075.     enum Choices {
  8076.       e_unspecified,
  8077.       e_functionNotSupported
  8078.     };
  8079.  
  8080.     BOOL CreateObject();
  8081.     PObject * Clone() const;
  8082. };
  8083.  
  8084.  
  8085. //
  8086. // MultilinkRequest_callInformation
  8087. //
  8088.  
  8089. class H245_MultilinkRequest_callInformation : public PASN_Sequence
  8090. {
  8091. #ifndef PASN_LEANANDMEAN
  8092.     PCLASSINFO(H245_MultilinkRequest_callInformation, PASN_Sequence);
  8093. #endif
  8094.   public:
  8095.     H245_MultilinkRequest_callInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  8096.  
  8097.     PASN_Integer m_maxNumberOfAdditionalConnections;
  8098.  
  8099.     PINDEX GetDataLength() const;
  8100.     BOOL Decode(PASN_Stream & strm);
  8101.     void Encode(PASN_Stream & strm) const;
  8102. #ifndef PASN_NOPRINTON
  8103.     void PrintOn(ostream & strm) const;
  8104. #endif
  8105.     Comparison Compare(const PObject & obj) const;
  8106.     PObject * Clone() const;
  8107. };
  8108.  
  8109.  
  8110. //
  8111. // MultilinkRequest_addConnection
  8112. //
  8113.  
  8114. class H245_MultilinkRequest_addConnection : public PASN_Sequence
  8115. {
  8116. #ifndef PASN_LEANANDMEAN
  8117.     PCLASSINFO(H245_MultilinkRequest_addConnection, PASN_Sequence);
  8118. #endif
  8119.   public:
  8120.     H245_MultilinkRequest_addConnection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  8121.  
  8122.     H245_SequenceNumber m_sequenceNumber;
  8123.     H245_DialingInformation m_dialingInformation;
  8124.  
  8125.     PINDEX GetDataLength() const;
  8126.     BOOL Decode(PASN_Stream & strm);
  8127.     void Encode(PASN_Stream & strm) const;
  8128. #ifndef PASN_NOPRINTON
  8129.     void PrintOn(ostream & strm) const;
  8130. #endif
  8131.     Comparison Compare(const PObject & obj) const;
  8132.     PObject * Clone() const;
  8133. };
  8134.  
  8135.  
  8136. //
  8137. // MultilinkRequest_removeConnection
  8138. //
  8139.  
  8140. class H245_MultilinkRequest_removeConnection : public PASN_Sequence
  8141. {
  8142. #ifndef PASN_LEANANDMEAN
  8143.     PCLASSINFO(H245_MultilinkRequest_removeConnection, PASN_Sequence);
  8144. #endif
  8145.   public:
  8146.     H245_MultilinkRequest_removeConnection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  8147.  
  8148.     H245_ConnectionIdentifier m_connectionIdentifier;
  8149.  
  8150.     PINDEX GetDataLength() const;
  8151.     BOOL Decode(PASN_Stream & strm);
  8152.     void Encode(PASN_Stream & strm) const;
  8153. #ifndef PASN_NOPRINTON
  8154.     void PrintOn(ostream & strm) const;
  8155. #endif
  8156.     Comparison Compare(const PObject & obj) const;
  8157.     PObject * Clone() const;
  8158. };
  8159.  
  8160.  
  8161. //
  8162. // MultilinkResponse_callInformation
  8163. //
  8164.  
  8165. class H245_MultilinkResponse_callInformation : public PASN_Sequence
  8166. {
  8167. #ifndef PASN_LEANANDMEAN
  8168.     PCLASSINFO(H245_MultilinkResponse_callInformation, PASN_Sequence);
  8169. #endif
  8170.   public:
  8171.     H245_MultilinkResponse_callInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  8172.  
  8173.     H245_DialingInformation m_dialingInformation;
  8174.     PASN_Integer m_callAssociationNumber;
  8175.  
  8176.     PINDEX GetDataLength() const;
  8177.     BOOL Decode(PASN_Stream & strm);
  8178.     void Encode(PASN_Stream & strm) const;
  8179. #ifndef PASN_NOPRINTON
  8180.     void PrintOn(ostream & strm) const;
  8181. #endif
  8182.     Comparison Compare(const PObject & obj) const;
  8183.     PObject * Clone() const;
  8184. };
  8185.  
  8186.  
  8187. //
  8188. // MultilinkResponse_removeConnection
  8189. //
  8190.  
  8191. class H245_MultilinkResponse_removeConnection : public PASN_Sequence
  8192. {
  8193. #ifndef PASN_LEANANDMEAN
  8194.     PCLASSINFO(H245_MultilinkResponse_removeConnection, PASN_Sequence);
  8195. #endif
  8196.   public:
  8197.     H245_MultilinkResponse_removeConnection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  8198.  
  8199.     H245_ConnectionIdentifier m_connectionIdentifier;
  8200.  
  8201.     PINDEX GetDataLength() const;
  8202.     BOOL Decode(PASN_Stream & strm);
  8203.     void Encode(PASN_Stream & strm) const;
  8204. #ifndef PASN_NOPRINTON
  8205.     void PrintOn(ostream & strm) const;
  8206. #endif
  8207.     Comparison Compare(const PObject & obj) const;
  8208.     PObject * Clone() const;
  8209. };
  8210.  
  8211.  
  8212. //
  8213. // MultilinkResponse_maximumHeaderInterval
  8214. //
  8215.  
  8216. class H245_MultilinkResponse_maximumHeaderInterval : public PASN_Sequence
  8217. {
  8218. #ifndef PASN_LEANANDMEAN
  8219.     PCLASSINFO(H245_MultilinkResponse_maximumHeaderInterval, PASN_Sequence);
  8220. #endif
  8221.   public:
  8222.     H245_MultilinkResponse_maximumHeaderInterval(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  8223.  
  8224.     PASN_Integer m_currentInterval;
  8225.  
  8226.     PINDEX GetDataLength() const;
  8227.     BOOL Decode(PASN_Stream & strm);
  8228.     void Encode(PASN_Stream & strm) const;
  8229. #ifndef PASN_NOPRINTON
  8230.     void PrintOn(ostream & strm) const;
  8231. #endif
  8232.     Comparison Compare(const PObject & obj) const;
  8233.     PObject * Clone() const;
  8234. };
  8235.  
  8236.  
  8237. //
  8238. // MultilinkIndication_crcDesired
  8239. //
  8240.  
  8241. class H245_MultilinkIndication_crcDesired : public PASN_Sequence
  8242. {
  8243. #ifndef PASN_LEANANDMEAN
  8244.     PCLASSINFO(H245_MultilinkIndication_crcDesired, PASN_Sequence);
  8245. #endif
  8246.   public:
  8247.     H245_MultilinkIndication_crcDesired(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  8248.  
  8249.  
  8250.     PINDEX GetDataLength() const;
  8251.     BOOL Decode(PASN_Stream & strm);
  8252.     void Encode(PASN_Stream & strm) const;
  8253. #ifndef PASN_NOPRINTON
  8254.     void PrintOn(ostream & strm) const;
  8255. #endif
  8256.     PObject * Clone() const;
  8257. };
  8258.  
  8259.  
  8260. //
  8261. // MultilinkIndication_excessiveError
  8262. //
  8263.  
  8264. class H245_MultilinkIndication_excessiveError : public PASN_Sequence
  8265. {
  8266. #ifndef PASN_LEANANDMEAN
  8267.     PCLASSINFO(H245_MultilinkIndication_excessiveError, PASN_Sequence);
  8268. #endif
  8269.   public:
  8270.     H245_MultilinkIndication_excessiveError(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  8271.  
  8272.     H245_ConnectionIdentifier m_connectionIdentifier;
  8273.  
  8274.     PINDEX GetDataLength() const;
  8275.     BOOL Decode(PASN_Stream & strm);
  8276.     void Encode(PASN_Stream & strm) const;
  8277. #ifndef PASN_NOPRINTON
  8278.     void PrintOn(ostream & strm) const;
  8279. #endif
  8280.     Comparison Compare(const PObject & obj) const;
  8281.     PObject * Clone() const;
  8282. };
  8283.  
  8284.  
  8285. //
  8286. // ArrayOf_DialingInformationNumber
  8287. //
  8288.  
  8289. class H245_DialingInformationNumber;
  8290.  
  8291. class H245_ArrayOf_DialingInformationNumber : public PASN_Array
  8292. {
  8293. #ifndef PASN_LEANANDMEAN
  8294.     PCLASSINFO(H245_ArrayOf_DialingInformationNumber, PASN_Array);
  8295. #endif
  8296.   public:
  8297.     H245_ArrayOf_DialingInformationNumber(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  8298.  
  8299.     PASN_Object * CreateObject() const;
  8300.     H245_DialingInformationNumber & operator[](PINDEX i) const;
  8301.     PObject * Clone() const;
  8302. };
  8303.  
  8304.  
  8305. //
  8306. // ArrayOf_DialingInformationNetworkType
  8307. //
  8308.  
  8309. class H245_DialingInformationNetworkType;
  8310.  
  8311. class H245_ArrayOf_DialingInformationNetworkType : public PASN_Array
  8312. {
  8313. #ifndef PASN_LEANANDMEAN
  8314.     PCLASSINFO(H245_ArrayOf_DialingInformationNetworkType, PASN_Array);
  8315. #endif
  8316.   public:
  8317.     H245_ArrayOf_DialingInformationNetworkType(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  8318.  
  8319.     PASN_Object * CreateObject() const;
  8320.     H245_DialingInformationNetworkType & operator[](PINDEX i) const;
  8321.     PObject * Clone() const;
  8322. };
  8323.  
  8324.  
  8325. //
  8326. // FlowControlCommand_scope
  8327. //
  8328.  
  8329. class H245_LogicalChannelNumber;
  8330.  
  8331. class H245_FlowControlCommand_scope : public PASN_Choice
  8332. {
  8333. #ifndef PASN_LEANANDMEAN
  8334.     PCLASSINFO(H245_FlowControlCommand_scope, PASN_Choice);
  8335. #endif
  8336.   public:
  8337.     H245_FlowControlCommand_scope(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8338.  
  8339.     enum Choices {
  8340.       e_logicalChannelNumber,
  8341.       e_resourceID,
  8342.       e_wholeMultiplex
  8343.     };
  8344.  
  8345. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8346.     operator H245_LogicalChannelNumber &() const;
  8347. #else
  8348.     operator H245_LogicalChannelNumber &();
  8349.     operator const H245_LogicalChannelNumber &() const;
  8350. #endif
  8351.  
  8352.     BOOL CreateObject();
  8353.     PObject * Clone() const;
  8354. };
  8355.  
  8356.  
  8357. //
  8358. // FlowControlCommand_restriction
  8359. //
  8360.  
  8361. class H245_FlowControlCommand_restriction : public PASN_Choice
  8362. {
  8363. #ifndef PASN_LEANANDMEAN
  8364.     PCLASSINFO(H245_FlowControlCommand_restriction, PASN_Choice);
  8365. #endif
  8366.   public:
  8367.     H245_FlowControlCommand_restriction(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8368.  
  8369.     enum Choices {
  8370.       e_maximumBitRate,
  8371.       e_noRestriction
  8372.     };
  8373.  
  8374.     BOOL CreateObject();
  8375.     PObject * Clone() const;
  8376. };
  8377.  
  8378.  
  8379. //
  8380. // EndSessionCommand_gstnOptions
  8381. //
  8382.  
  8383. class H245_EndSessionCommand_gstnOptions : public PASN_Choice
  8384. {
  8385. #ifndef PASN_LEANANDMEAN
  8386.     PCLASSINFO(H245_EndSessionCommand_gstnOptions, PASN_Choice);
  8387. #endif
  8388.   public:
  8389.     H245_EndSessionCommand_gstnOptions(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8390.  
  8391.     enum Choices {
  8392.       e_telephonyMode,
  8393.       e_v8bis,
  8394.       e_v34DSVD,
  8395.       e_v34DuplexFAX,
  8396.       e_v34H324
  8397.     };
  8398.  
  8399.     BOOL CreateObject();
  8400.     PObject * Clone() const;
  8401. };
  8402.  
  8403.  
  8404. //
  8405. // EndSessionCommand_isdnOptions
  8406. //
  8407.  
  8408. class H245_EndSessionCommand_isdnOptions : public PASN_Choice
  8409. {
  8410. #ifndef PASN_LEANANDMEAN
  8411.     PCLASSINFO(H245_EndSessionCommand_isdnOptions, PASN_Choice);
  8412. #endif
  8413.   public:
  8414.     H245_EndSessionCommand_isdnOptions(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8415.  
  8416.     enum Choices {
  8417.       e_telephonyMode,
  8418.       e_v140,
  8419.       e_terminalOnHold
  8420.     };
  8421.  
  8422.     BOOL CreateObject();
  8423.     PObject * Clone() const;
  8424. };
  8425.  
  8426.  
  8427. //
  8428. // MiscellaneousCommand_type
  8429. //
  8430.  
  8431. class H245_MiscellaneousCommand_type_videoFastUpdateGOB;
  8432. class H245_MiscellaneousCommand_type_videoFastUpdateMB;
  8433. class H245_EncryptionSync;
  8434. class H245_EncryptionUpdateRequest;
  8435. class H245_MiscellaneousCommand_type_progressiveRefinementStart;
  8436. class H245_MiscellaneousCommand_type_videoBadMBs;
  8437. class H245_ArrayOf_PictureReference;
  8438. class H245_MiscellaneousCommand_type_lostPartialPicture;
  8439. class H245_ArrayOf_PictureReference;
  8440.  
  8441. class H245_MiscellaneousCommand_type : public PASN_Choice
  8442. {
  8443. #ifndef PASN_LEANANDMEAN
  8444.     PCLASSINFO(H245_MiscellaneousCommand_type, PASN_Choice);
  8445. #endif
  8446.   public:
  8447.     H245_MiscellaneousCommand_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8448.  
  8449.     enum Choices {
  8450.       e_equaliseDelay,
  8451.       e_zeroDelay,
  8452.       e_multipointModeCommand,
  8453.       e_cancelMultipointModeCommand,
  8454.       e_videoFreezePicture,
  8455.       e_videoFastUpdatePicture,
  8456.       e_videoFastUpdateGOB,
  8457.       e_videoTemporalSpatialTradeOff,
  8458.       e_videoSendSyncEveryGOB,
  8459.       e_videoSendSyncEveryGOBCancel,
  8460.       e_videoFastUpdateMB,
  8461.       e_maxH223MUXPDUsize,
  8462.       e_encryptionUpdate,
  8463.       e_encryptionUpdateRequest,
  8464.       e_switchReceiveMediaOff,
  8465.       e_switchReceiveMediaOn,
  8466.       e_progressiveRefinementStart,
  8467.       e_progressiveRefinementAbortOne,
  8468.       e_progressiveRefinementAbortContinuous,
  8469.       e_videoBadMBs,
  8470.       e_lostPicture,
  8471.       e_lostPartialPicture,
  8472.       e_recoveryReferencePicture
  8473.     };
  8474.  
  8475. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8476.     operator H245_MiscellaneousCommand_type_videoFastUpdateGOB &() const;
  8477. #else
  8478.     operator H245_MiscellaneousCommand_type_videoFastUpdateGOB &();
  8479.     operator const H245_MiscellaneousCommand_type_videoFastUpdateGOB &() const;
  8480. #endif
  8481. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8482.     operator H245_MiscellaneousCommand_type_videoFastUpdateMB &() const;
  8483. #else
  8484.     operator H245_MiscellaneousCommand_type_videoFastUpdateMB &();
  8485.     operator const H245_MiscellaneousCommand_type_videoFastUpdateMB &() const;
  8486. #endif
  8487. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8488.     operator H245_EncryptionSync &() const;
  8489. #else
  8490.     operator H245_EncryptionSync &();
  8491.     operator const H245_EncryptionSync &() const;
  8492. #endif
  8493. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8494.     operator H245_EncryptionUpdateRequest &() const;
  8495. #else
  8496.     operator H245_EncryptionUpdateRequest &();
  8497.     operator const H245_EncryptionUpdateRequest &() const;
  8498. #endif
  8499. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8500.     operator H245_MiscellaneousCommand_type_progressiveRefinementStart &() const;
  8501. #else
  8502.     operator H245_MiscellaneousCommand_type_progressiveRefinementStart &();
  8503.     operator const H245_MiscellaneousCommand_type_progressiveRefinementStart &() const;
  8504. #endif
  8505. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8506.     operator H245_MiscellaneousCommand_type_videoBadMBs &() const;
  8507. #else
  8508.     operator H245_MiscellaneousCommand_type_videoBadMBs &();
  8509.     operator const H245_MiscellaneousCommand_type_videoBadMBs &() const;
  8510. #endif
  8511. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8512.     operator H245_ArrayOf_PictureReference &() const;
  8513. #else
  8514.     operator H245_ArrayOf_PictureReference &();
  8515.     operator const H245_ArrayOf_PictureReference &() const;
  8516. #endif
  8517. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8518.     operator H245_MiscellaneousCommand_type_lostPartialPicture &() const;
  8519. #else
  8520.     operator H245_MiscellaneousCommand_type_lostPartialPicture &();
  8521.     operator const H245_MiscellaneousCommand_type_lostPartialPicture &() const;
  8522. #endif
  8523.  
  8524.     BOOL CreateObject();
  8525.     PObject * Clone() const;
  8526. };
  8527.  
  8528.  
  8529. //
  8530. // H223MultiplexReconfiguration_h223ModeChange
  8531. //
  8532.  
  8533. class H245_H223MultiplexReconfiguration_h223ModeChange : public PASN_Choice
  8534. {
  8535. #ifndef PASN_LEANANDMEAN
  8536.     PCLASSINFO(H245_H223MultiplexReconfiguration_h223ModeChange, PASN_Choice);
  8537. #endif
  8538.   public:
  8539.     H245_H223MultiplexReconfiguration_h223ModeChange(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8540.  
  8541.     enum Choices {
  8542.       e_toLevel0,
  8543.       e_toLevel1,
  8544.       e_toLevel2,
  8545.       e_toLevel2withOptionalHeader
  8546.     };
  8547.  
  8548.     BOOL CreateObject();
  8549.     PObject * Clone() const;
  8550. };
  8551.  
  8552.  
  8553. //
  8554. // H223MultiplexReconfiguration_h223AnnexADoubleFlag
  8555. //
  8556.  
  8557. class H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag : public PASN_Choice
  8558. {
  8559. #ifndef PASN_LEANANDMEAN
  8560.     PCLASSINFO(H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag, PASN_Choice);
  8561. #endif
  8562.   public:
  8563.     H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8564.  
  8565.     enum Choices {
  8566.       e_start,
  8567.       e_stop
  8568.     };
  8569.  
  8570.     BOOL CreateObject();
  8571.     PObject * Clone() const;
  8572. };
  8573.  
  8574.  
  8575. //
  8576. // NewATMVCCommand_aal
  8577. //
  8578.  
  8579. class H245_NewATMVCCommand_aal_aal1;
  8580. class H245_NewATMVCCommand_aal_aal5;
  8581.  
  8582. class H245_NewATMVCCommand_aal : public PASN_Choice
  8583. {
  8584. #ifndef PASN_LEANANDMEAN
  8585.     PCLASSINFO(H245_NewATMVCCommand_aal, PASN_Choice);
  8586. #endif
  8587.   public:
  8588.     H245_NewATMVCCommand_aal(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8589.  
  8590.     enum Choices {
  8591.       e_aal1,
  8592.       e_aal5
  8593.     };
  8594.  
  8595. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8596.     operator H245_NewATMVCCommand_aal_aal1 &() const;
  8597. #else
  8598.     operator H245_NewATMVCCommand_aal_aal1 &();
  8599.     operator const H245_NewATMVCCommand_aal_aal1 &() const;
  8600. #endif
  8601. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8602.     operator H245_NewATMVCCommand_aal_aal5 &() const;
  8603. #else
  8604.     operator H245_NewATMVCCommand_aal_aal5 &();
  8605.     operator const H245_NewATMVCCommand_aal_aal5 &() const;
  8606. #endif
  8607.  
  8608.     BOOL CreateObject();
  8609.     PObject * Clone() const;
  8610. };
  8611.  
  8612.  
  8613. //
  8614. // NewATMVCCommand_multiplex
  8615. //
  8616.  
  8617. class H245_NewATMVCCommand_multiplex : public PASN_Choice
  8618. {
  8619. #ifndef PASN_LEANANDMEAN
  8620.     PCLASSINFO(H245_NewATMVCCommand_multiplex, PASN_Choice);
  8621. #endif
  8622.   public:
  8623.     H245_NewATMVCCommand_multiplex(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8624.  
  8625.     enum Choices {
  8626.       e_noMultiplex,
  8627.       e_transportStream,
  8628.       e_programStream
  8629.     };
  8630.  
  8631.     BOOL CreateObject();
  8632.     PObject * Clone() const;
  8633. };
  8634.  
  8635.  
  8636. //
  8637. // MobileMultilinkReconfigurationCommand_status
  8638. //
  8639.  
  8640. class H245_MobileMultilinkReconfigurationCommand_status : public PASN_Choice
  8641. {
  8642. #ifndef PASN_LEANANDMEAN
  8643.     PCLASSINFO(H245_MobileMultilinkReconfigurationCommand_status, PASN_Choice);
  8644. #endif
  8645.   public:
  8646.     H245_MobileMultilinkReconfigurationCommand_status(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8647.  
  8648.     enum Choices {
  8649.       e_synchronized,
  8650.       e_reconfiguration
  8651.     };
  8652.  
  8653.     BOOL CreateObject();
  8654.     PObject * Clone() const;
  8655. };
  8656.  
  8657.  
  8658. //
  8659. // FunctionNotSupported_cause
  8660. //
  8661.  
  8662. class H245_FunctionNotSupported_cause : public PASN_Choice
  8663. {
  8664. #ifndef PASN_LEANANDMEAN
  8665.     PCLASSINFO(H245_FunctionNotSupported_cause, PASN_Choice);
  8666. #endif
  8667.   public:
  8668.     H245_FunctionNotSupported_cause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8669.  
  8670.     enum Choices {
  8671.       e_syntaxError,
  8672.       e_semanticError,
  8673.       e_unknownFunction
  8674.     };
  8675.  
  8676.     BOOL CreateObject();
  8677.     PObject * Clone() const;
  8678. };
  8679.  
  8680.  
  8681. //
  8682. // MiscellaneousIndication_type
  8683. //
  8684.  
  8685. class H245_MiscellaneousIndication_type_videoNotDecodedMBs;
  8686. class H245_TransportCapability;
  8687.  
  8688. class H245_MiscellaneousIndication_type : public PASN_Choice
  8689. {
  8690. #ifndef PASN_LEANANDMEAN
  8691.     PCLASSINFO(H245_MiscellaneousIndication_type, PASN_Choice);
  8692. #endif
  8693.   public:
  8694.     H245_MiscellaneousIndication_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8695.  
  8696.     enum Choices {
  8697.       e_logicalChannelActive,
  8698.       e_logicalChannelInactive,
  8699.       e_multipointConference,
  8700.       e_cancelMultipointConference,
  8701.       e_multipointZeroComm,
  8702.       e_cancelMultipointZeroComm,
  8703.       e_multipointSecondaryStatus,
  8704.       e_cancelMultipointSecondaryStatus,
  8705.       e_videoIndicateReadyToActivate,
  8706.       e_videoTemporalSpatialTradeOff,
  8707.       e_videoNotDecodedMBs,
  8708.       e_transportCapability
  8709.     };
  8710.  
  8711. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8712.     operator H245_MiscellaneousIndication_type_videoNotDecodedMBs &() const;
  8713. #else
  8714.     operator H245_MiscellaneousIndication_type_videoNotDecodedMBs &();
  8715.     operator const H245_MiscellaneousIndication_type_videoNotDecodedMBs &() const;
  8716. #endif
  8717. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8718.     operator H245_TransportCapability &() const;
  8719. #else
  8720.     operator H245_TransportCapability &();
  8721.     operator const H245_TransportCapability &() const;
  8722. #endif
  8723.  
  8724.     BOOL CreateObject();
  8725.     PObject * Clone() const;
  8726. };
  8727.  
  8728.  
  8729. //
  8730. // JitterIndication_scope
  8731. //
  8732.  
  8733. class H245_LogicalChannelNumber;
  8734.  
  8735. class H245_JitterIndication_scope : public PASN_Choice
  8736. {
  8737. #ifndef PASN_LEANANDMEAN
  8738.     PCLASSINFO(H245_JitterIndication_scope, PASN_Choice);
  8739. #endif
  8740.   public:
  8741.     H245_JitterIndication_scope(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8742.  
  8743.     enum Choices {
  8744.       e_logicalChannelNumber,
  8745.       e_resourceID,
  8746.       e_wholeMultiplex
  8747.     };
  8748.  
  8749. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8750.     operator H245_LogicalChannelNumber &() const;
  8751. #else
  8752.     operator H245_LogicalChannelNumber &();
  8753.     operator const H245_LogicalChannelNumber &() const;
  8754. #endif
  8755.  
  8756.     BOOL CreateObject();
  8757.     PObject * Clone() const;
  8758. };
  8759.  
  8760.  
  8761. //
  8762. // NewATMVCIndication_aal
  8763. //
  8764.  
  8765. class H245_NewATMVCIndication_aal_aal1;
  8766. class H245_NewATMVCIndication_aal_aal5;
  8767.  
  8768. class H245_NewATMVCIndication_aal : public PASN_Choice
  8769. {
  8770. #ifndef PASN_LEANANDMEAN
  8771.     PCLASSINFO(H245_NewATMVCIndication_aal, PASN_Choice);
  8772. #endif
  8773.   public:
  8774.     H245_NewATMVCIndication_aal(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8775.  
  8776.     enum Choices {
  8777.       e_aal1,
  8778.       e_aal5
  8779.     };
  8780.  
  8781. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8782.     operator H245_NewATMVCIndication_aal_aal1 &() const;
  8783. #else
  8784.     operator H245_NewATMVCIndication_aal_aal1 &();
  8785.     operator const H245_NewATMVCIndication_aal_aal1 &() const;
  8786. #endif
  8787. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8788.     operator H245_NewATMVCIndication_aal_aal5 &() const;
  8789. #else
  8790.     operator H245_NewATMVCIndication_aal_aal5 &();
  8791.     operator const H245_NewATMVCIndication_aal_aal5 &() const;
  8792. #endif
  8793.  
  8794.     BOOL CreateObject();
  8795.     PObject * Clone() const;
  8796. };
  8797.  
  8798.  
  8799. //
  8800. // NewATMVCIndication_multiplex
  8801. //
  8802.  
  8803. class H245_NewATMVCIndication_multiplex : public PASN_Choice
  8804. {
  8805. #ifndef PASN_LEANANDMEAN
  8806.     PCLASSINFO(H245_NewATMVCIndication_multiplex, PASN_Choice);
  8807. #endif
  8808.   public:
  8809.     H245_NewATMVCIndication_multiplex(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8810.  
  8811.     enum Choices {
  8812.       e_noMultiplex,
  8813.       e_transportStream,
  8814.       e_programStream
  8815.     };
  8816.  
  8817.     BOOL CreateObject();
  8818.     PObject * Clone() const;
  8819. };
  8820.  
  8821.  
  8822. //
  8823. // UserInputIndication_userInputSupportIndication
  8824. //
  8825.  
  8826. class H245_NonStandardParameter;
  8827.  
  8828. class H245_UserInputIndication_userInputSupportIndication : public PASN_Choice
  8829. {
  8830. #ifndef PASN_LEANANDMEAN
  8831.     PCLASSINFO(H245_UserInputIndication_userInputSupportIndication, PASN_Choice);
  8832. #endif
  8833.   public:
  8834.     H245_UserInputIndication_userInputSupportIndication(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8835.  
  8836.     enum Choices {
  8837.       e_nonStandard,
  8838.       e_basicString,
  8839.       e_iA5String,
  8840.       e_generalString
  8841.     };
  8842.  
  8843. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8844.     operator H245_NonStandardParameter &() const;
  8845. #else
  8846.     operator H245_NonStandardParameter &();
  8847.     operator const H245_NonStandardParameter &() const;
  8848. #endif
  8849.  
  8850.     BOOL CreateObject();
  8851.     PObject * Clone() const;
  8852. };
  8853.  
  8854.  
  8855. //
  8856. // UserInputIndication_extendedAlphanumeric
  8857. //
  8858.  
  8859. class H245_UserInputIndication_extendedAlphanumeric : public PASN_Sequence
  8860. {
  8861. #ifndef PASN_LEANANDMEAN
  8862.     PCLASSINFO(H245_UserInputIndication_extendedAlphanumeric, PASN_Sequence);
  8863. #endif
  8864.   public:
  8865.     H245_UserInputIndication_extendedAlphanumeric(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  8866.  
  8867.     enum OptionalFields {
  8868.       e_rtpPayloadIndication
  8869.     };
  8870.  
  8871.     PASN_GeneralString m_alphanumeric;
  8872.     PASN_Null m_rtpPayloadIndication;
  8873.  
  8874.     PINDEX GetDataLength() const;
  8875.     BOOL Decode(PASN_Stream & strm);
  8876.     void Encode(PASN_Stream & strm) const;
  8877. #ifndef PASN_NOPRINTON
  8878.     void PrintOn(ostream & strm) const;
  8879. #endif
  8880.     Comparison Compare(const PObject & obj) const;
  8881.     PObject * Clone() const;
  8882. };
  8883.  
  8884.  
  8885. //
  8886. // FlowControlIndication_scope
  8887. //
  8888.  
  8889. class H245_LogicalChannelNumber;
  8890.  
  8891. class H245_FlowControlIndication_scope : public PASN_Choice
  8892. {
  8893. #ifndef PASN_LEANANDMEAN
  8894.     PCLASSINFO(H245_FlowControlIndication_scope, PASN_Choice);
  8895. #endif
  8896.   public:
  8897.     H245_FlowControlIndication_scope(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8898.  
  8899.     enum Choices {
  8900.       e_logicalChannelNumber,
  8901.       e_resourceID,
  8902.       e_wholeMultiplex
  8903.     };
  8904.  
  8905. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8906.     operator H245_LogicalChannelNumber &() const;
  8907. #else
  8908.     operator H245_LogicalChannelNumber &();
  8909.     operator const H245_LogicalChannelNumber &() const;
  8910. #endif
  8911.  
  8912.     BOOL CreateObject();
  8913.     PObject * Clone() const;
  8914. };
  8915.  
  8916.  
  8917. //
  8918. // FlowControlIndication_restriction
  8919. //
  8920.  
  8921. class H245_FlowControlIndication_restriction : public PASN_Choice
  8922. {
  8923. #ifndef PASN_LEANANDMEAN
  8924.     PCLASSINFO(H245_FlowControlIndication_restriction, PASN_Choice);
  8925. #endif
  8926.   public:
  8927.     H245_FlowControlIndication_restriction(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8928.  
  8929.     enum Choices {
  8930.       e_maximumBitRate,
  8931.       e_noRestriction
  8932.     };
  8933.  
  8934.     BOOL CreateObject();
  8935.     PObject * Clone() const;
  8936. };
  8937.  
  8938.  
  8939. //
  8940. // TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded
  8941. //
  8942.  
  8943. class H245_CapabilityTableEntryNumber;
  8944.  
  8945. class H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded : public PASN_Choice
  8946. {
  8947. #ifndef PASN_LEANANDMEAN
  8948.     PCLASSINFO(H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded, PASN_Choice);
  8949. #endif
  8950.   public:
  8951.     H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8952.  
  8953.     enum Choices {
  8954.       e_highestEntryNumberProcessed,
  8955.       e_noneProcessed
  8956.     };
  8957.  
  8958. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8959.     operator H245_CapabilityTableEntryNumber &() const;
  8960. #else
  8961.     operator H245_CapabilityTableEntryNumber &();
  8962.     operator const H245_CapabilityTableEntryNumber &() const;
  8963. #endif
  8964.  
  8965.     BOOL CreateObject();
  8966.     PObject * Clone() const;
  8967. };
  8968.  
  8969.  
  8970. //
  8971. // VCCapability_availableBitRates_type
  8972. //
  8973.  
  8974. class H245_VCCapability_availableBitRates_type_rangeOfBitRates;
  8975.  
  8976. class H245_VCCapability_availableBitRates_type : public PASN_Choice
  8977. {
  8978. #ifndef PASN_LEANANDMEAN
  8979.     PCLASSINFO(H245_VCCapability_availableBitRates_type, PASN_Choice);
  8980. #endif
  8981.   public:
  8982.     H245_VCCapability_availableBitRates_type(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  8983.  
  8984.     enum Choices {
  8985.       e_singleBitRate,
  8986.       e_rangeOfBitRates
  8987.     };
  8988.  
  8989. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  8990.     operator H245_VCCapability_availableBitRates_type_rangeOfBitRates &() const;
  8991. #else
  8992.     operator H245_VCCapability_availableBitRates_type_rangeOfBitRates &();
  8993.     operator const H245_VCCapability_availableBitRates_type_rangeOfBitRates &() const;
  8994. #endif
  8995.  
  8996.     BOOL CreateObject();
  8997.     PObject * Clone() const;
  8998. };
  8999.  
  9000.  
  9001. //
  9002. // ArrayOf_Q2931Address
  9003. //
  9004.  
  9005. class H245_Q2931Address;
  9006.  
  9007. class H245_ArrayOf_Q2931Address : public PASN_Array
  9008. {
  9009. #ifndef PASN_LEANANDMEAN
  9010.     PCLASSINFO(H245_ArrayOf_Q2931Address, PASN_Array);
  9011. #endif
  9012.   public:
  9013.     H245_ArrayOf_Q2931Address(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  9014.  
  9015.     PASN_Object * CreateObject() const;
  9016.     H245_Q2931Address & operator[](PINDEX i) const;
  9017.     PObject * Clone() const;
  9018. };
  9019.  
  9020.  
  9021. //
  9022. // H223Capability_h223MultiplexTableCapability_enhanced
  9023. //
  9024.  
  9025. class H245_H223Capability_h223MultiplexTableCapability_enhanced : public PASN_Sequence
  9026. {
  9027. #ifndef PASN_LEANANDMEAN
  9028.     PCLASSINFO(H245_H223Capability_h223MultiplexTableCapability_enhanced, PASN_Sequence);
  9029. #endif
  9030.   public:
  9031.     H245_H223Capability_h223MultiplexTableCapability_enhanced(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9032.  
  9033.     PASN_Integer m_maximumNestingDepth;
  9034.     PASN_Integer m_maximumElementListSize;
  9035.     PASN_Integer m_maximumSubElementListSize;
  9036.  
  9037.     PINDEX GetDataLength() const;
  9038.     BOOL Decode(PASN_Stream & strm);
  9039.     void Encode(PASN_Stream & strm) const;
  9040. #ifndef PASN_NOPRINTON
  9041.     void PrintOn(ostream & strm) const;
  9042. #endif
  9043.     Comparison Compare(const PObject & obj) const;
  9044.     PObject * Clone() const;
  9045. };
  9046.  
  9047.  
  9048. //
  9049. // ArrayOf_RTPH263VideoRedundancyFrameMapping
  9050. //
  9051.  
  9052. class H245_RTPH263VideoRedundancyFrameMapping;
  9053.  
  9054. class H245_ArrayOf_RTPH263VideoRedundancyFrameMapping : public PASN_Array
  9055. {
  9056. #ifndef PASN_LEANANDMEAN
  9057.     PCLASSINFO(H245_ArrayOf_RTPH263VideoRedundancyFrameMapping, PASN_Array);
  9058. #endif
  9059.   public:
  9060.     H245_ArrayOf_RTPH263VideoRedundancyFrameMapping(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9061.  
  9062.     PASN_Object * CreateObject() const;
  9063.     H245_RTPH263VideoRedundancyFrameMapping & operator[](PINDEX i) const;
  9064.     PObject * Clone() const;
  9065. };
  9066.  
  9067.  
  9068. //
  9069. // RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters
  9070. //
  9071.  
  9072. class H245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters : public PASN_Sequence
  9073. {
  9074. #ifndef PASN_LEANANDMEAN
  9075.     PCLASSINFO(H245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters, PASN_Sequence);
  9076. #endif
  9077.   public:
  9078.     H245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9079.  
  9080.     PASN_Integer m_mpuHorizMBs;
  9081.     PASN_Integer m_mpuVertMBs;
  9082.     PASN_Integer m_mpuTotalNumber;
  9083.  
  9084.     PINDEX GetDataLength() const;
  9085.     BOOL Decode(PASN_Stream & strm);
  9086.     void Encode(PASN_Stream & strm) const;
  9087. #ifndef PASN_NOPRINTON
  9088.     void PrintOn(ostream & strm) const;
  9089. #endif
  9090.     Comparison Compare(const PObject & obj) const;
  9091.     PObject * Clone() const;
  9092. };
  9093.  
  9094.  
  9095. //
  9096. // CustomPictureFormat_mPI_customPCF
  9097. //
  9098.  
  9099. class H245_CustomPictureFormat_mPI_customPCF_subtype;
  9100.  
  9101. class H245_CustomPictureFormat_mPI_customPCF : public PASN_Array
  9102. {
  9103. #ifndef PASN_LEANANDMEAN
  9104.     PCLASSINFO(H245_CustomPictureFormat_mPI_customPCF, PASN_Array);
  9105. #endif
  9106.   public:
  9107.     H245_CustomPictureFormat_mPI_customPCF(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  9108.  
  9109.     PASN_Object * CreateObject() const;
  9110.     H245_CustomPictureFormat_mPI_customPCF_subtype & operator[](PINDEX i) const;
  9111.     PObject * Clone() const;
  9112. };
  9113.  
  9114.  
  9115. //
  9116. // CustomPictureFormat_pixelAspectInformation_pixelAspectCode
  9117. //
  9118.  
  9119. class H245_CustomPictureFormat_pixelAspectInformation_pixelAspectCode : public PASN_Array
  9120. {
  9121. #ifndef PASN_LEANANDMEAN
  9122.     PCLASSINFO(H245_CustomPictureFormat_pixelAspectInformation_pixelAspectCode, PASN_Array);
  9123. #endif
  9124.   public:
  9125.     H245_CustomPictureFormat_pixelAspectInformation_pixelAspectCode(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  9126.  
  9127.     PASN_Object * CreateObject() const;
  9128.     PASN_Integer & operator[](PINDEX i) const;
  9129.     PObject * Clone() const;
  9130. };
  9131.  
  9132.  
  9133. //
  9134. // CustomPictureFormat_pixelAspectInformation_extendedPAR
  9135. //
  9136.  
  9137. class H245_CustomPictureFormat_pixelAspectInformation_extendedPAR_subtype;
  9138.  
  9139. class H245_CustomPictureFormat_pixelAspectInformation_extendedPAR : public PASN_Array
  9140. {
  9141. #ifndef PASN_LEANANDMEAN
  9142.     PCLASSINFO(H245_CustomPictureFormat_pixelAspectInformation_extendedPAR, PASN_Array);
  9143. #endif
  9144.   public:
  9145.     H245_CustomPictureFormat_pixelAspectInformation_extendedPAR(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  9146.  
  9147.     PASN_Object * CreateObject() const;
  9148.     H245_CustomPictureFormat_pixelAspectInformation_extendedPAR_subtype & operator[](PINDEX i) const;
  9149.     PObject * Clone() const;
  9150. };
  9151.  
  9152.  
  9153. //
  9154. // DataApplicationCapability_application_t84
  9155. //
  9156.  
  9157. class H245_DataApplicationCapability_application_t84 : public PASN_Sequence
  9158. {
  9159. #ifndef PASN_LEANANDMEAN
  9160.     PCLASSINFO(H245_DataApplicationCapability_application_t84, PASN_Sequence);
  9161. #endif
  9162.   public:
  9163.     H245_DataApplicationCapability_application_t84(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9164.  
  9165.     H245_DataProtocolCapability m_t84Protocol;
  9166.     H245_T84Profile m_t84Profile;
  9167.  
  9168.     PINDEX GetDataLength() const;
  9169.     BOOL Decode(PASN_Stream & strm);
  9170.     void Encode(PASN_Stream & strm) const;
  9171. #ifndef PASN_NOPRINTON
  9172.     void PrintOn(ostream & strm) const;
  9173. #endif
  9174.     Comparison Compare(const PObject & obj) const;
  9175.     PObject * Clone() const;
  9176. };
  9177.  
  9178.  
  9179. //
  9180. // DataApplicationCapability_application_nlpid
  9181. //
  9182.  
  9183. class H245_DataApplicationCapability_application_nlpid : public PASN_Sequence
  9184. {
  9185. #ifndef PASN_LEANANDMEAN
  9186.     PCLASSINFO(H245_DataApplicationCapability_application_nlpid, PASN_Sequence);
  9187. #endif
  9188.   public:
  9189.     H245_DataApplicationCapability_application_nlpid(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9190.  
  9191.     H245_DataProtocolCapability m_nlpidProtocol;
  9192.     PASN_OctetString m_nlpidData;
  9193.  
  9194.     PINDEX GetDataLength() const;
  9195.     BOOL Decode(PASN_Stream & strm);
  9196.     void Encode(PASN_Stream & strm) const;
  9197. #ifndef PASN_NOPRINTON
  9198.     void PrintOn(ostream & strm) const;
  9199. #endif
  9200.     Comparison Compare(const PObject & obj) const;
  9201.     PObject * Clone() const;
  9202. };
  9203.  
  9204.  
  9205. //
  9206. // OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters
  9207. //
  9208.  
  9209. class H245_H222LogicalChannelParameters;
  9210. class H245_H223LogicalChannelParameters;
  9211. class H245_V76LogicalChannelParameters;
  9212. class H245_H2250LogicalChannelParameters;
  9213.  
  9214. class H245_OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters : public PASN_Choice
  9215. {
  9216. #ifndef PASN_LEANANDMEAN
  9217.     PCLASSINFO(H245_OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters, PASN_Choice);
  9218. #endif
  9219.   public:
  9220.     H245_OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  9221.  
  9222.     enum Choices {
  9223.       e_h222LogicalChannelParameters,
  9224.       e_h223LogicalChannelParameters,
  9225.       e_v76LogicalChannelParameters,
  9226.       e_h2250LogicalChannelParameters,
  9227.       e_none
  9228.     };
  9229.  
  9230. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  9231.     operator H245_H222LogicalChannelParameters &() const;
  9232. #else
  9233.     operator H245_H222LogicalChannelParameters &();
  9234.     operator const H245_H222LogicalChannelParameters &() const;
  9235. #endif
  9236. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  9237.     operator H245_H223LogicalChannelParameters &() const;
  9238. #else
  9239.     operator H245_H223LogicalChannelParameters &();
  9240.     operator const H245_H223LogicalChannelParameters &() const;
  9241. #endif
  9242. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  9243.     operator H245_V76LogicalChannelParameters &() const;
  9244. #else
  9245.     operator H245_V76LogicalChannelParameters &();
  9246.     operator const H245_V76LogicalChannelParameters &() const;
  9247. #endif
  9248. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  9249.     operator H245_H2250LogicalChannelParameters &() const;
  9250. #else
  9251.     operator H245_H2250LogicalChannelParameters &();
  9252.     operator const H245_H2250LogicalChannelParameters &() const;
  9253. #endif
  9254.  
  9255.     BOOL CreateObject();
  9256.     PObject * Clone() const;
  9257. };
  9258.  
  9259.  
  9260. //
  9261. // OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters
  9262. //
  9263.  
  9264. class H245_H223LogicalChannelParameters;
  9265. class H245_V76LogicalChannelParameters;
  9266. class H245_H2250LogicalChannelParameters;
  9267.  
  9268. class H245_OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters : public PASN_Choice
  9269. {
  9270. #ifndef PASN_LEANANDMEAN
  9271.     PCLASSINFO(H245_OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters, PASN_Choice);
  9272. #endif
  9273.   public:
  9274.     H245_OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  9275.  
  9276.     enum Choices {
  9277.       e_h223LogicalChannelParameters,
  9278.       e_v76LogicalChannelParameters,
  9279.       e_h2250LogicalChannelParameters
  9280.     };
  9281.  
  9282. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  9283.     operator H245_H223LogicalChannelParameters &() const;
  9284. #else
  9285.     operator H245_H223LogicalChannelParameters &();
  9286.     operator const H245_H223LogicalChannelParameters &() const;
  9287. #endif
  9288. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  9289.     operator H245_V76LogicalChannelParameters &() const;
  9290. #else
  9291.     operator H245_V76LogicalChannelParameters &();
  9292.     operator const H245_V76LogicalChannelParameters &() const;
  9293. #endif
  9294. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  9295.     operator H245_H2250LogicalChannelParameters &() const;
  9296. #else
  9297.     operator H245_H2250LogicalChannelParameters &();
  9298.     operator const H245_H2250LogicalChannelParameters &() const;
  9299. #endif
  9300.  
  9301.     BOOL CreateObject();
  9302.     PObject * Clone() const;
  9303. };
  9304.  
  9305.  
  9306. //
  9307. // H223LogicalChannelParameters_adaptationLayerType_al3
  9308. //
  9309.  
  9310. class H245_H223LogicalChannelParameters_adaptationLayerType_al3 : public PASN_Sequence
  9311. {
  9312. #ifndef PASN_LEANANDMEAN
  9313.     PCLASSINFO(H245_H223LogicalChannelParameters_adaptationLayerType_al3, PASN_Sequence);
  9314. #endif
  9315.   public:
  9316.     H245_H223LogicalChannelParameters_adaptationLayerType_al3(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9317.  
  9318.     PASN_Integer m_controlFieldOctets;
  9319.     PASN_Integer m_sendBufferSize;
  9320.  
  9321.     PINDEX GetDataLength() const;
  9322.     BOOL Decode(PASN_Stream & strm);
  9323.     void Encode(PASN_Stream & strm) const;
  9324. #ifndef PASN_NOPRINTON
  9325.     void PrintOn(ostream & strm) const;
  9326. #endif
  9327.     Comparison Compare(const PObject & obj) const;
  9328.     PObject * Clone() const;
  9329. };
  9330.  
  9331.  
  9332. //
  9333. // UnicastAddress_iPSourceRouteAddress_routing
  9334. //
  9335.  
  9336. class H245_UnicastAddress_iPSourceRouteAddress_routing : public PASN_Choice
  9337. {
  9338. #ifndef PASN_LEANANDMEAN
  9339.     PCLASSINFO(H245_UnicastAddress_iPSourceRouteAddress_routing, PASN_Choice);
  9340. #endif
  9341.   public:
  9342.     H245_UnicastAddress_iPSourceRouteAddress_routing(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  9343.  
  9344.     enum Choices {
  9345.       e_strict,
  9346.       e_loose
  9347.     };
  9348.  
  9349.     BOOL CreateObject();
  9350.     PObject * Clone() const;
  9351. };
  9352.  
  9353.  
  9354. //
  9355. // UnicastAddress_iPSourceRouteAddress_route
  9356. //
  9357.  
  9358. class H245_UnicastAddress_iPSourceRouteAddress_route : public PASN_Array
  9359. {
  9360. #ifndef PASN_LEANANDMEAN
  9361.     PCLASSINFO(H245_UnicastAddress_iPSourceRouteAddress_route, PASN_Array);
  9362. #endif
  9363.   public:
  9364.     H245_UnicastAddress_iPSourceRouteAddress_route(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9365.  
  9366.     PASN_Object * CreateObject() const;
  9367.     PASN_OctetString & operator[](PINDEX i) const;
  9368.     PObject * Clone() const;
  9369. };
  9370.  
  9371.  
  9372. //
  9373. // OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters
  9374. //
  9375.  
  9376. class H245_H222LogicalChannelParameters;
  9377. class H245_H2250LogicalChannelParameters;
  9378.  
  9379. class H245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters : public PASN_Choice
  9380. {
  9381. #ifndef PASN_LEANANDMEAN
  9382.     PCLASSINFO(H245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters, PASN_Choice);
  9383. #endif
  9384.   public:
  9385.     H245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  9386.  
  9387.     enum Choices {
  9388.       e_h222LogicalChannelParameters,
  9389.       e_h2250LogicalChannelParameters
  9390.     };
  9391.  
  9392. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  9393.     operator H245_H222LogicalChannelParameters &() const;
  9394. #else
  9395.     operator H245_H222LogicalChannelParameters &();
  9396.     operator const H245_H222LogicalChannelParameters &() const;
  9397. #endif
  9398. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  9399.     operator H245_H2250LogicalChannelParameters &() const;
  9400. #else
  9401.     operator H245_H2250LogicalChannelParameters &();
  9402.     operator const H245_H2250LogicalChannelParameters &() const;
  9403. #endif
  9404.  
  9405.     BOOL CreateObject();
  9406.     PObject * Clone() const;
  9407. };
  9408.  
  9409.  
  9410. //
  9411. // H223ModeParameters_adaptationLayerType_al3
  9412. //
  9413.  
  9414. class H245_H223ModeParameters_adaptationLayerType_al3 : public PASN_Sequence
  9415. {
  9416. #ifndef PASN_LEANANDMEAN
  9417.     PCLASSINFO(H245_H223ModeParameters_adaptationLayerType_al3, PASN_Sequence);
  9418. #endif
  9419.   public:
  9420.     H245_H223ModeParameters_adaptationLayerType_al3(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9421.  
  9422.     PASN_Integer m_controlFieldOctets;
  9423.     PASN_Integer m_sendBufferSize;
  9424.  
  9425.     PINDEX GetDataLength() const;
  9426.     BOOL Decode(PASN_Stream & strm);
  9427.     void Encode(PASN_Stream & strm) const;
  9428. #ifndef PASN_NOPRINTON
  9429.     void PrintOn(ostream & strm) const;
  9430. #endif
  9431.     Comparison Compare(const PObject & obj) const;
  9432.     PObject * Clone() const;
  9433. };
  9434.  
  9435.  
  9436. //
  9437. // DataMode_application_nlpid
  9438. //
  9439.  
  9440. class H245_DataMode_application_nlpid : public PASN_Sequence
  9441. {
  9442. #ifndef PASN_LEANANDMEAN
  9443.     PCLASSINFO(H245_DataMode_application_nlpid, PASN_Sequence);
  9444. #endif
  9445.   public:
  9446.     H245_DataMode_application_nlpid(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9447.  
  9448.     H245_DataProtocolCapability m_nlpidProtocol;
  9449.     PASN_OctetString m_nlpidData;
  9450.  
  9451.     PINDEX GetDataLength() const;
  9452.     BOOL Decode(PASN_Stream & strm);
  9453.     void Encode(PASN_Stream & strm) const;
  9454. #ifndef PASN_NOPRINTON
  9455.     void PrintOn(ostream & strm) const;
  9456. #endif
  9457.     Comparison Compare(const PObject & obj) const;
  9458.     PObject * Clone() const;
  9459. };
  9460.  
  9461.  
  9462. //
  9463. // MultilinkRequest_maximumHeaderInterval_requestType
  9464. //
  9465.  
  9466. class H245_MultilinkRequest_maximumHeaderInterval_requestType : public PASN_Choice
  9467. {
  9468. #ifndef PASN_LEANANDMEAN
  9469.     PCLASSINFO(H245_MultilinkRequest_maximumHeaderInterval_requestType, PASN_Choice);
  9470. #endif
  9471.   public:
  9472.     H245_MultilinkRequest_maximumHeaderInterval_requestType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  9473.  
  9474.     enum Choices {
  9475.       e_currentIntervalInformation,
  9476.       e_requestedInterval
  9477.     };
  9478.  
  9479.     BOOL CreateObject();
  9480.     PObject * Clone() const;
  9481. };
  9482.  
  9483.  
  9484. //
  9485. // MultilinkResponse_addConnection_responseCode
  9486. //
  9487.  
  9488. class H245_MultilinkResponse_addConnection_responseCode_rejected;
  9489.  
  9490. class H245_MultilinkResponse_addConnection_responseCode : public PASN_Choice
  9491. {
  9492. #ifndef PASN_LEANANDMEAN
  9493.     PCLASSINFO(H245_MultilinkResponse_addConnection_responseCode, PASN_Choice);
  9494. #endif
  9495.   public:
  9496.     H245_MultilinkResponse_addConnection_responseCode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  9497.  
  9498.     enum Choices {
  9499.       e_accepted,
  9500.       e_rejected
  9501.     };
  9502.  
  9503. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  9504.     operator H245_MultilinkResponse_addConnection_responseCode_rejected &() const;
  9505. #else
  9506.     operator H245_MultilinkResponse_addConnection_responseCode_rejected &();
  9507.     operator const H245_MultilinkResponse_addConnection_responseCode_rejected &() const;
  9508. #endif
  9509.  
  9510.     BOOL CreateObject();
  9511.     PObject * Clone() const;
  9512. };
  9513.  
  9514.  
  9515. //
  9516. // ArrayOf_CapabilityDescriptorNumber
  9517. //
  9518.  
  9519. class H245_CapabilityDescriptorNumber;
  9520.  
  9521. class H245_ArrayOf_CapabilityDescriptorNumber : public PASN_Array
  9522. {
  9523. #ifndef PASN_LEANANDMEAN
  9524.     PCLASSINFO(H245_ArrayOf_CapabilityDescriptorNumber, PASN_Array);
  9525. #endif
  9526.   public:
  9527.     H245_ArrayOf_CapabilityDescriptorNumber(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  9528.  
  9529.     PASN_Object * CreateObject() const;
  9530.     H245_CapabilityDescriptorNumber & operator[](PINDEX i) const;
  9531.     PObject * Clone() const;
  9532. };
  9533.  
  9534.  
  9535. //
  9536. // MiscellaneousCommand_type_videoFastUpdateGOB
  9537. //
  9538.  
  9539. class H245_MiscellaneousCommand_type_videoFastUpdateGOB : public PASN_Sequence
  9540. {
  9541. #ifndef PASN_LEANANDMEAN
  9542.     PCLASSINFO(H245_MiscellaneousCommand_type_videoFastUpdateGOB, PASN_Sequence);
  9543. #endif
  9544.   public:
  9545.     H245_MiscellaneousCommand_type_videoFastUpdateGOB(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9546.  
  9547.     PASN_Integer m_firstGOB;
  9548.     PASN_Integer m_numberOfGOBs;
  9549.  
  9550.     PINDEX GetDataLength() const;
  9551.     BOOL Decode(PASN_Stream & strm);
  9552.     void Encode(PASN_Stream & strm) const;
  9553. #ifndef PASN_NOPRINTON
  9554.     void PrintOn(ostream & strm) const;
  9555. #endif
  9556.     Comparison Compare(const PObject & obj) const;
  9557.     PObject * Clone() const;
  9558. };
  9559.  
  9560.  
  9561. //
  9562. // MiscellaneousCommand_type_videoFastUpdateMB
  9563. //
  9564.  
  9565. class H245_MiscellaneousCommand_type_videoFastUpdateMB : public PASN_Sequence
  9566. {
  9567. #ifndef PASN_LEANANDMEAN
  9568.     PCLASSINFO(H245_MiscellaneousCommand_type_videoFastUpdateMB, PASN_Sequence);
  9569. #endif
  9570.   public:
  9571.     H245_MiscellaneousCommand_type_videoFastUpdateMB(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9572.  
  9573.     enum OptionalFields {
  9574.       e_firstGOB,
  9575.       e_firstMB
  9576.     };
  9577.  
  9578.     PASN_Integer m_firstGOB;
  9579.     PASN_Integer m_firstMB;
  9580.     PASN_Integer m_numberOfMBs;
  9581.  
  9582.     PINDEX GetDataLength() const;
  9583.     BOOL Decode(PASN_Stream & strm);
  9584.     void Encode(PASN_Stream & strm) const;
  9585. #ifndef PASN_NOPRINTON
  9586.     void PrintOn(ostream & strm) const;
  9587. #endif
  9588.     Comparison Compare(const PObject & obj) const;
  9589.     PObject * Clone() const;
  9590. };
  9591.  
  9592.  
  9593. //
  9594. // MiscellaneousCommand_type_videoBadMBs
  9595. //
  9596.  
  9597. class H245_MiscellaneousCommand_type_videoBadMBs : public PASN_Sequence
  9598. {
  9599. #ifndef PASN_LEANANDMEAN
  9600.     PCLASSINFO(H245_MiscellaneousCommand_type_videoBadMBs, PASN_Sequence);
  9601. #endif
  9602.   public:
  9603.     H245_MiscellaneousCommand_type_videoBadMBs(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9604.  
  9605.     PASN_Integer m_firstMB;
  9606.     PASN_Integer m_numberOfMBs;
  9607.     PASN_Integer m_temporalReference;
  9608.  
  9609.     PINDEX GetDataLength() const;
  9610.     BOOL Decode(PASN_Stream & strm);
  9611.     void Encode(PASN_Stream & strm) const;
  9612. #ifndef PASN_NOPRINTON
  9613.     void PrintOn(ostream & strm) const;
  9614. #endif
  9615.     Comparison Compare(const PObject & obj) const;
  9616.     PObject * Clone() const;
  9617. };
  9618.  
  9619.  
  9620. //
  9621. // ArrayOf_PictureReference
  9622. //
  9623.  
  9624. class H245_PictureReference;
  9625.  
  9626. class H245_ArrayOf_PictureReference : public PASN_Array
  9627. {
  9628. #ifndef PASN_LEANANDMEAN
  9629.     PCLASSINFO(H245_ArrayOf_PictureReference, PASN_Array);
  9630. #endif
  9631.   public:
  9632.     H245_ArrayOf_PictureReference(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9633.  
  9634.     PASN_Object * CreateObject() const;
  9635.     H245_PictureReference & operator[](PINDEX i) const;
  9636.     PObject * Clone() const;
  9637. };
  9638.  
  9639.  
  9640. //
  9641. // MiscellaneousCommand_type_lostPartialPicture
  9642. //
  9643.  
  9644. class H245_MiscellaneousCommand_type_lostPartialPicture : public PASN_Sequence
  9645. {
  9646. #ifndef PASN_LEANANDMEAN
  9647.     PCLASSINFO(H245_MiscellaneousCommand_type_lostPartialPicture, PASN_Sequence);
  9648. #endif
  9649.   public:
  9650.     H245_MiscellaneousCommand_type_lostPartialPicture(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9651.  
  9652.     H245_PictureReference m_pictureReference;
  9653.     PASN_Integer m_firstMB;
  9654.     PASN_Integer m_numberOfMBs;
  9655.  
  9656.     PINDEX GetDataLength() const;
  9657.     BOOL Decode(PASN_Stream & strm);
  9658.     void Encode(PASN_Stream & strm) const;
  9659. #ifndef PASN_NOPRINTON
  9660.     void PrintOn(ostream & strm) const;
  9661. #endif
  9662.     Comparison Compare(const PObject & obj) const;
  9663.     PObject * Clone() const;
  9664. };
  9665.  
  9666.  
  9667. //
  9668. // NewATMVCCommand_aal_aal5
  9669. //
  9670.  
  9671. class H245_NewATMVCCommand_aal_aal5 : public PASN_Sequence
  9672. {
  9673. #ifndef PASN_LEANANDMEAN
  9674.     PCLASSINFO(H245_NewATMVCCommand_aal_aal5, PASN_Sequence);
  9675. #endif
  9676.   public:
  9677.     H245_NewATMVCCommand_aal_aal5(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9678.  
  9679.     PASN_Integer m_forwardMaximumSDUSize;
  9680.     PASN_Integer m_backwardMaximumSDUSize;
  9681.  
  9682.     PINDEX GetDataLength() const;
  9683.     BOOL Decode(PASN_Stream & strm);
  9684.     void Encode(PASN_Stream & strm) const;
  9685. #ifndef PASN_NOPRINTON
  9686.     void PrintOn(ostream & strm) const;
  9687. #endif
  9688.     Comparison Compare(const PObject & obj) const;
  9689.     PObject * Clone() const;
  9690. };
  9691.  
  9692.  
  9693. //
  9694. // NewATMVCCommand_reverseParameters_multiplex
  9695. //
  9696.  
  9697. class H245_NewATMVCCommand_reverseParameters_multiplex : public PASN_Choice
  9698. {
  9699. #ifndef PASN_LEANANDMEAN
  9700.     PCLASSINFO(H245_NewATMVCCommand_reverseParameters_multiplex, PASN_Choice);
  9701. #endif
  9702.   public:
  9703.     H245_NewATMVCCommand_reverseParameters_multiplex(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  9704.  
  9705.     enum Choices {
  9706.       e_noMultiplex,
  9707.       e_transportStream,
  9708.       e_programStream
  9709.     };
  9710.  
  9711.     BOOL CreateObject();
  9712.     PObject * Clone() const;
  9713. };
  9714.  
  9715.  
  9716. //
  9717. // MiscellaneousIndication_type_videoNotDecodedMBs
  9718. //
  9719.  
  9720. class H245_MiscellaneousIndication_type_videoNotDecodedMBs : public PASN_Sequence
  9721. {
  9722. #ifndef PASN_LEANANDMEAN
  9723.     PCLASSINFO(H245_MiscellaneousIndication_type_videoNotDecodedMBs, PASN_Sequence);
  9724. #endif
  9725.   public:
  9726.     H245_MiscellaneousIndication_type_videoNotDecodedMBs(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9727.  
  9728.     PASN_Integer m_firstMB;
  9729.     PASN_Integer m_numberOfMBs;
  9730.     PASN_Integer m_temporalReference;
  9731.  
  9732.     PINDEX GetDataLength() const;
  9733.     BOOL Decode(PASN_Stream & strm);
  9734.     void Encode(PASN_Stream & strm) const;
  9735. #ifndef PASN_NOPRINTON
  9736.     void PrintOn(ostream & strm) const;
  9737. #endif
  9738.     Comparison Compare(const PObject & obj) const;
  9739.     PObject * Clone() const;
  9740. };
  9741.  
  9742.  
  9743. //
  9744. // NewATMVCIndication_aal_aal5
  9745. //
  9746.  
  9747. class H245_NewATMVCIndication_aal_aal5 : public PASN_Sequence
  9748. {
  9749. #ifndef PASN_LEANANDMEAN
  9750.     PCLASSINFO(H245_NewATMVCIndication_aal_aal5, PASN_Sequence);
  9751. #endif
  9752.   public:
  9753.     H245_NewATMVCIndication_aal_aal5(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9754.  
  9755.     PASN_Integer m_forwardMaximumSDUSize;
  9756.     PASN_Integer m_backwardMaximumSDUSize;
  9757.  
  9758.     PINDEX GetDataLength() const;
  9759.     BOOL Decode(PASN_Stream & strm);
  9760.     void Encode(PASN_Stream & strm) const;
  9761. #ifndef PASN_NOPRINTON
  9762.     void PrintOn(ostream & strm) const;
  9763. #endif
  9764.     Comparison Compare(const PObject & obj) const;
  9765.     PObject * Clone() const;
  9766. };
  9767.  
  9768.  
  9769. //
  9770. // NewATMVCIndication_reverseParameters_multiplex
  9771. //
  9772.  
  9773. class H245_NewATMVCIndication_reverseParameters_multiplex : public PASN_Choice
  9774. {
  9775. #ifndef PASN_LEANANDMEAN
  9776.     PCLASSINFO(H245_NewATMVCIndication_reverseParameters_multiplex, PASN_Choice);
  9777. #endif
  9778.   public:
  9779.     H245_NewATMVCIndication_reverseParameters_multiplex(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  9780.  
  9781.     enum Choices {
  9782.       e_noMultiplex,
  9783.       e_transportStream,
  9784.       e_programStream
  9785.     };
  9786.  
  9787.     BOOL CreateObject();
  9788.     PObject * Clone() const;
  9789. };
  9790.  
  9791.  
  9792. //
  9793. // UserInputIndication_signal_rtp
  9794. //
  9795.  
  9796. class H245_UserInputIndication_signal_rtp : public PASN_Sequence
  9797. {
  9798. #ifndef PASN_LEANANDMEAN
  9799.     PCLASSINFO(H245_UserInputIndication_signal_rtp, PASN_Sequence);
  9800. #endif
  9801.   public:
  9802.     H245_UserInputIndication_signal_rtp(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9803.  
  9804.     enum OptionalFields {
  9805.       e_timestamp,
  9806.       e_expirationTime
  9807.     };
  9808.  
  9809.     PASN_Integer m_timestamp;
  9810.     PASN_Integer m_expirationTime;
  9811.     H245_LogicalChannelNumber m_logicalChannelNumber;
  9812.  
  9813.     PINDEX GetDataLength() const;
  9814.     BOOL Decode(PASN_Stream & strm);
  9815.     void Encode(PASN_Stream & strm) const;
  9816. #ifndef PASN_NOPRINTON
  9817.     void PrintOn(ostream & strm) const;
  9818. #endif
  9819.     Comparison Compare(const PObject & obj) const;
  9820.     PObject * Clone() const;
  9821. };
  9822.  
  9823.  
  9824. //
  9825. // UserInputIndication_signalUpdate_rtp
  9826. //
  9827.  
  9828. class H245_UserInputIndication_signalUpdate_rtp : public PASN_Sequence
  9829. {
  9830. #ifndef PASN_LEANANDMEAN
  9831.     PCLASSINFO(H245_UserInputIndication_signalUpdate_rtp, PASN_Sequence);
  9832. #endif
  9833.   public:
  9834.     H245_UserInputIndication_signalUpdate_rtp(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9835.  
  9836.     H245_LogicalChannelNumber m_logicalChannelNumber;
  9837.  
  9838.     PINDEX GetDataLength() const;
  9839.     BOOL Decode(PASN_Stream & strm);
  9840.     void Encode(PASN_Stream & strm) const;
  9841. #ifndef PASN_NOPRINTON
  9842.     void PrintOn(ostream & strm) const;
  9843. #endif
  9844.     Comparison Compare(const PObject & obj) const;
  9845.     PObject * Clone() const;
  9846. };
  9847.  
  9848.  
  9849. //
  9850. // VCCapability_availableBitRates_type_rangeOfBitRates
  9851. //
  9852.  
  9853. class H245_VCCapability_availableBitRates_type_rangeOfBitRates : public PASN_Sequence
  9854. {
  9855. #ifndef PASN_LEANANDMEAN
  9856.     PCLASSINFO(H245_VCCapability_availableBitRates_type_rangeOfBitRates, PASN_Sequence);
  9857. #endif
  9858.   public:
  9859.     H245_VCCapability_availableBitRates_type_rangeOfBitRates(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9860.  
  9861.     PASN_Integer m_lowerBitRate;
  9862.     PASN_Integer m_higherBitRate;
  9863.  
  9864.     PINDEX GetDataLength() const;
  9865.     BOOL Decode(PASN_Stream & strm);
  9866.     void Encode(PASN_Stream & strm) const;
  9867. #ifndef PASN_NOPRINTON
  9868.     void PrintOn(ostream & strm) const;
  9869. #endif
  9870.     Comparison Compare(const PObject & obj) const;
  9871.     PObject * Clone() const;
  9872. };
  9873.  
  9874.  
  9875. //
  9876. // CustomPictureFormat_mPI_customPCF_subtype
  9877. //
  9878.  
  9879. class H245_CustomPictureFormat_mPI_customPCF_subtype : public PASN_Sequence
  9880. {
  9881. #ifndef PASN_LEANANDMEAN
  9882.     PCLASSINFO(H245_CustomPictureFormat_mPI_customPCF_subtype, PASN_Sequence);
  9883. #endif
  9884.   public:
  9885.     H245_CustomPictureFormat_mPI_customPCF_subtype(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9886.  
  9887.     PASN_Integer m_clockConversionCode;
  9888.     PASN_Integer m_clockDivisor;
  9889.     PASN_Integer m_customMPI;
  9890.  
  9891.     PINDEX GetDataLength() const;
  9892.     BOOL Decode(PASN_Stream & strm);
  9893.     void Encode(PASN_Stream & strm) const;
  9894. #ifndef PASN_NOPRINTON
  9895.     void PrintOn(ostream & strm) const;
  9896. #endif
  9897.     Comparison Compare(const PObject & obj) const;
  9898.     PObject * Clone() const;
  9899. };
  9900.  
  9901.  
  9902. //
  9903. // CustomPictureFormat_pixelAspectInformation_extendedPAR_subtype
  9904. //
  9905.  
  9906. class H245_CustomPictureFormat_pixelAspectInformation_extendedPAR_subtype : public PASN_Sequence
  9907. {
  9908. #ifndef PASN_LEANANDMEAN
  9909.     PCLASSINFO(H245_CustomPictureFormat_pixelAspectInformation_extendedPAR_subtype, PASN_Sequence);
  9910. #endif
  9911.   public:
  9912.     H245_CustomPictureFormat_pixelAspectInformation_extendedPAR_subtype(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  9913.  
  9914.     PASN_Integer m_width;
  9915.     PASN_Integer m_height;
  9916.  
  9917.     PINDEX GetDataLength() const;
  9918.     BOOL Decode(PASN_Stream & strm);
  9919.     void Encode(PASN_Stream & strm) const;
  9920. #ifndef PASN_NOPRINTON
  9921.     void PrintOn(ostream & strm) const;
  9922. #endif
  9923.     Comparison Compare(const PObject & obj) const;
  9924.     PObject * Clone() const;
  9925. };
  9926.  
  9927.  
  9928. //
  9929. // V76LogicalChannelParameters_mode_eRM_recovery
  9930. //
  9931.  
  9932. class H245_V76LogicalChannelParameters_mode_eRM_recovery : public PASN_Choice
  9933. {
  9934. #ifndef PASN_LEANANDMEAN
  9935.     PCLASSINFO(H245_V76LogicalChannelParameters_mode_eRM_recovery, PASN_Choice);
  9936. #endif
  9937.   public:
  9938.     H245_V76LogicalChannelParameters_mode_eRM_recovery(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  9939.  
  9940.     enum Choices {
  9941.       e_rej,
  9942.       e_sREJ,
  9943.       e_mSREJ
  9944.     };
  9945.  
  9946.     BOOL CreateObject();
  9947.     PObject * Clone() const;
  9948. };
  9949.  
  9950.  
  9951. //
  9952. // MultilinkResponse_addConnection_responseCode_rejected
  9953. //
  9954.  
  9955. class H245_MultilinkResponse_addConnection_responseCode_rejected : public PASN_Choice
  9956. {
  9957. #ifndef PASN_LEANANDMEAN
  9958.     PCLASSINFO(H245_MultilinkResponse_addConnection_responseCode_rejected, PASN_Choice);
  9959. #endif
  9960.   public:
  9961.     H245_MultilinkResponse_addConnection_responseCode_rejected(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  9962.  
  9963.     enum Choices {
  9964.       e_connectionsNotAvailable,
  9965.       e_userRejected
  9966.     };
  9967.  
  9968.     BOOL CreateObject();
  9969.     PObject * Clone() const;
  9970. };
  9971.  
  9972.  
  9973. //
  9974. // MiscellaneousCommand_type_progressiveRefinementStart_repeatCount
  9975. //
  9976.  
  9977. class H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount : public PASN_Choice
  9978. {
  9979. #ifndef PASN_LEANANDMEAN
  9980.     PCLASSINFO(H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount, PASN_Choice);
  9981. #endif
  9982.   public:
  9983.     H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  9984.  
  9985.     enum Choices {
  9986.       e_doOneProgression,
  9987.       e_doContinuousProgressions,
  9988.       e_doOneIndependentProgression,
  9989.       e_doContinuousIndependentProgressions
  9990.     };
  9991.  
  9992.     BOOL CreateObject();
  9993.     PObject * Clone() const;
  9994. };
  9995.  
  9996.  
  9997. //
  9998. // NewATMVCCommand_aal_aal1_clockRecovery
  9999. //
  10000.  
  10001. class H245_NewATMVCCommand_aal_aal1_clockRecovery : public PASN_Choice
  10002. {
  10003. #ifndef PASN_LEANANDMEAN
  10004.     PCLASSINFO(H245_NewATMVCCommand_aal_aal1_clockRecovery, PASN_Choice);
  10005. #endif
  10006.   public:
  10007.     H245_NewATMVCCommand_aal_aal1_clockRecovery(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  10008.  
  10009.     enum Choices {
  10010.       e_nullClockRecovery,
  10011.       e_srtsClockRecovery,
  10012.       e_adaptiveClockRecovery
  10013.     };
  10014.  
  10015.     BOOL CreateObject();
  10016.     PObject * Clone() const;
  10017. };
  10018.  
  10019.  
  10020. //
  10021. // NewATMVCCommand_aal_aal1_errorCorrection
  10022. //
  10023.  
  10024. class H245_NewATMVCCommand_aal_aal1_errorCorrection : public PASN_Choice
  10025. {
  10026. #ifndef PASN_LEANANDMEAN
  10027.     PCLASSINFO(H245_NewATMVCCommand_aal_aal1_errorCorrection, PASN_Choice);
  10028. #endif
  10029.   public:
  10030.     H245_NewATMVCCommand_aal_aal1_errorCorrection(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  10031.  
  10032.     enum Choices {
  10033.       e_nullErrorCorrection,
  10034.       e_longInterleaver,
  10035.       e_shortInterleaver,
  10036.       e_errorCorrectionOnly
  10037.     };
  10038.  
  10039.     BOOL CreateObject();
  10040.     PObject * Clone() const;
  10041. };
  10042.  
  10043.  
  10044. //
  10045. // NewATMVCIndication_aal_aal1_clockRecovery
  10046. //
  10047.  
  10048. class H245_NewATMVCIndication_aal_aal1_clockRecovery : public PASN_Choice
  10049. {
  10050. #ifndef PASN_LEANANDMEAN
  10051.     PCLASSINFO(H245_NewATMVCIndication_aal_aal1_clockRecovery, PASN_Choice);
  10052. #endif
  10053.   public:
  10054.     H245_NewATMVCIndication_aal_aal1_clockRecovery(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  10055.  
  10056.     enum Choices {
  10057.       e_nullClockRecovery,
  10058.       e_srtsClockRecovery,
  10059.       e_adaptiveClockRecovery
  10060.     };
  10061.  
  10062.     BOOL CreateObject();
  10063.     PObject * Clone() const;
  10064. };
  10065.  
  10066.  
  10067. //
  10068. // NewATMVCIndication_aal_aal1_errorCorrection
  10069. //
  10070.  
  10071. class H245_NewATMVCIndication_aal_aal1_errorCorrection : public PASN_Choice
  10072. {
  10073. #ifndef PASN_LEANANDMEAN
  10074.     PCLASSINFO(H245_NewATMVCIndication_aal_aal1_errorCorrection, PASN_Choice);
  10075. #endif
  10076.   public:
  10077.     H245_NewATMVCIndication_aal_aal1_errorCorrection(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  10078.  
  10079.     enum Choices {
  10080.       e_nullErrorCorrection,
  10081.       e_longInterleaver,
  10082.       e_shortInterleaver,
  10083.       e_errorCorrectionOnly
  10084.     };
  10085.  
  10086.     BOOL CreateObject();
  10087.     PObject * Clone() const;
  10088. };
  10089.  
  10090.  
  10091. //
  10092. // NonStandardParameter
  10093. //
  10094.  
  10095. class H245_NonStandardParameter : public PASN_Sequence
  10096. {
  10097. #ifndef PASN_LEANANDMEAN
  10098.     PCLASSINFO(H245_NonStandardParameter, PASN_Sequence);
  10099. #endif
  10100.   public:
  10101.     H245_NonStandardParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10102.  
  10103.     H245_NonStandardIdentifier m_nonStandardIdentifier;
  10104.     PASN_OctetString m_data;
  10105.  
  10106.     PINDEX GetDataLength() const;
  10107.     BOOL Decode(PASN_Stream & strm);
  10108.     void Encode(PASN_Stream & strm) const;
  10109. #ifndef PASN_NOPRINTON
  10110.     void PrintOn(ostream & strm) const;
  10111. #endif
  10112.     Comparison Compare(const PObject & obj) const;
  10113.     PObject * Clone() const;
  10114. };
  10115.  
  10116.  
  10117. //
  10118. // MasterSlaveDeterminationAck
  10119. //
  10120.  
  10121. class H245_MasterSlaveDeterminationAck : public PASN_Sequence
  10122. {
  10123. #ifndef PASN_LEANANDMEAN
  10124.     PCLASSINFO(H245_MasterSlaveDeterminationAck, PASN_Sequence);
  10125. #endif
  10126.   public:
  10127.     H245_MasterSlaveDeterminationAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10128.  
  10129.     H245_MasterSlaveDeterminationAck_decision m_decision;
  10130.  
  10131.     PINDEX GetDataLength() const;
  10132.     BOOL Decode(PASN_Stream & strm);
  10133.     void Encode(PASN_Stream & strm) const;
  10134. #ifndef PASN_NOPRINTON
  10135.     void PrintOn(ostream & strm) const;
  10136. #endif
  10137.     Comparison Compare(const PObject & obj) const;
  10138.     PObject * Clone() const;
  10139. };
  10140.  
  10141.  
  10142. //
  10143. // MasterSlaveDeterminationReject
  10144. //
  10145.  
  10146. class H245_MasterSlaveDeterminationReject : public PASN_Sequence
  10147. {
  10148. #ifndef PASN_LEANANDMEAN
  10149.     PCLASSINFO(H245_MasterSlaveDeterminationReject, PASN_Sequence);
  10150. #endif
  10151.   public:
  10152.     H245_MasterSlaveDeterminationReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10153.  
  10154.     H245_MasterSlaveDeterminationReject_cause m_cause;
  10155.  
  10156.     PINDEX GetDataLength() const;
  10157.     BOOL Decode(PASN_Stream & strm);
  10158.     void Encode(PASN_Stream & strm) const;
  10159. #ifndef PASN_NOPRINTON
  10160.     void PrintOn(ostream & strm) const;
  10161. #endif
  10162.     Comparison Compare(const PObject & obj) const;
  10163.     PObject * Clone() const;
  10164. };
  10165.  
  10166.  
  10167. //
  10168. // TerminalCapabilitySet
  10169. //
  10170.  
  10171. class H245_TerminalCapabilitySet : public PASN_Sequence
  10172. {
  10173. #ifndef PASN_LEANANDMEAN
  10174.     PCLASSINFO(H245_TerminalCapabilitySet, PASN_Sequence);
  10175. #endif
  10176.   public:
  10177.     H245_TerminalCapabilitySet(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10178.  
  10179.     enum OptionalFields {
  10180.       e_multiplexCapability,
  10181.       e_capabilityTable,
  10182.       e_capabilityDescriptors
  10183.     };
  10184.  
  10185.     H245_SequenceNumber m_sequenceNumber;
  10186.     PASN_ObjectId m_protocolIdentifier;
  10187.     H245_MultiplexCapability m_multiplexCapability;
  10188.     H245_ArrayOf_CapabilityTableEntry m_capabilityTable;
  10189.     H245_ArrayOf_CapabilityDescriptor m_capabilityDescriptors;
  10190.  
  10191.     PINDEX GetDataLength() const;
  10192.     BOOL Decode(PASN_Stream & strm);
  10193.     void Encode(PASN_Stream & strm) const;
  10194. #ifndef PASN_NOPRINTON
  10195.     void PrintOn(ostream & strm) const;
  10196. #endif
  10197.     Comparison Compare(const PObject & obj) const;
  10198.     PObject * Clone() const;
  10199. };
  10200.  
  10201.  
  10202. //
  10203. // CapabilityTableEntry
  10204. //
  10205.  
  10206. class H245_CapabilityTableEntry : public PASN_Sequence
  10207. {
  10208. #ifndef PASN_LEANANDMEAN
  10209.     PCLASSINFO(H245_CapabilityTableEntry, PASN_Sequence);
  10210. #endif
  10211.   public:
  10212.     H245_CapabilityTableEntry(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10213.  
  10214.     enum OptionalFields {
  10215.       e_capability
  10216.     };
  10217.  
  10218.     H245_CapabilityTableEntryNumber m_capabilityTableEntryNumber;
  10219.     H245_Capability m_capability;
  10220.  
  10221.     PINDEX GetDataLength() const;
  10222.     BOOL Decode(PASN_Stream & strm);
  10223.     void Encode(PASN_Stream & strm) const;
  10224. #ifndef PASN_NOPRINTON
  10225.     void PrintOn(ostream & strm) const;
  10226. #endif
  10227.     Comparison Compare(const PObject & obj) const;
  10228.     PObject * Clone() const;
  10229. };
  10230.  
  10231.  
  10232. //
  10233. // CapabilityDescriptor
  10234. //
  10235.  
  10236. class H245_CapabilityDescriptor : public PASN_Sequence
  10237. {
  10238. #ifndef PASN_LEANANDMEAN
  10239.     PCLASSINFO(H245_CapabilityDescriptor, PASN_Sequence);
  10240. #endif
  10241.   public:
  10242.     H245_CapabilityDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10243.  
  10244.     enum OptionalFields {
  10245.       e_simultaneousCapabilities
  10246.     };
  10247.  
  10248.     H245_CapabilityDescriptorNumber m_capabilityDescriptorNumber;
  10249.     H245_ArrayOf_AlternativeCapabilitySet m_simultaneousCapabilities;
  10250.  
  10251.     PINDEX GetDataLength() const;
  10252.     BOOL Decode(PASN_Stream & strm);
  10253.     void Encode(PASN_Stream & strm) const;
  10254. #ifndef PASN_NOPRINTON
  10255.     void PrintOn(ostream & strm) const;
  10256. #endif
  10257.     Comparison Compare(const PObject & obj) const;
  10258.     PObject * Clone() const;
  10259. };
  10260.  
  10261.  
  10262. //
  10263. // TerminalCapabilitySetReject
  10264. //
  10265.  
  10266. class H245_TerminalCapabilitySetReject : public PASN_Sequence
  10267. {
  10268. #ifndef PASN_LEANANDMEAN
  10269.     PCLASSINFO(H245_TerminalCapabilitySetReject, PASN_Sequence);
  10270. #endif
  10271.   public:
  10272.     H245_TerminalCapabilitySetReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10273.  
  10274.     H245_SequenceNumber m_sequenceNumber;
  10275.     H245_TerminalCapabilitySetReject_cause m_cause;
  10276.  
  10277.     PINDEX GetDataLength() const;
  10278.     BOOL Decode(PASN_Stream & strm);
  10279.     void Encode(PASN_Stream & strm) const;
  10280. #ifndef PASN_NOPRINTON
  10281.     void PrintOn(ostream & strm) const;
  10282. #endif
  10283.     Comparison Compare(const PObject & obj) const;
  10284.     PObject * Clone() const;
  10285. };
  10286.  
  10287.  
  10288. //
  10289. // H222Capability
  10290. //
  10291.  
  10292. class H245_H222Capability : public PASN_Sequence
  10293. {
  10294. #ifndef PASN_LEANANDMEAN
  10295.     PCLASSINFO(H245_H222Capability, PASN_Sequence);
  10296. #endif
  10297.   public:
  10298.     H245_H222Capability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10299.  
  10300.     PASN_Integer m_numberOfVCs;
  10301.     H245_ArrayOf_VCCapability m_vcCapability;
  10302.  
  10303.     PINDEX GetDataLength() const;
  10304.     BOOL Decode(PASN_Stream & strm);
  10305.     void Encode(PASN_Stream & strm) const;
  10306. #ifndef PASN_NOPRINTON
  10307.     void PrintOn(ostream & strm) const;
  10308. #endif
  10309.     Comparison Compare(const PObject & obj) const;
  10310.     PObject * Clone() const;
  10311. };
  10312.  
  10313.  
  10314. //
  10315. // H223Capability
  10316. //
  10317.  
  10318. class H245_H223Capability : public PASN_Sequence
  10319. {
  10320. #ifndef PASN_LEANANDMEAN
  10321.     PCLASSINFO(H245_H223Capability, PASN_Sequence);
  10322. #endif
  10323.   public:
  10324.     H245_H223Capability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10325.  
  10326.     enum OptionalFields {
  10327.       e_maxMUXPDUSizeCapability,
  10328.       e_nsrpSupport,
  10329.       e_mobileOperationTransmitCapability,
  10330.       e_h223AnnexCCapability,
  10331.       e_bitRate,
  10332.       e_mobileMultilinkFrameCapability
  10333.     };
  10334.  
  10335.     PASN_Boolean m_transportWithI_frames;
  10336.     PASN_Boolean m_videoWithAL1;
  10337.     PASN_Boolean m_videoWithAL2;
  10338.     PASN_Boolean m_videoWithAL3;
  10339.     PASN_Boolean m_audioWithAL1;
  10340.     PASN_Boolean m_audioWithAL2;
  10341.     PASN_Boolean m_audioWithAL3;
  10342.     PASN_Boolean m_dataWithAL1;
  10343.     PASN_Boolean m_dataWithAL2;
  10344.     PASN_Boolean m_dataWithAL3;
  10345.     PASN_Integer m_maximumAl2SDUSize;
  10346.     PASN_Integer m_maximumAl3SDUSize;
  10347.     PASN_Integer m_maximumDelayJitter;
  10348.     H245_H223Capability_h223MultiplexTableCapability m_h223MultiplexTableCapability;
  10349.     PASN_Boolean m_maxMUXPDUSizeCapability;
  10350.     PASN_Boolean m_nsrpSupport;
  10351.     H245_H223Capability_mobileOperationTransmitCapability m_mobileOperationTransmitCapability;
  10352.     H245_H223AnnexCCapability m_h223AnnexCCapability;
  10353.     PASN_Integer m_bitRate;
  10354.     H245_H223Capability_mobileMultilinkFrameCapability m_mobileMultilinkFrameCapability;
  10355.  
  10356.     PINDEX GetDataLength() const;
  10357.     BOOL Decode(PASN_Stream & strm);
  10358.     void Encode(PASN_Stream & strm) const;
  10359. #ifndef PASN_NOPRINTON
  10360.     void PrintOn(ostream & strm) const;
  10361. #endif
  10362.     Comparison Compare(const PObject & obj) const;
  10363.     PObject * Clone() const;
  10364. };
  10365.  
  10366.  
  10367. //
  10368. // V76Capability
  10369. //
  10370.  
  10371. class H245_V76Capability : public PASN_Sequence
  10372. {
  10373. #ifndef PASN_LEANANDMEAN
  10374.     PCLASSINFO(H245_V76Capability, PASN_Sequence);
  10375. #endif
  10376.   public:
  10377.     H245_V76Capability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10378.  
  10379.     PASN_Boolean m_suspendResumeCapabilitywAddress;
  10380.     PASN_Boolean m_suspendResumeCapabilitywoAddress;
  10381.     PASN_Boolean m_rejCapability;
  10382.     PASN_Boolean m_sREJCapability;
  10383.     PASN_Boolean m_mREJCapability;
  10384.     PASN_Boolean m_crc8bitCapability;
  10385.     PASN_Boolean m_crc16bitCapability;
  10386.     PASN_Boolean m_crc32bitCapability;
  10387.     PASN_Boolean m_uihCapability;
  10388.     PASN_Integer m_numOfDLCS;
  10389.     PASN_Boolean m_twoOctetAddressFieldCapability;
  10390.     PASN_Boolean m_loopBackTestCapability;
  10391.     PASN_Integer m_n401Capability;
  10392.     PASN_Integer m_maxWindowSizeCapability;
  10393.     H245_V75Capability m_v75Capability;
  10394.  
  10395.     PINDEX GetDataLength() const;
  10396.     BOOL Decode(PASN_Stream & strm);
  10397.     void Encode(PASN_Stream & strm) const;
  10398. #ifndef PASN_NOPRINTON
  10399.     void PrintOn(ostream & strm) const;
  10400. #endif
  10401.     Comparison Compare(const PObject & obj) const;
  10402.     PObject * Clone() const;
  10403. };
  10404.  
  10405.  
  10406. //
  10407. // MediaPacketizationCapability
  10408. //
  10409.  
  10410. class H245_MediaPacketizationCapability : public PASN_Sequence
  10411. {
  10412. #ifndef PASN_LEANANDMEAN
  10413.     PCLASSINFO(H245_MediaPacketizationCapability, PASN_Sequence);
  10414. #endif
  10415.   public:
  10416.     H245_MediaPacketizationCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10417.  
  10418.     enum OptionalFields {
  10419.       e_rtpPayloadType
  10420.     };
  10421.  
  10422.     PASN_Boolean m_h261aVideoPacketization;
  10423.     H245_ArrayOf_RTPPayloadType m_rtpPayloadType;
  10424.  
  10425.     PINDEX GetDataLength() const;
  10426.     BOOL Decode(PASN_Stream & strm);
  10427.     void Encode(PASN_Stream & strm) const;
  10428. #ifndef PASN_NOPRINTON
  10429.     void PrintOn(ostream & strm) const;
  10430. #endif
  10431.     Comparison Compare(const PObject & obj) const;
  10432.     PObject * Clone() const;
  10433. };
  10434.  
  10435.  
  10436. //
  10437. // RSVPParameters
  10438. //
  10439.  
  10440. class H245_RSVPParameters : public PASN_Sequence
  10441. {
  10442. #ifndef PASN_LEANANDMEAN
  10443.     PCLASSINFO(H245_RSVPParameters, PASN_Sequence);
  10444. #endif
  10445.   public:
  10446.     H245_RSVPParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10447.  
  10448.     enum OptionalFields {
  10449.       e_qosMode,
  10450.       e_tokenRate,
  10451.       e_bucketSize,
  10452.       e_peakRate,
  10453.       e_minPoliced,
  10454.       e_maxPktSize
  10455.     };
  10456.  
  10457.     H245_QOSMode m_qosMode;
  10458.     PASN_Integer m_tokenRate;
  10459.     PASN_Integer m_bucketSize;
  10460.     PASN_Integer m_peakRate;
  10461.     PASN_Integer m_minPoliced;
  10462.     PASN_Integer m_maxPktSize;
  10463.  
  10464.     PINDEX GetDataLength() const;
  10465.     BOOL Decode(PASN_Stream & strm);
  10466.     void Encode(PASN_Stream & strm) const;
  10467. #ifndef PASN_NOPRINTON
  10468.     void PrintOn(ostream & strm) const;
  10469. #endif
  10470.     Comparison Compare(const PObject & obj) const;
  10471.     PObject * Clone() const;
  10472. };
  10473.  
  10474.  
  10475. //
  10476. // QOSCapability
  10477. //
  10478.  
  10479. class H245_QOSCapability : public PASN_Sequence
  10480. {
  10481. #ifndef PASN_LEANANDMEAN
  10482.     PCLASSINFO(H245_QOSCapability, PASN_Sequence);
  10483. #endif
  10484.   public:
  10485.     H245_QOSCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10486.  
  10487.     enum OptionalFields {
  10488.       e_nonStandardData,
  10489.       e_rsvpParameters,
  10490.       e_atmParameters
  10491.     };
  10492.  
  10493.     H245_NonStandardParameter m_nonStandardData;
  10494.     H245_RSVPParameters m_rsvpParameters;
  10495.     H245_ATMParameters m_atmParameters;
  10496.  
  10497.     PINDEX GetDataLength() const;
  10498.     BOOL Decode(PASN_Stream & strm);
  10499.     void Encode(PASN_Stream & strm) const;
  10500. #ifndef PASN_NOPRINTON
  10501.     void PrintOn(ostream & strm) const;
  10502. #endif
  10503.     Comparison Compare(const PObject & obj) const;
  10504.     PObject * Clone() const;
  10505. };
  10506.  
  10507.  
  10508. //
  10509. // TransportCapability
  10510. //
  10511.  
  10512. class H245_TransportCapability : public PASN_Sequence
  10513. {
  10514. #ifndef PASN_LEANANDMEAN
  10515.     PCLASSINFO(H245_TransportCapability, PASN_Sequence);
  10516. #endif
  10517.   public:
  10518.     H245_TransportCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10519.  
  10520.     enum OptionalFields {
  10521.       e_nonStandard,
  10522.       e_qOSCapabilities,
  10523.       e_mediaChannelCapabilities
  10524.     };
  10525.  
  10526.     H245_NonStandardParameter m_nonStandard;
  10527.     H245_ArrayOf_QOSCapability m_qOSCapabilities;
  10528.     H245_ArrayOf_MediaChannelCapability m_mediaChannelCapabilities;
  10529.  
  10530.     PINDEX GetDataLength() const;
  10531.     BOOL Decode(PASN_Stream & strm);
  10532.     void Encode(PASN_Stream & strm) const;
  10533. #ifndef PASN_NOPRINTON
  10534.     void PrintOn(ostream & strm) const;
  10535. #endif
  10536.     Comparison Compare(const PObject & obj) const;
  10537.     PObject * Clone() const;
  10538. };
  10539.  
  10540.  
  10541. //
  10542. // RedundancyEncodingCapability
  10543. //
  10544.  
  10545. class H245_RedundancyEncodingCapability : public PASN_Sequence
  10546. {
  10547. #ifndef PASN_LEANANDMEAN
  10548.     PCLASSINFO(H245_RedundancyEncodingCapability, PASN_Sequence);
  10549. #endif
  10550.   public:
  10551.     H245_RedundancyEncodingCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10552.  
  10553.     enum OptionalFields {
  10554.       e_secondaryEncoding
  10555.     };
  10556.  
  10557.     H245_RedundancyEncodingMethod m_redundancyEncodingMethod;
  10558.     H245_CapabilityTableEntryNumber m_primaryEncoding;
  10559.     H245_ArrayOf_CapabilityTableEntryNumber m_secondaryEncoding;
  10560.  
  10561.     PINDEX GetDataLength() const;
  10562.     BOOL Decode(PASN_Stream & strm);
  10563.     void Encode(PASN_Stream & strm) const;
  10564. #ifndef PASN_NOPRINTON
  10565.     void PrintOn(ostream & strm) const;
  10566. #endif
  10567.     Comparison Compare(const PObject & obj) const;
  10568.     PObject * Clone() const;
  10569. };
  10570.  
  10571.  
  10572. //
  10573. // RTPH263VideoRedundancyEncoding
  10574. //
  10575.  
  10576. class H245_RTPH263VideoRedundancyEncoding : public PASN_Sequence
  10577. {
  10578. #ifndef PASN_LEANANDMEAN
  10579.     PCLASSINFO(H245_RTPH263VideoRedundancyEncoding, PASN_Sequence);
  10580. #endif
  10581.   public:
  10582.     H245_RTPH263VideoRedundancyEncoding(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10583.  
  10584.     enum OptionalFields {
  10585.       e_containedThreads
  10586.     };
  10587.  
  10588.     PASN_Integer m_numberOfThreads;
  10589.     PASN_Integer m_framesBetweenSyncPoints;
  10590.     H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping m_frameToThreadMapping;
  10591.     H245_RTPH263VideoRedundancyEncoding_containedThreads m_containedThreads;
  10592.  
  10593.     PINDEX GetDataLength() const;
  10594.     BOOL Decode(PASN_Stream & strm);
  10595.     void Encode(PASN_Stream & strm) const;
  10596. #ifndef PASN_NOPRINTON
  10597.     void PrintOn(ostream & strm) const;
  10598. #endif
  10599.     Comparison Compare(const PObject & obj) const;
  10600.     PObject * Clone() const;
  10601. };
  10602.  
  10603.  
  10604. //
  10605. // RTPH263VideoRedundancyFrameMapping
  10606. //
  10607.  
  10608. class H245_RTPH263VideoRedundancyFrameMapping : public PASN_Sequence
  10609. {
  10610. #ifndef PASN_LEANANDMEAN
  10611.     PCLASSINFO(H245_RTPH263VideoRedundancyFrameMapping, PASN_Sequence);
  10612. #endif
  10613.   public:
  10614.     H245_RTPH263VideoRedundancyFrameMapping(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10615.  
  10616.     PASN_Integer m_threadNumber;
  10617.     H245_RTPH263VideoRedundancyFrameMapping_frameSequence m_frameSequence;
  10618.  
  10619.     PINDEX GetDataLength() const;
  10620.     BOOL Decode(PASN_Stream & strm);
  10621.     void Encode(PASN_Stream & strm) const;
  10622. #ifndef PASN_NOPRINTON
  10623.     void PrintOn(ostream & strm) const;
  10624. #endif
  10625.     Comparison Compare(const PObject & obj) const;
  10626.     PObject * Clone() const;
  10627. };
  10628.  
  10629.  
  10630. //
  10631. // MultipointCapability
  10632. //
  10633.  
  10634. class H245_MultipointCapability : public PASN_Sequence
  10635. {
  10636. #ifndef PASN_LEANANDMEAN
  10637.     PCLASSINFO(H245_MultipointCapability, PASN_Sequence);
  10638. #endif
  10639.   public:
  10640.     H245_MultipointCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10641.  
  10642.     PASN_Boolean m_multicastCapability;
  10643.     PASN_Boolean m_multiUniCastConference;
  10644.     H245_ArrayOf_MediaDistributionCapability m_mediaDistributionCapability;
  10645.  
  10646.     PINDEX GetDataLength() const;
  10647.     BOOL Decode(PASN_Stream & strm);
  10648.     void Encode(PASN_Stream & strm) const;
  10649. #ifndef PASN_NOPRINTON
  10650.     void PrintOn(ostream & strm) const;
  10651. #endif
  10652.     Comparison Compare(const PObject & obj) const;
  10653.     PObject * Clone() const;
  10654. };
  10655.  
  10656.  
  10657. //
  10658. // MediaDistributionCapability
  10659. //
  10660.  
  10661. class H245_MediaDistributionCapability : public PASN_Sequence
  10662. {
  10663. #ifndef PASN_LEANANDMEAN
  10664.     PCLASSINFO(H245_MediaDistributionCapability, PASN_Sequence);
  10665. #endif
  10666.   public:
  10667.     H245_MediaDistributionCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10668.  
  10669.     enum OptionalFields {
  10670.       e_centralizedData,
  10671.       e_distributedData
  10672.     };
  10673.  
  10674.     PASN_Boolean m_centralizedControl;
  10675.     PASN_Boolean m_distributedControl;
  10676.     PASN_Boolean m_centralizedAudio;
  10677.     PASN_Boolean m_distributedAudio;
  10678.     PASN_Boolean m_centralizedVideo;
  10679.     PASN_Boolean m_distributedVideo;
  10680.     H245_ArrayOf_DataApplicationCapability m_centralizedData;
  10681.     H245_ArrayOf_DataApplicationCapability m_distributedData;
  10682.  
  10683.     PINDEX GetDataLength() const;
  10684.     BOOL Decode(PASN_Stream & strm);
  10685.     void Encode(PASN_Stream & strm) const;
  10686. #ifndef PASN_NOPRINTON
  10687.     void PrintOn(ostream & strm) const;
  10688. #endif
  10689.     Comparison Compare(const PObject & obj) const;
  10690.     PObject * Clone() const;
  10691. };
  10692.  
  10693.  
  10694. //
  10695. // EnhancementLayerInfo
  10696. //
  10697.  
  10698. class H245_EnhancementLayerInfo : public PASN_Sequence
  10699. {
  10700. #ifndef PASN_LEANANDMEAN
  10701.     PCLASSINFO(H245_EnhancementLayerInfo, PASN_Sequence);
  10702. #endif
  10703.   public:
  10704.     H245_EnhancementLayerInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10705.  
  10706.     enum OptionalFields {
  10707.       e_snrEnhancement,
  10708.       e_spatialEnhancement,
  10709.       e_bPictureEnhancement
  10710.     };
  10711.  
  10712.     PASN_Boolean m_baseBitRateConstrained;
  10713.     H245_ArrayOf_EnhancementOptions m_snrEnhancement;
  10714.     H245_ArrayOf_EnhancementOptions m_spatialEnhancement;
  10715.     H245_ArrayOf_BEnhancementParameters m_bPictureEnhancement;
  10716.  
  10717.     PINDEX GetDataLength() const;
  10718.     BOOL Decode(PASN_Stream & strm);
  10719.     void Encode(PASN_Stream & strm) const;
  10720. #ifndef PASN_NOPRINTON
  10721.     void PrintOn(ostream & strm) const;
  10722. #endif
  10723.     Comparison Compare(const PObject & obj) const;
  10724.     PObject * Clone() const;
  10725. };
  10726.  
  10727.  
  10728. //
  10729. // H263ModeComboFlags
  10730. //
  10731.  
  10732. class H245_H263ModeComboFlags : public PASN_Sequence
  10733. {
  10734. #ifndef PASN_LEANANDMEAN
  10735.     PCLASSINFO(H245_H263ModeComboFlags, PASN_Sequence);
  10736. #endif
  10737.   public:
  10738.     H245_H263ModeComboFlags(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10739.  
  10740.     enum OptionalFields {
  10741.       e_enhancedReferencePicSelect,
  10742.       e_h263Version3Options
  10743.     };
  10744.  
  10745.     PASN_Boolean m_unrestrictedVector;
  10746.     PASN_Boolean m_arithmeticCoding;
  10747.     PASN_Boolean m_advancedPrediction;
  10748.     PASN_Boolean m_pbFrames;
  10749.     PASN_Boolean m_advancedIntraCodingMode;
  10750.     PASN_Boolean m_deblockingFilterMode;
  10751.     PASN_Boolean m_unlimitedMotionVectors;
  10752.     PASN_Boolean m_slicesInOrder_NonRect;
  10753.     PASN_Boolean m_slicesInOrder_Rect;
  10754.     PASN_Boolean m_slicesNoOrder_NonRect;
  10755.     PASN_Boolean m_slicesNoOrder_Rect;
  10756.     PASN_Boolean m_improvedPBFramesMode;
  10757.     PASN_Boolean m_referencePicSelect;
  10758.     PASN_Boolean m_dynamicPictureResizingByFour;
  10759.     PASN_Boolean m_dynamicPictureResizingSixteenthPel;
  10760.     PASN_Boolean m_dynamicWarpingHalfPel;
  10761.     PASN_Boolean m_dynamicWarpingSixteenthPel;
  10762.     PASN_Boolean m_reducedResolutionUpdate;
  10763.     PASN_Boolean m_independentSegmentDecoding;
  10764.     PASN_Boolean m_alternateInterVLCMode;
  10765.     PASN_Boolean m_modifiedQuantizationMode;
  10766.     PASN_Boolean m_enhancedReferencePicSelect;
  10767.     H245_H263Version3Options m_h263Version3Options;
  10768.  
  10769.     PINDEX GetDataLength() const;
  10770.     BOOL Decode(PASN_Stream & strm);
  10771.     void Encode(PASN_Stream & strm) const;
  10772. #ifndef PASN_NOPRINTON
  10773.     void PrintOn(ostream & strm) const;
  10774. #endif
  10775.     Comparison Compare(const PObject & obj) const;
  10776.     PObject * Clone() const;
  10777. };
  10778.  
  10779.  
  10780. //
  10781. // G7231AnnexCCapability
  10782. //
  10783.  
  10784. class H245_G7231AnnexCCapability : public PASN_Sequence
  10785. {
  10786. #ifndef PASN_LEANANDMEAN
  10787.     PCLASSINFO(H245_G7231AnnexCCapability, PASN_Sequence);
  10788. #endif
  10789.   public:
  10790.     H245_G7231AnnexCCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10791.  
  10792.     enum OptionalFields {
  10793.       e_g723AnnexCAudioMode
  10794.     };
  10795.  
  10796.     PASN_Integer m_maxAl_sduAudioFrames;
  10797.     PASN_Boolean m_silenceSuppression;
  10798.     H245_G7231AnnexCCapability_g723AnnexCAudioMode m_g723AnnexCAudioMode;
  10799.  
  10800.     PINDEX GetDataLength() const;
  10801.     BOOL Decode(PASN_Stream & strm);
  10802.     void Encode(PASN_Stream & strm) const;
  10803. #ifndef PASN_NOPRINTON
  10804.     void PrintOn(ostream & strm) const;
  10805. #endif
  10806.     Comparison Compare(const PObject & obj) const;
  10807.     PObject * Clone() const;
  10808. };
  10809.  
  10810.  
  10811. //
  10812. // DataApplicationCapability
  10813. //
  10814.  
  10815. class H245_DataApplicationCapability : public PASN_Sequence
  10816. {
  10817. #ifndef PASN_LEANANDMEAN
  10818.     PCLASSINFO(H245_DataApplicationCapability, PASN_Sequence);
  10819. #endif
  10820.   public:
  10821.     H245_DataApplicationCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10822.  
  10823.     H245_DataApplicationCapability_application m_application;
  10824.     PASN_Integer m_maxBitRate;
  10825.  
  10826.     PINDEX GetDataLength() const;
  10827.     BOOL Decode(PASN_Stream & strm);
  10828.     void Encode(PASN_Stream & strm) const;
  10829. #ifndef PASN_NOPRINTON
  10830.     void PrintOn(ostream & strm) const;
  10831. #endif
  10832.     Comparison Compare(const PObject & obj) const;
  10833.     PObject * Clone() const;
  10834. };
  10835.  
  10836.  
  10837. //
  10838. // T38FaxUdpOptions
  10839. //
  10840.  
  10841. class H245_T38FaxUdpOptions : public PASN_Sequence
  10842. {
  10843. #ifndef PASN_LEANANDMEAN
  10844.     PCLASSINFO(H245_T38FaxUdpOptions, PASN_Sequence);
  10845. #endif
  10846.   public:
  10847.     H245_T38FaxUdpOptions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10848.  
  10849.     enum OptionalFields {
  10850.       e_t38FaxMaxBuffer,
  10851.       e_t38FaxMaxDatagram
  10852.     };
  10853.  
  10854.     PASN_Integer m_t38FaxMaxBuffer;
  10855.     PASN_Integer m_t38FaxMaxDatagram;
  10856.     H245_T38FaxUdpOptions_t38FaxUdpEC m_t38FaxUdpEC;
  10857.  
  10858.     PINDEX GetDataLength() const;
  10859.     BOOL Decode(PASN_Stream & strm);
  10860.     void Encode(PASN_Stream & strm) const;
  10861. #ifndef PASN_NOPRINTON
  10862.     void PrintOn(ostream & strm) const;
  10863. #endif
  10864.     Comparison Compare(const PObject & obj) const;
  10865.     PObject * Clone() const;
  10866. };
  10867.  
  10868.  
  10869. //
  10870. // AuthenticationCapability
  10871. //
  10872.  
  10873. class H245_AuthenticationCapability : public PASN_Sequence
  10874. {
  10875. #ifndef PASN_LEANANDMEAN
  10876.     PCLASSINFO(H245_AuthenticationCapability, PASN_Sequence);
  10877. #endif
  10878.   public:
  10879.     H245_AuthenticationCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10880.  
  10881.     enum OptionalFields {
  10882.       e_nonStandard,
  10883.       e_antiSpamAlgorithm
  10884.     };
  10885.  
  10886.     H245_NonStandardParameter m_nonStandard;
  10887.     PASN_ObjectId m_antiSpamAlgorithm;
  10888.  
  10889.     PINDEX GetDataLength() const;
  10890.     BOOL Decode(PASN_Stream & strm);
  10891.     void Encode(PASN_Stream & strm) const;
  10892. #ifndef PASN_NOPRINTON
  10893.     void PrintOn(ostream & strm) const;
  10894. #endif
  10895.     Comparison Compare(const PObject & obj) const;
  10896.     PObject * Clone() const;
  10897. };
  10898.  
  10899.  
  10900. //
  10901. // IntegrityCapability
  10902. //
  10903.  
  10904. class H245_IntegrityCapability : public PASN_Sequence
  10905. {
  10906. #ifndef PASN_LEANANDMEAN
  10907.     PCLASSINFO(H245_IntegrityCapability, PASN_Sequence);
  10908. #endif
  10909.   public:
  10910.     H245_IntegrityCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10911.  
  10912.     enum OptionalFields {
  10913.       e_nonStandard
  10914.     };
  10915.  
  10916.     H245_NonStandardParameter m_nonStandard;
  10917.  
  10918.     PINDEX GetDataLength() const;
  10919.     BOOL Decode(PASN_Stream & strm);
  10920.     void Encode(PASN_Stream & strm) const;
  10921. #ifndef PASN_NOPRINTON
  10922.     void PrintOn(ostream & strm) const;
  10923. #endif
  10924.     Comparison Compare(const PObject & obj) const;
  10925.     PObject * Clone() const;
  10926. };
  10927.  
  10928.  
  10929. //
  10930. // ConferenceCapability
  10931. //
  10932.  
  10933. class H245_ConferenceCapability : public PASN_Sequence
  10934. {
  10935. #ifndef PASN_LEANANDMEAN
  10936.     PCLASSINFO(H245_ConferenceCapability, PASN_Sequence);
  10937. #endif
  10938.   public:
  10939.     H245_ConferenceCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10940.  
  10941.     enum OptionalFields {
  10942.       e_nonStandardData,
  10943.       e_videoIndicateMixingCapability,
  10944.       e_multipointVisualizationCapability
  10945.     };
  10946.  
  10947.     H245_ArrayOf_NonStandardParameter m_nonStandardData;
  10948.     PASN_Boolean m_chairControlCapability;
  10949.     PASN_Boolean m_videoIndicateMixingCapability;
  10950.     PASN_Boolean m_multipointVisualizationCapability;
  10951.  
  10952.     PINDEX GetDataLength() const;
  10953.     BOOL Decode(PASN_Stream & strm);
  10954.     void Encode(PASN_Stream & strm) const;
  10955. #ifndef PASN_NOPRINTON
  10956.     void PrintOn(ostream & strm) const;
  10957. #endif
  10958.     Comparison Compare(const PObject & obj) const;
  10959.     PObject * Clone() const;
  10960. };
  10961.  
  10962.  
  10963. //
  10964. // GenericCapability
  10965. //
  10966.  
  10967. class H245_GenericCapability : public PASN_Sequence
  10968. {
  10969. #ifndef PASN_LEANANDMEAN
  10970.     PCLASSINFO(H245_GenericCapability, PASN_Sequence);
  10971. #endif
  10972.   public:
  10973.     H245_GenericCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  10974.  
  10975.     enum OptionalFields {
  10976.       e_maxBitRate,
  10977.       e_collapsing,
  10978.       e_nonCollapsing,
  10979.       e_nonCollapsingRaw,
  10980.       e_transport
  10981.     };
  10982.  
  10983.     H245_CapabilityIdentifier m_capabilityIdentifier;
  10984.     PASN_Integer m_maxBitRate;
  10985.     H245_ArrayOf_GenericParameter m_collapsing;
  10986.     H245_ArrayOf_GenericParameter m_nonCollapsing;
  10987.     PASN_OctetString m_nonCollapsingRaw;
  10988.     H245_DataProtocolCapability m_transport;
  10989.  
  10990.     PINDEX GetDataLength() const;
  10991.     BOOL Decode(PASN_Stream & strm);
  10992.     void Encode(PASN_Stream & strm) const;
  10993. #ifndef PASN_NOPRINTON
  10994.     void PrintOn(ostream & strm) const;
  10995. #endif
  10996.     Comparison Compare(const PObject & obj) const;
  10997.     PObject * Clone() const;
  10998. };
  10999.  
  11000.  
  11001. //
  11002. // GenericParameter
  11003. //
  11004.  
  11005. class H245_GenericParameter : public PASN_Sequence
  11006. {
  11007. #ifndef PASN_LEANANDMEAN
  11008.     PCLASSINFO(H245_GenericParameter, PASN_Sequence);
  11009. #endif
  11010.   public:
  11011.     H245_GenericParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11012.  
  11013.     enum OptionalFields {
  11014.       e_supersedes
  11015.     };
  11016.  
  11017.     H245_ParameterIdentifier m_parameterIdentifier;
  11018.     H245_ParameterValue m_parameterValue;
  11019.     H245_ArrayOf_ParameterIdentifier m_supersedes;
  11020.  
  11021.     PINDEX GetDataLength() const;
  11022.     BOOL Decode(PASN_Stream & strm);
  11023.     void Encode(PASN_Stream & strm) const;
  11024. #ifndef PASN_NOPRINTON
  11025.     void PrintOn(ostream & strm) const;
  11026. #endif
  11027.     Comparison Compare(const PObject & obj) const;
  11028.     PObject * Clone() const;
  11029. };
  11030.  
  11031.  
  11032. //
  11033. // MultiplexedStreamCapability
  11034. //
  11035.  
  11036. class H245_MultiplexedStreamCapability : public PASN_Sequence
  11037. {
  11038. #ifndef PASN_LEANANDMEAN
  11039.     PCLASSINFO(H245_MultiplexedStreamCapability, PASN_Sequence);
  11040. #endif
  11041.   public:
  11042.     H245_MultiplexedStreamCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11043.  
  11044.     enum OptionalFields {
  11045.       e_capabilityOnMuxStream
  11046.     };
  11047.  
  11048.     H245_MultiplexFormat m_multiplexFormat;
  11049.     PASN_Boolean m_controlOnMuxStream;
  11050.     H245_ArrayOf_AlternativeCapabilitySet m_capabilityOnMuxStream;
  11051.  
  11052.     PINDEX GetDataLength() const;
  11053.     BOOL Decode(PASN_Stream & strm);
  11054.     void Encode(PASN_Stream & strm) const;
  11055. #ifndef PASN_NOPRINTON
  11056.     void PrintOn(ostream & strm) const;
  11057. #endif
  11058.     Comparison Compare(const PObject & obj) const;
  11059.     PObject * Clone() const;
  11060. };
  11061.  
  11062.  
  11063. //
  11064. // NetworkAccessParameters
  11065. //
  11066.  
  11067. class H245_NetworkAccessParameters : public PASN_Sequence
  11068. {
  11069. #ifndef PASN_LEANANDMEAN
  11070.     PCLASSINFO(H245_NetworkAccessParameters, PASN_Sequence);
  11071. #endif
  11072.   public:
  11073.     H245_NetworkAccessParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11074.  
  11075.     enum OptionalFields {
  11076.       e_distribution,
  11077.       e_externalReference,
  11078.       e_t120SetupProcedure
  11079.     };
  11080.  
  11081.     H245_NetworkAccessParameters_distribution m_distribution;
  11082.     H245_NetworkAccessParameters_networkAddress m_networkAddress;
  11083.     PASN_Boolean m_associateConference;
  11084.     PASN_OctetString m_externalReference;
  11085.     H245_NetworkAccessParameters_t120SetupProcedure m_t120SetupProcedure;
  11086.  
  11087.     PINDEX GetDataLength() const;
  11088.     BOOL Decode(PASN_Stream & strm);
  11089.     void Encode(PASN_Stream & strm) const;
  11090. #ifndef PASN_NOPRINTON
  11091.     void PrintOn(ostream & strm) const;
  11092. #endif
  11093.     Comparison Compare(const PObject & obj) const;
  11094.     PObject * Clone() const;
  11095. };
  11096.  
  11097.  
  11098. //
  11099. // Q2931Address
  11100. //
  11101.  
  11102. class H245_Q2931Address : public PASN_Sequence
  11103. {
  11104. #ifndef PASN_LEANANDMEAN
  11105.     PCLASSINFO(H245_Q2931Address, PASN_Sequence);
  11106. #endif
  11107.   public:
  11108.     H245_Q2931Address(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11109.  
  11110.     enum OptionalFields {
  11111.       e_subaddress
  11112.     };
  11113.  
  11114.     H245_Q2931Address_address m_address;
  11115.     PASN_OctetString m_subaddress;
  11116.  
  11117.     PINDEX GetDataLength() const;
  11118.     BOOL Decode(PASN_Stream & strm);
  11119.     void Encode(PASN_Stream & strm) const;
  11120. #ifndef PASN_NOPRINTON
  11121.     void PrintOn(ostream & strm) const;
  11122. #endif
  11123.     Comparison Compare(const PObject & obj) const;
  11124.     PObject * Clone() const;
  11125. };
  11126.  
  11127.  
  11128. //
  11129. // H223LogicalChannelParameters
  11130. //
  11131.  
  11132. class H245_H223LogicalChannelParameters : public PASN_Sequence
  11133. {
  11134. #ifndef PASN_LEANANDMEAN
  11135.     PCLASSINFO(H245_H223LogicalChannelParameters, PASN_Sequence);
  11136. #endif
  11137.   public:
  11138.     H245_H223LogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11139.  
  11140.     H245_H223LogicalChannelParameters_adaptationLayerType m_adaptationLayerType;
  11141.     PASN_Boolean m_segmentableFlag;
  11142.  
  11143.     PINDEX GetDataLength() const;
  11144.     BOOL Decode(PASN_Stream & strm);
  11145.     void Encode(PASN_Stream & strm) const;
  11146. #ifndef PASN_NOPRINTON
  11147.     void PrintOn(ostream & strm) const;
  11148. #endif
  11149.     Comparison Compare(const PObject & obj) const;
  11150.     PObject * Clone() const;
  11151. };
  11152.  
  11153.  
  11154. //
  11155. // H223AL1MParameters
  11156. //
  11157.  
  11158. class H245_H223AL1MParameters : public PASN_Sequence
  11159. {
  11160. #ifndef PASN_LEANANDMEAN
  11161.     PCLASSINFO(H245_H223AL1MParameters, PASN_Sequence);
  11162. #endif
  11163.   public:
  11164.     H245_H223AL1MParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11165.  
  11166.     enum OptionalFields {
  11167.       e_rsCodeCorrection
  11168.     };
  11169.  
  11170.     H245_H223AL1MParameters_transferMode m_transferMode;
  11171.     H245_H223AL1MParameters_headerFEC m_headerFEC;
  11172.     H245_H223AL1MParameters_crcLength m_crcLength;
  11173.     PASN_Integer m_rcpcCodeRate;
  11174.     H245_H223AL1MParameters_arqType m_arqType;
  11175.     PASN_Boolean m_alpduInterleaving;
  11176.     PASN_Boolean m_alsduSplitting;
  11177.     PASN_Integer m_rsCodeCorrection;
  11178.  
  11179.     PINDEX GetDataLength() const;
  11180.     BOOL Decode(PASN_Stream & strm);
  11181.     void Encode(PASN_Stream & strm) const;
  11182. #ifndef PASN_NOPRINTON
  11183.     void PrintOn(ostream & strm) const;
  11184. #endif
  11185.     Comparison Compare(const PObject & obj) const;
  11186.     PObject * Clone() const;
  11187. };
  11188.  
  11189.  
  11190. //
  11191. // H223AL2MParameters
  11192. //
  11193.  
  11194. class H245_H223AL2MParameters : public PASN_Sequence
  11195. {
  11196. #ifndef PASN_LEANANDMEAN
  11197.     PCLASSINFO(H245_H223AL2MParameters, PASN_Sequence);
  11198. #endif
  11199.   public:
  11200.     H245_H223AL2MParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11201.  
  11202.     H245_H223AL2MParameters_headerFEC m_headerFEC;
  11203.     PASN_Boolean m_alpduInterleaving;
  11204.  
  11205.     PINDEX GetDataLength() const;
  11206.     BOOL Decode(PASN_Stream & strm);
  11207.     void Encode(PASN_Stream & strm) const;
  11208. #ifndef PASN_NOPRINTON
  11209.     void PrintOn(ostream & strm) const;
  11210. #endif
  11211.     Comparison Compare(const PObject & obj) const;
  11212.     PObject * Clone() const;
  11213. };
  11214.  
  11215.  
  11216. //
  11217. // H223AL3MParameters
  11218. //
  11219.  
  11220. class H245_H223AL3MParameters : public PASN_Sequence
  11221. {
  11222. #ifndef PASN_LEANANDMEAN
  11223.     PCLASSINFO(H245_H223AL3MParameters, PASN_Sequence);
  11224. #endif
  11225.   public:
  11226.     H245_H223AL3MParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11227.  
  11228.     enum OptionalFields {
  11229.       e_rsCodeCorrection
  11230.     };
  11231.  
  11232.     H245_H223AL3MParameters_headerFormat m_headerFormat;
  11233.     H245_H223AL3MParameters_crcLength m_crcLength;
  11234.     PASN_Integer m_rcpcCodeRate;
  11235.     H245_H223AL3MParameters_arqType m_arqType;
  11236.     PASN_Boolean m_alpduInterleaving;
  11237.     PASN_Integer m_rsCodeCorrection;
  11238.  
  11239.     PINDEX GetDataLength() const;
  11240.     BOOL Decode(PASN_Stream & strm);
  11241.     void Encode(PASN_Stream & strm) const;
  11242. #ifndef PASN_NOPRINTON
  11243.     void PrintOn(ostream & strm) const;
  11244. #endif
  11245.     Comparison Compare(const PObject & obj) const;
  11246.     PObject * Clone() const;
  11247. };
  11248.  
  11249.  
  11250. //
  11251. // H223AnnexCArqParameters
  11252. //
  11253.  
  11254. class H245_H223AnnexCArqParameters : public PASN_Sequence
  11255. {
  11256. #ifndef PASN_LEANANDMEAN
  11257.     PCLASSINFO(H245_H223AnnexCArqParameters, PASN_Sequence);
  11258. #endif
  11259.   public:
  11260.     H245_H223AnnexCArqParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11261.  
  11262.     H245_H223AnnexCArqParameters_numberOfRetransmissions m_numberOfRetransmissions;
  11263.     PASN_Integer m_sendBufferSize;
  11264.  
  11265.     PINDEX GetDataLength() const;
  11266.     BOOL Decode(PASN_Stream & strm);
  11267.     void Encode(PASN_Stream & strm) const;
  11268. #ifndef PASN_NOPRINTON
  11269.     void PrintOn(ostream & strm) const;
  11270. #endif
  11271.     Comparison Compare(const PObject & obj) const;
  11272.     PObject * Clone() const;
  11273. };
  11274.  
  11275.  
  11276. //
  11277. // V76HDLCParameters
  11278. //
  11279.  
  11280. class H245_V76HDLCParameters : public PASN_Sequence
  11281. {
  11282. #ifndef PASN_LEANANDMEAN
  11283.     PCLASSINFO(H245_V76HDLCParameters, PASN_Sequence);
  11284. #endif
  11285.   public:
  11286.     H245_V76HDLCParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11287.  
  11288.     H245_CRCLength m_crcLength;
  11289.     PASN_Integer m_n401;
  11290.     PASN_Boolean m_loopbackTestProcedure;
  11291.  
  11292.     PINDEX GetDataLength() const;
  11293.     BOOL Decode(PASN_Stream & strm);
  11294.     void Encode(PASN_Stream & strm) const;
  11295. #ifndef PASN_NOPRINTON
  11296.     void PrintOn(ostream & strm) const;
  11297. #endif
  11298.     Comparison Compare(const PObject & obj) const;
  11299.     PObject * Clone() const;
  11300. };
  11301.  
  11302.  
  11303. //
  11304. // RTPPayloadType
  11305. //
  11306.  
  11307. class H245_RTPPayloadType : public PASN_Sequence
  11308. {
  11309. #ifndef PASN_LEANANDMEAN
  11310.     PCLASSINFO(H245_RTPPayloadType, PASN_Sequence);
  11311. #endif
  11312.   public:
  11313.     H245_RTPPayloadType(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11314.  
  11315.     enum OptionalFields {
  11316.       e_payloadType
  11317.     };
  11318.  
  11319.     H245_RTPPayloadType_payloadDescriptor m_payloadDescriptor;
  11320.     PASN_Integer m_payloadType;
  11321.  
  11322.     PINDEX GetDataLength() const;
  11323.     BOOL Decode(PASN_Stream & strm);
  11324.     void Encode(PASN_Stream & strm) const;
  11325. #ifndef PASN_NOPRINTON
  11326.     void PrintOn(ostream & strm) const;
  11327. #endif
  11328.     Comparison Compare(const PObject & obj) const;
  11329.     PObject * Clone() const;
  11330. };
  11331.  
  11332.  
  11333. //
  11334. // EncryptionSync
  11335. //
  11336.  
  11337. class H245_EncryptionSync : public PASN_Sequence
  11338. {
  11339. #ifndef PASN_LEANANDMEAN
  11340.     PCLASSINFO(H245_EncryptionSync, PASN_Sequence);
  11341. #endif
  11342.   public:
  11343.     H245_EncryptionSync(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11344.  
  11345.     enum OptionalFields {
  11346.       e_nonStandard,
  11347.       e_escrowentry
  11348.     };
  11349.  
  11350.     H245_NonStandardParameter m_nonStandard;
  11351.     PASN_Integer m_synchFlag;
  11352.     PASN_OctetString m_h235Key;
  11353.     H245_ArrayOf_EscrowData m_escrowentry;
  11354.  
  11355.     PINDEX GetDataLength() const;
  11356.     BOOL Decode(PASN_Stream & strm);
  11357.     void Encode(PASN_Stream & strm) const;
  11358. #ifndef PASN_NOPRINTON
  11359.     void PrintOn(ostream & strm) const;
  11360. #endif
  11361.     Comparison Compare(const PObject & obj) const;
  11362.     PObject * Clone() const;
  11363. };
  11364.  
  11365.  
  11366. //
  11367. // OpenLogicalChannelReject
  11368. //
  11369.  
  11370. class H245_OpenLogicalChannelReject : public PASN_Sequence
  11371. {
  11372. #ifndef PASN_LEANANDMEAN
  11373.     PCLASSINFO(H245_OpenLogicalChannelReject, PASN_Sequence);
  11374. #endif
  11375.   public:
  11376.     H245_OpenLogicalChannelReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11377.  
  11378.     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
  11379.     H245_OpenLogicalChannelReject_cause m_cause;
  11380.  
  11381.     PINDEX GetDataLength() const;
  11382.     BOOL Decode(PASN_Stream & strm);
  11383.     void Encode(PASN_Stream & strm) const;
  11384. #ifndef PASN_NOPRINTON
  11385.     void PrintOn(ostream & strm) const;
  11386. #endif
  11387.     Comparison Compare(const PObject & obj) const;
  11388.     PObject * Clone() const;
  11389. };
  11390.  
  11391.  
  11392. //
  11393. // H2250LogicalChannelAckParameters
  11394. //
  11395.  
  11396. class H245_H2250LogicalChannelAckParameters : public PASN_Sequence
  11397. {
  11398. #ifndef PASN_LEANANDMEAN
  11399.     PCLASSINFO(H245_H2250LogicalChannelAckParameters, PASN_Sequence);
  11400. #endif
  11401.   public:
  11402.     H245_H2250LogicalChannelAckParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11403.  
  11404.     enum OptionalFields {
  11405.       e_nonStandard,
  11406.       e_sessionID,
  11407.       e_mediaChannel,
  11408.       e_mediaControlChannel,
  11409.       e_dynamicRTPPayloadType,
  11410.       e_flowControlToZero,
  11411.       e_portNumber
  11412.     };
  11413.  
  11414.     H245_ArrayOf_NonStandardParameter m_nonStandard;
  11415.     PASN_Integer m_sessionID;
  11416.     H245_TransportAddress m_mediaChannel;
  11417.     H245_TransportAddress m_mediaControlChannel;
  11418.     PASN_Integer m_dynamicRTPPayloadType;
  11419.     PASN_Boolean m_flowControlToZero;
  11420.     PASN_Integer m_portNumber;
  11421.  
  11422.     PINDEX GetDataLength() const;
  11423.     BOOL Decode(PASN_Stream & strm);
  11424.     void Encode(PASN_Stream & strm) const;
  11425. #ifndef PASN_NOPRINTON
  11426.     void PrintOn(ostream & strm) const;
  11427. #endif
  11428.     Comparison Compare(const PObject & obj) const;
  11429.     PObject * Clone() const;
  11430. };
  11431.  
  11432.  
  11433. //
  11434. // CloseLogicalChannel
  11435. //
  11436.  
  11437. class H245_CloseLogicalChannel : public PASN_Sequence
  11438. {
  11439. #ifndef PASN_LEANANDMEAN
  11440.     PCLASSINFO(H245_CloseLogicalChannel, PASN_Sequence);
  11441. #endif
  11442.   public:
  11443.     H245_CloseLogicalChannel(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11444.  
  11445.     enum OptionalFields {
  11446.       e_reason
  11447.     };
  11448.  
  11449.     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
  11450.     H245_CloseLogicalChannel_source m_source;
  11451.     H245_CloseLogicalChannel_reason m_reason;
  11452.  
  11453.     PINDEX GetDataLength() const;
  11454.     BOOL Decode(PASN_Stream & strm);
  11455.     void Encode(PASN_Stream & strm) const;
  11456. #ifndef PASN_NOPRINTON
  11457.     void PrintOn(ostream & strm) const;
  11458. #endif
  11459.     Comparison Compare(const PObject & obj) const;
  11460.     PObject * Clone() const;
  11461. };
  11462.  
  11463.  
  11464. //
  11465. // RequestChannelClose
  11466. //
  11467.  
  11468. class H245_RequestChannelClose : public PASN_Sequence
  11469. {
  11470. #ifndef PASN_LEANANDMEAN
  11471.     PCLASSINFO(H245_RequestChannelClose, PASN_Sequence);
  11472. #endif
  11473.   public:
  11474.     H245_RequestChannelClose(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11475.  
  11476.     enum OptionalFields {
  11477.       e_qosCapability,
  11478.       e_reason
  11479.     };
  11480.  
  11481.     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
  11482.     H245_QOSCapability m_qosCapability;
  11483.     H245_RequestChannelClose_reason m_reason;
  11484.  
  11485.     PINDEX GetDataLength() const;
  11486.     BOOL Decode(PASN_Stream & strm);
  11487.     void Encode(PASN_Stream & strm) const;
  11488. #ifndef PASN_NOPRINTON
  11489.     void PrintOn(ostream & strm) const;
  11490. #endif
  11491.     Comparison Compare(const PObject & obj) const;
  11492.     PObject * Clone() const;
  11493. };
  11494.  
  11495.  
  11496. //
  11497. // RequestChannelCloseReject
  11498. //
  11499.  
  11500. class H245_RequestChannelCloseReject : public PASN_Sequence
  11501. {
  11502. #ifndef PASN_LEANANDMEAN
  11503.     PCLASSINFO(H245_RequestChannelCloseReject, PASN_Sequence);
  11504. #endif
  11505.   public:
  11506.     H245_RequestChannelCloseReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11507.  
  11508.     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
  11509.     H245_RequestChannelCloseReject_cause m_cause;
  11510.  
  11511.     PINDEX GetDataLength() const;
  11512.     BOOL Decode(PASN_Stream & strm);
  11513.     void Encode(PASN_Stream & strm) const;
  11514. #ifndef PASN_NOPRINTON
  11515.     void PrintOn(ostream & strm) const;
  11516. #endif
  11517.     Comparison Compare(const PObject & obj) const;
  11518.     PObject * Clone() const;
  11519. };
  11520.  
  11521.  
  11522. //
  11523. // MultiplexEntrySend
  11524. //
  11525.  
  11526. class H245_MultiplexEntrySend : public PASN_Sequence
  11527. {
  11528. #ifndef PASN_LEANANDMEAN
  11529.     PCLASSINFO(H245_MultiplexEntrySend, PASN_Sequence);
  11530. #endif
  11531.   public:
  11532.     H245_MultiplexEntrySend(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11533.  
  11534.     H245_SequenceNumber m_sequenceNumber;
  11535.     H245_ArrayOf_MultiplexEntryDescriptor m_multiplexEntryDescriptors;
  11536.  
  11537.     PINDEX GetDataLength() const;
  11538.     BOOL Decode(PASN_Stream & strm);
  11539.     void Encode(PASN_Stream & strm) const;
  11540. #ifndef PASN_NOPRINTON
  11541.     void PrintOn(ostream & strm) const;
  11542. #endif
  11543.     Comparison Compare(const PObject & obj) const;
  11544.     PObject * Clone() const;
  11545. };
  11546.  
  11547.  
  11548. //
  11549. // MultiplexEntryDescriptor
  11550. //
  11551.  
  11552. class H245_MultiplexEntryDescriptor : public PASN_Sequence
  11553. {
  11554. #ifndef PASN_LEANANDMEAN
  11555.     PCLASSINFO(H245_MultiplexEntryDescriptor, PASN_Sequence);
  11556. #endif
  11557.   public:
  11558.     H245_MultiplexEntryDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11559.  
  11560.     enum OptionalFields {
  11561.       e_elementList
  11562.     };
  11563.  
  11564.     H245_MultiplexTableEntryNumber m_multiplexTableEntryNumber;
  11565.     H245_ArrayOf_MultiplexElement m_elementList;
  11566.  
  11567.     PINDEX GetDataLength() const;
  11568.     BOOL Decode(PASN_Stream & strm);
  11569.     void Encode(PASN_Stream & strm) const;
  11570. #ifndef PASN_NOPRINTON
  11571.     void PrintOn(ostream & strm) const;
  11572. #endif
  11573.     Comparison Compare(const PObject & obj) const;
  11574.     PObject * Clone() const;
  11575. };
  11576.  
  11577.  
  11578. //
  11579. // MultiplexElement
  11580. //
  11581.  
  11582. class H245_MultiplexElement : public PASN_Sequence
  11583. {
  11584. #ifndef PASN_LEANANDMEAN
  11585.     PCLASSINFO(H245_MultiplexElement, PASN_Sequence);
  11586. #endif
  11587.   public:
  11588.     H245_MultiplexElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11589.  
  11590.     H245_MultiplexElement_type m_type;
  11591.     H245_MultiplexElement_repeatCount m_repeatCount;
  11592.  
  11593.     PINDEX GetDataLength() const;
  11594.     BOOL Decode(PASN_Stream & strm);
  11595.     void Encode(PASN_Stream & strm) const;
  11596. #ifndef PASN_NOPRINTON
  11597.     void PrintOn(ostream & strm) const;
  11598. #endif
  11599.     Comparison Compare(const PObject & obj) const;
  11600.     PObject * Clone() const;
  11601. };
  11602.  
  11603.  
  11604. //
  11605. // MultiplexEntrySendAck
  11606. //
  11607.  
  11608. class H245_MultiplexEntrySendAck : public PASN_Sequence
  11609. {
  11610. #ifndef PASN_LEANANDMEAN
  11611.     PCLASSINFO(H245_MultiplexEntrySendAck, PASN_Sequence);
  11612. #endif
  11613.   public:
  11614.     H245_MultiplexEntrySendAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11615.  
  11616.     H245_SequenceNumber m_sequenceNumber;
  11617.     H245_ArrayOf_MultiplexTableEntryNumber m_multiplexTableEntryNumber;
  11618.  
  11619.     PINDEX GetDataLength() const;
  11620.     BOOL Decode(PASN_Stream & strm);
  11621.     void Encode(PASN_Stream & strm) const;
  11622. #ifndef PASN_NOPRINTON
  11623.     void PrintOn(ostream & strm) const;
  11624. #endif
  11625.     Comparison Compare(const PObject & obj) const;
  11626.     PObject * Clone() const;
  11627. };
  11628.  
  11629.  
  11630. //
  11631. // MultiplexEntrySendReject
  11632. //
  11633.  
  11634. class H245_MultiplexEntrySendReject : public PASN_Sequence
  11635. {
  11636. #ifndef PASN_LEANANDMEAN
  11637.     PCLASSINFO(H245_MultiplexEntrySendReject, PASN_Sequence);
  11638. #endif
  11639.   public:
  11640.     H245_MultiplexEntrySendReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11641.  
  11642.     H245_SequenceNumber m_sequenceNumber;
  11643.     H245_ArrayOf_MultiplexEntryRejectionDescriptions m_rejectionDescriptions;
  11644.  
  11645.     PINDEX GetDataLength() const;
  11646.     BOOL Decode(PASN_Stream & strm);
  11647.     void Encode(PASN_Stream & strm) const;
  11648. #ifndef PASN_NOPRINTON
  11649.     void PrintOn(ostream & strm) const;
  11650. #endif
  11651.     Comparison Compare(const PObject & obj) const;
  11652.     PObject * Clone() const;
  11653. };
  11654.  
  11655.  
  11656. //
  11657. // MultiplexEntryRejectionDescriptions
  11658. //
  11659.  
  11660. class H245_MultiplexEntryRejectionDescriptions : public PASN_Sequence
  11661. {
  11662. #ifndef PASN_LEANANDMEAN
  11663.     PCLASSINFO(H245_MultiplexEntryRejectionDescriptions, PASN_Sequence);
  11664. #endif
  11665.   public:
  11666.     H245_MultiplexEntryRejectionDescriptions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11667.  
  11668.     H245_MultiplexTableEntryNumber m_multiplexTableEntryNumber;
  11669.     H245_MultiplexEntryRejectionDescriptions_cause m_cause;
  11670.  
  11671.     PINDEX GetDataLength() const;
  11672.     BOOL Decode(PASN_Stream & strm);
  11673.     void Encode(PASN_Stream & strm) const;
  11674. #ifndef PASN_NOPRINTON
  11675.     void PrintOn(ostream & strm) const;
  11676. #endif
  11677.     Comparison Compare(const PObject & obj) const;
  11678.     PObject * Clone() const;
  11679. };
  11680.  
  11681.  
  11682. //
  11683. // MultiplexEntrySendRelease
  11684. //
  11685.  
  11686. class H245_MultiplexEntrySendRelease : public PASN_Sequence
  11687. {
  11688. #ifndef PASN_LEANANDMEAN
  11689.     PCLASSINFO(H245_MultiplexEntrySendRelease, PASN_Sequence);
  11690. #endif
  11691.   public:
  11692.     H245_MultiplexEntrySendRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11693.  
  11694.     H245_ArrayOf_MultiplexTableEntryNumber m_multiplexTableEntryNumber;
  11695.  
  11696.     PINDEX GetDataLength() const;
  11697.     BOOL Decode(PASN_Stream & strm);
  11698.     void Encode(PASN_Stream & strm) const;
  11699. #ifndef PASN_NOPRINTON
  11700.     void PrintOn(ostream & strm) const;
  11701. #endif
  11702.     Comparison Compare(const PObject & obj) const;
  11703.     PObject * Clone() const;
  11704. };
  11705.  
  11706.  
  11707. //
  11708. // RequestMultiplexEntry
  11709. //
  11710.  
  11711. class H245_RequestMultiplexEntry : public PASN_Sequence
  11712. {
  11713. #ifndef PASN_LEANANDMEAN
  11714.     PCLASSINFO(H245_RequestMultiplexEntry, PASN_Sequence);
  11715. #endif
  11716.   public:
  11717.     H245_RequestMultiplexEntry(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11718.  
  11719.     H245_ArrayOf_MultiplexTableEntryNumber m_entryNumbers;
  11720.  
  11721.     PINDEX GetDataLength() const;
  11722.     BOOL Decode(PASN_Stream & strm);
  11723.     void Encode(PASN_Stream & strm) const;
  11724. #ifndef PASN_NOPRINTON
  11725.     void PrintOn(ostream & strm) const;
  11726. #endif
  11727.     Comparison Compare(const PObject & obj) const;
  11728.     PObject * Clone() const;
  11729. };
  11730.  
  11731.  
  11732. //
  11733. // RequestMultiplexEntryAck
  11734. //
  11735.  
  11736. class H245_RequestMultiplexEntryAck : public PASN_Sequence
  11737. {
  11738. #ifndef PASN_LEANANDMEAN
  11739.     PCLASSINFO(H245_RequestMultiplexEntryAck, PASN_Sequence);
  11740. #endif
  11741.   public:
  11742.     H245_RequestMultiplexEntryAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11743.  
  11744.     H245_ArrayOf_MultiplexTableEntryNumber m_entryNumbers;
  11745.  
  11746.     PINDEX GetDataLength() const;
  11747.     BOOL Decode(PASN_Stream & strm);
  11748.     void Encode(PASN_Stream & strm) const;
  11749. #ifndef PASN_NOPRINTON
  11750.     void PrintOn(ostream & strm) const;
  11751. #endif
  11752.     Comparison Compare(const PObject & obj) const;
  11753.     PObject * Clone() const;
  11754. };
  11755.  
  11756.  
  11757. //
  11758. // RequestMultiplexEntryReject
  11759. //
  11760.  
  11761. class H245_RequestMultiplexEntryReject : public PASN_Sequence
  11762. {
  11763. #ifndef PASN_LEANANDMEAN
  11764.     PCLASSINFO(H245_RequestMultiplexEntryReject, PASN_Sequence);
  11765. #endif
  11766.   public:
  11767.     H245_RequestMultiplexEntryReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11768.  
  11769.     H245_ArrayOf_MultiplexTableEntryNumber m_entryNumbers;
  11770.     H245_ArrayOf_RequestMultiplexEntryRejectionDescriptions m_rejectionDescriptions;
  11771.  
  11772.     PINDEX GetDataLength() const;
  11773.     BOOL Decode(PASN_Stream & strm);
  11774.     void Encode(PASN_Stream & strm) const;
  11775. #ifndef PASN_NOPRINTON
  11776.     void PrintOn(ostream & strm) const;
  11777. #endif
  11778.     Comparison Compare(const PObject & obj) const;
  11779.     PObject * Clone() const;
  11780. };
  11781.  
  11782.  
  11783. //
  11784. // RequestMultiplexEntryRejectionDescriptions
  11785. //
  11786.  
  11787. class H245_RequestMultiplexEntryRejectionDescriptions : public PASN_Sequence
  11788. {
  11789. #ifndef PASN_LEANANDMEAN
  11790.     PCLASSINFO(H245_RequestMultiplexEntryRejectionDescriptions, PASN_Sequence);
  11791. #endif
  11792.   public:
  11793.     H245_RequestMultiplexEntryRejectionDescriptions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11794.  
  11795.     H245_MultiplexTableEntryNumber m_multiplexTableEntryNumber;
  11796.     H245_RequestMultiplexEntryRejectionDescriptions_cause m_cause;
  11797.  
  11798.     PINDEX GetDataLength() const;
  11799.     BOOL Decode(PASN_Stream & strm);
  11800.     void Encode(PASN_Stream & strm) const;
  11801. #ifndef PASN_NOPRINTON
  11802.     void PrintOn(ostream & strm) const;
  11803. #endif
  11804.     Comparison Compare(const PObject & obj) const;
  11805.     PObject * Clone() const;
  11806. };
  11807.  
  11808.  
  11809. //
  11810. // RequestMultiplexEntryRelease
  11811. //
  11812.  
  11813. class H245_RequestMultiplexEntryRelease : public PASN_Sequence
  11814. {
  11815. #ifndef PASN_LEANANDMEAN
  11816.     PCLASSINFO(H245_RequestMultiplexEntryRelease, PASN_Sequence);
  11817. #endif
  11818.   public:
  11819.     H245_RequestMultiplexEntryRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11820.  
  11821.     H245_ArrayOf_MultiplexTableEntryNumber m_entryNumbers;
  11822.  
  11823.     PINDEX GetDataLength() const;
  11824.     BOOL Decode(PASN_Stream & strm);
  11825.     void Encode(PASN_Stream & strm) const;
  11826. #ifndef PASN_NOPRINTON
  11827.     void PrintOn(ostream & strm) const;
  11828. #endif
  11829.     Comparison Compare(const PObject & obj) const;
  11830.     PObject * Clone() const;
  11831. };
  11832.  
  11833.  
  11834. //
  11835. // RequestMode
  11836. //
  11837.  
  11838. class H245_RequestMode : public PASN_Sequence
  11839. {
  11840. #ifndef PASN_LEANANDMEAN
  11841.     PCLASSINFO(H245_RequestMode, PASN_Sequence);
  11842. #endif
  11843.   public:
  11844.     H245_RequestMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11845.  
  11846.     H245_SequenceNumber m_sequenceNumber;
  11847.     H245_ArrayOf_ModeDescription m_requestedModes;
  11848.  
  11849.     PINDEX GetDataLength() const;
  11850.     BOOL Decode(PASN_Stream & strm);
  11851.     void Encode(PASN_Stream & strm) const;
  11852. #ifndef PASN_NOPRINTON
  11853.     void PrintOn(ostream & strm) const;
  11854. #endif
  11855.     Comparison Compare(const PObject & obj) const;
  11856.     PObject * Clone() const;
  11857. };
  11858.  
  11859.  
  11860. //
  11861. // RequestModeAck
  11862. //
  11863.  
  11864. class H245_RequestModeAck : public PASN_Sequence
  11865. {
  11866. #ifndef PASN_LEANANDMEAN
  11867.     PCLASSINFO(H245_RequestModeAck, PASN_Sequence);
  11868. #endif
  11869.   public:
  11870.     H245_RequestModeAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11871.  
  11872.     H245_SequenceNumber m_sequenceNumber;
  11873.     H245_RequestModeAck_response m_response;
  11874.  
  11875.     PINDEX GetDataLength() const;
  11876.     BOOL Decode(PASN_Stream & strm);
  11877.     void Encode(PASN_Stream & strm) const;
  11878. #ifndef PASN_NOPRINTON
  11879.     void PrintOn(ostream & strm) const;
  11880. #endif
  11881.     Comparison Compare(const PObject & obj) const;
  11882.     PObject * Clone() const;
  11883. };
  11884.  
  11885.  
  11886. //
  11887. // RequestModeReject
  11888. //
  11889.  
  11890. class H245_RequestModeReject : public PASN_Sequence
  11891. {
  11892. #ifndef PASN_LEANANDMEAN
  11893.     PCLASSINFO(H245_RequestModeReject, PASN_Sequence);
  11894. #endif
  11895.   public:
  11896.     H245_RequestModeReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11897.  
  11898.     H245_SequenceNumber m_sequenceNumber;
  11899.     H245_RequestModeReject_cause m_cause;
  11900.  
  11901.     PINDEX GetDataLength() const;
  11902.     BOOL Decode(PASN_Stream & strm);
  11903.     void Encode(PASN_Stream & strm) const;
  11904. #ifndef PASN_NOPRINTON
  11905.     void PrintOn(ostream & strm) const;
  11906. #endif
  11907.     Comparison Compare(const PObject & obj) const;
  11908.     PObject * Clone() const;
  11909. };
  11910.  
  11911.  
  11912. //
  11913. // H223ModeParameters
  11914. //
  11915.  
  11916. class H245_H223ModeParameters : public PASN_Sequence
  11917. {
  11918. #ifndef PASN_LEANANDMEAN
  11919.     PCLASSINFO(H245_H223ModeParameters, PASN_Sequence);
  11920. #endif
  11921.   public:
  11922.     H245_H223ModeParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11923.  
  11924.     H245_H223ModeParameters_adaptationLayerType m_adaptationLayerType;
  11925.     PASN_Boolean m_segmentableFlag;
  11926.  
  11927.     PINDEX GetDataLength() const;
  11928.     BOOL Decode(PASN_Stream & strm);
  11929.     void Encode(PASN_Stream & strm) const;
  11930. #ifndef PASN_NOPRINTON
  11931.     void PrintOn(ostream & strm) const;
  11932. #endif
  11933.     Comparison Compare(const PObject & obj) const;
  11934.     PObject * Clone() const;
  11935. };
  11936.  
  11937.  
  11938. //
  11939. // RedundancyEncodingMode
  11940. //
  11941.  
  11942. class H245_RedundancyEncodingMode : public PASN_Sequence
  11943. {
  11944. #ifndef PASN_LEANANDMEAN
  11945.     PCLASSINFO(H245_RedundancyEncodingMode, PASN_Sequence);
  11946. #endif
  11947.   public:
  11948.     H245_RedundancyEncodingMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11949.  
  11950.     enum OptionalFields {
  11951.       e_secondaryEncoding
  11952.     };
  11953.  
  11954.     H245_RedundancyEncodingMethod m_redundancyEncodingMethod;
  11955.     H245_RedundancyEncodingMode_secondaryEncoding m_secondaryEncoding;
  11956.  
  11957.     PINDEX GetDataLength() const;
  11958.     BOOL Decode(PASN_Stream & strm);
  11959.     void Encode(PASN_Stream & strm) const;
  11960. #ifndef PASN_NOPRINTON
  11961.     void PrintOn(ostream & strm) const;
  11962. #endif
  11963.     Comparison Compare(const PObject & obj) const;
  11964.     PObject * Clone() const;
  11965. };
  11966.  
  11967.  
  11968. //
  11969. // H261VideoMode
  11970. //
  11971.  
  11972. class H245_H261VideoMode : public PASN_Sequence
  11973. {
  11974. #ifndef PASN_LEANANDMEAN
  11975.     PCLASSINFO(H245_H261VideoMode, PASN_Sequence);
  11976. #endif
  11977.   public:
  11978.     H245_H261VideoMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  11979.  
  11980.     H245_H261VideoMode_resolution m_resolution;
  11981.     PASN_Integer m_bitRate;
  11982.     PASN_Boolean m_stillImageTransmission;
  11983.  
  11984.     PINDEX GetDataLength() const;
  11985.     BOOL Decode(PASN_Stream & strm);
  11986.     void Encode(PASN_Stream & strm) const;
  11987. #ifndef PASN_NOPRINTON
  11988.     void PrintOn(ostream & strm) const;
  11989. #endif
  11990.     Comparison Compare(const PObject & obj) const;
  11991.     PObject * Clone() const;
  11992. };
  11993.  
  11994.  
  11995. //
  11996. // H262VideoMode
  11997. //
  11998.  
  11999. class H245_H262VideoMode : public PASN_Sequence
  12000. {
  12001. #ifndef PASN_LEANANDMEAN
  12002.     PCLASSINFO(H245_H262VideoMode, PASN_Sequence);
  12003. #endif
  12004.   public:
  12005.     H245_H262VideoMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12006.  
  12007.     enum OptionalFields {
  12008.       e_videoBitRate,
  12009.       e_vbvBufferSize,
  12010.       e_samplesPerLine,
  12011.       e_linesPerFrame,
  12012.       e_framesPerSecond,
  12013.       e_luminanceSampleRate
  12014.     };
  12015.  
  12016.     H245_H262VideoMode_profileAndLevel m_profileAndLevel;
  12017.     PASN_Integer m_videoBitRate;
  12018.     PASN_Integer m_vbvBufferSize;
  12019.     PASN_Integer m_samplesPerLine;
  12020.     PASN_Integer m_linesPerFrame;
  12021.     PASN_Integer m_framesPerSecond;
  12022.     PASN_Integer m_luminanceSampleRate;
  12023.  
  12024.     PINDEX GetDataLength() const;
  12025.     BOOL Decode(PASN_Stream & strm);
  12026.     void Encode(PASN_Stream & strm) const;
  12027. #ifndef PASN_NOPRINTON
  12028.     void PrintOn(ostream & strm) const;
  12029. #endif
  12030.     Comparison Compare(const PObject & obj) const;
  12031.     PObject * Clone() const;
  12032. };
  12033.  
  12034.  
  12035. //
  12036. // IS11172AudioMode
  12037. //
  12038.  
  12039. class H245_IS11172AudioMode : public PASN_Sequence
  12040. {
  12041. #ifndef PASN_LEANANDMEAN
  12042.     PCLASSINFO(H245_IS11172AudioMode, PASN_Sequence);
  12043. #endif
  12044.   public:
  12045.     H245_IS11172AudioMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12046.  
  12047.     H245_IS11172AudioMode_audioLayer m_audioLayer;
  12048.     H245_IS11172AudioMode_audioSampling m_audioSampling;
  12049.     H245_IS11172AudioMode_multichannelType m_multichannelType;
  12050.     PASN_Integer m_bitRate;
  12051.  
  12052.     PINDEX GetDataLength() const;
  12053.     BOOL Decode(PASN_Stream & strm);
  12054.     void Encode(PASN_Stream & strm) const;
  12055. #ifndef PASN_NOPRINTON
  12056.     void PrintOn(ostream & strm) const;
  12057. #endif
  12058.     Comparison Compare(const PObject & obj) const;
  12059.     PObject * Clone() const;
  12060. };
  12061.  
  12062.  
  12063. //
  12064. // IS13818AudioMode
  12065. //
  12066.  
  12067. class H245_IS13818AudioMode : public PASN_Sequence
  12068. {
  12069. #ifndef PASN_LEANANDMEAN
  12070.     PCLASSINFO(H245_IS13818AudioMode, PASN_Sequence);
  12071. #endif
  12072.   public:
  12073.     H245_IS13818AudioMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12074.  
  12075.     H245_IS13818AudioMode_audioLayer m_audioLayer;
  12076.     H245_IS13818AudioMode_audioSampling m_audioSampling;
  12077.     H245_IS13818AudioMode_multichannelType m_multichannelType;
  12078.     PASN_Boolean m_lowFrequencyEnhancement;
  12079.     PASN_Boolean m_multilingual;
  12080.     PASN_Integer m_bitRate;
  12081.  
  12082.     PINDEX GetDataLength() const;
  12083.     BOOL Decode(PASN_Stream & strm);
  12084.     void Encode(PASN_Stream & strm) const;
  12085. #ifndef PASN_NOPRINTON
  12086.     void PrintOn(ostream & strm) const;
  12087. #endif
  12088.     Comparison Compare(const PObject & obj) const;
  12089.     PObject * Clone() const;
  12090. };
  12091.  
  12092.  
  12093. //
  12094. // G7231AnnexCMode
  12095. //
  12096.  
  12097. class H245_G7231AnnexCMode : public PASN_Sequence
  12098. {
  12099. #ifndef PASN_LEANANDMEAN
  12100.     PCLASSINFO(H245_G7231AnnexCMode, PASN_Sequence);
  12101. #endif
  12102.   public:
  12103.     H245_G7231AnnexCMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12104.  
  12105.     PASN_Integer m_maxAl_sduAudioFrames;
  12106.     PASN_Boolean m_silenceSuppression;
  12107.     H245_G7231AnnexCMode_g723AnnexCAudioMode m_g723AnnexCAudioMode;
  12108.  
  12109.     PINDEX GetDataLength() const;
  12110.     BOOL Decode(PASN_Stream & strm);
  12111.     void Encode(PASN_Stream & strm) const;
  12112. #ifndef PASN_NOPRINTON
  12113.     void PrintOn(ostream & strm) const;
  12114. #endif
  12115.     Comparison Compare(const PObject & obj) const;
  12116.     PObject * Clone() const;
  12117. };
  12118.  
  12119.  
  12120. //
  12121. // DataMode
  12122. //
  12123.  
  12124. class H245_DataMode : public PASN_Sequence
  12125. {
  12126. #ifndef PASN_LEANANDMEAN
  12127.     PCLASSINFO(H245_DataMode, PASN_Sequence);
  12128. #endif
  12129.   public:
  12130.     H245_DataMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12131.  
  12132.     H245_DataMode_application m_application;
  12133.     PASN_Integer m_bitRate;
  12134.  
  12135.     PINDEX GetDataLength() const;
  12136.     BOOL Decode(PASN_Stream & strm);
  12137.     void Encode(PASN_Stream & strm) const;
  12138. #ifndef PASN_NOPRINTON
  12139.     void PrintOn(ostream & strm) const;
  12140. #endif
  12141.     Comparison Compare(const PObject & obj) const;
  12142.     PObject * Clone() const;
  12143. };
  12144.  
  12145.  
  12146. //
  12147. // MaintenanceLoopRequest
  12148. //
  12149.  
  12150. class H245_MaintenanceLoopRequest : public PASN_Sequence
  12151. {
  12152. #ifndef PASN_LEANANDMEAN
  12153.     PCLASSINFO(H245_MaintenanceLoopRequest, PASN_Sequence);
  12154. #endif
  12155.   public:
  12156.     H245_MaintenanceLoopRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12157.  
  12158.     H245_MaintenanceLoopRequest_type m_type;
  12159.  
  12160.     PINDEX GetDataLength() const;
  12161.     BOOL Decode(PASN_Stream & strm);
  12162.     void Encode(PASN_Stream & strm) const;
  12163. #ifndef PASN_NOPRINTON
  12164.     void PrintOn(ostream & strm) const;
  12165. #endif
  12166.     Comparison Compare(const PObject & obj) const;
  12167.     PObject * Clone() const;
  12168. };
  12169.  
  12170.  
  12171. //
  12172. // MaintenanceLoopAck
  12173. //
  12174.  
  12175. class H245_MaintenanceLoopAck : public PASN_Sequence
  12176. {
  12177. #ifndef PASN_LEANANDMEAN
  12178.     PCLASSINFO(H245_MaintenanceLoopAck, PASN_Sequence);
  12179. #endif
  12180.   public:
  12181.     H245_MaintenanceLoopAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12182.  
  12183.     H245_MaintenanceLoopAck_type m_type;
  12184.  
  12185.     PINDEX GetDataLength() const;
  12186.     BOOL Decode(PASN_Stream & strm);
  12187.     void Encode(PASN_Stream & strm) const;
  12188. #ifndef PASN_NOPRINTON
  12189.     void PrintOn(ostream & strm) const;
  12190. #endif
  12191.     Comparison Compare(const PObject & obj) const;
  12192.     PObject * Clone() const;
  12193. };
  12194.  
  12195.  
  12196. //
  12197. // MaintenanceLoopReject
  12198. //
  12199.  
  12200. class H245_MaintenanceLoopReject : public PASN_Sequence
  12201. {
  12202. #ifndef PASN_LEANANDMEAN
  12203.     PCLASSINFO(H245_MaintenanceLoopReject, PASN_Sequence);
  12204. #endif
  12205.   public:
  12206.     H245_MaintenanceLoopReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12207.  
  12208.     H245_MaintenanceLoopReject_type m_type;
  12209.     H245_MaintenanceLoopReject_cause m_cause;
  12210.  
  12211.     PINDEX GetDataLength() const;
  12212.     BOOL Decode(PASN_Stream & strm);
  12213.     void Encode(PASN_Stream & strm) const;
  12214. #ifndef PASN_NOPRINTON
  12215.     void PrintOn(ostream & strm) const;
  12216. #endif
  12217.     Comparison Compare(const PObject & obj) const;
  12218.     PObject * Clone() const;
  12219. };
  12220.  
  12221.  
  12222. //
  12223. // CommunicationModeCommand
  12224. //
  12225.  
  12226. class H245_CommunicationModeCommand : public PASN_Sequence
  12227. {
  12228. #ifndef PASN_LEANANDMEAN
  12229.     PCLASSINFO(H245_CommunicationModeCommand, PASN_Sequence);
  12230. #endif
  12231.   public:
  12232.     H245_CommunicationModeCommand(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12233.  
  12234.     H245_ArrayOf_CommunicationModeTableEntry m_communicationModeTable;
  12235.  
  12236.     PINDEX GetDataLength() const;
  12237.     BOOL Decode(PASN_Stream & strm);
  12238.     void Encode(PASN_Stream & strm) const;
  12239. #ifndef PASN_NOPRINTON
  12240.     void PrintOn(ostream & strm) const;
  12241. #endif
  12242.     Comparison Compare(const PObject & obj) const;
  12243.     PObject * Clone() const;
  12244. };
  12245.  
  12246.  
  12247. //
  12248. // TerminalLabel
  12249. //
  12250.  
  12251. class H245_TerminalLabel : public PASN_Sequence
  12252. {
  12253. #ifndef PASN_LEANANDMEAN
  12254.     PCLASSINFO(H245_TerminalLabel, PASN_Sequence);
  12255. #endif
  12256.   public:
  12257.     H245_TerminalLabel(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12258.  
  12259.     H245_McuNumber m_mcuNumber;
  12260.     H245_TerminalNumber m_terminalNumber;
  12261.  
  12262.     PINDEX GetDataLength() const;
  12263.     BOOL Decode(PASN_Stream & strm);
  12264.     void Encode(PASN_Stream & strm) const;
  12265. #ifndef PASN_NOPRINTON
  12266.     void PrintOn(ostream & strm) const;
  12267. #endif
  12268.     Comparison Compare(const PObject & obj) const;
  12269.     PObject * Clone() const;
  12270. };
  12271.  
  12272.  
  12273. //
  12274. // RequestAllTerminalIDsResponse
  12275. //
  12276.  
  12277. class H245_RequestAllTerminalIDsResponse : public PASN_Sequence
  12278. {
  12279. #ifndef PASN_LEANANDMEAN
  12280.     PCLASSINFO(H245_RequestAllTerminalIDsResponse, PASN_Sequence);
  12281. #endif
  12282.   public:
  12283.     H245_RequestAllTerminalIDsResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12284.  
  12285.     H245_ArrayOf_TerminalInformation m_terminalInformation;
  12286.  
  12287.     PINDEX GetDataLength() const;
  12288.     BOOL Decode(PASN_Stream & strm);
  12289.     void Encode(PASN_Stream & strm) const;
  12290. #ifndef PASN_NOPRINTON
  12291.     void PrintOn(ostream & strm) const;
  12292. #endif
  12293.     Comparison Compare(const PObject & obj) const;
  12294.     PObject * Clone() const;
  12295. };
  12296.  
  12297.  
  12298. //
  12299. // TerminalInformation
  12300. //
  12301.  
  12302. class H245_TerminalInformation : public PASN_Sequence
  12303. {
  12304. #ifndef PASN_LEANANDMEAN
  12305.     PCLASSINFO(H245_TerminalInformation, PASN_Sequence);
  12306. #endif
  12307.   public:
  12308.     H245_TerminalInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12309.  
  12310.     H245_TerminalLabel m_terminalLabel;
  12311.     H245_TerminalID m_terminalID;
  12312.  
  12313.     PINDEX GetDataLength() const;
  12314.     BOOL Decode(PASN_Stream & strm);
  12315.     void Encode(PASN_Stream & strm) const;
  12316. #ifndef PASN_NOPRINTON
  12317.     void PrintOn(ostream & strm) const;
  12318. #endif
  12319.     Comparison Compare(const PObject & obj) const;
  12320.     PObject * Clone() const;
  12321. };
  12322.  
  12323.  
  12324. //
  12325. // DialingInformationNumber
  12326. //
  12327.  
  12328. class H245_DialingInformationNumber : public PASN_Sequence
  12329. {
  12330. #ifndef PASN_LEANANDMEAN
  12331.     PCLASSINFO(H245_DialingInformationNumber, PASN_Sequence);
  12332. #endif
  12333.   public:
  12334.     H245_DialingInformationNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12335.  
  12336.     enum OptionalFields {
  12337.       e_subAddress
  12338.     };
  12339.  
  12340.     PASN_NumericString m_networkAddress;
  12341.     PASN_IA5String m_subAddress;
  12342.     H245_ArrayOf_DialingInformationNetworkType m_networkType;
  12343.  
  12344.     PINDEX GetDataLength() const;
  12345.     BOOL Decode(PASN_Stream & strm);
  12346.     void Encode(PASN_Stream & strm) const;
  12347. #ifndef PASN_NOPRINTON
  12348.     void PrintOn(ostream & strm) const;
  12349. #endif
  12350.     Comparison Compare(const PObject & obj) const;
  12351.     PObject * Clone() const;
  12352. };
  12353.  
  12354.  
  12355. //
  12356. // LogicalChannelRateReject
  12357. //
  12358.  
  12359. class H245_LogicalChannelRateReject : public PASN_Sequence
  12360. {
  12361. #ifndef PASN_LEANANDMEAN
  12362.     PCLASSINFO(H245_LogicalChannelRateReject, PASN_Sequence);
  12363. #endif
  12364.   public:
  12365.     H245_LogicalChannelRateReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12366.  
  12367.     enum OptionalFields {
  12368.       e_currentMaximumBitRate
  12369.     };
  12370.  
  12371.     H245_SequenceNumber m_sequenceNumber;
  12372.     H245_LogicalChannelNumber m_logicalChannelNumber;
  12373.     H245_LogicalChannelRateRejectReason m_rejectReason;
  12374.     H245_MaximumBitRate m_currentMaximumBitRate;
  12375.  
  12376.     PINDEX GetDataLength() const;
  12377.     BOOL Decode(PASN_Stream & strm);
  12378.     void Encode(PASN_Stream & strm) const;
  12379. #ifndef PASN_NOPRINTON
  12380.     void PrintOn(ostream & strm) const;
  12381. #endif
  12382.     Comparison Compare(const PObject & obj) const;
  12383.     PObject * Clone() const;
  12384. };
  12385.  
  12386.  
  12387. //
  12388. // FlowControlCommand
  12389. //
  12390.  
  12391. class H245_FlowControlCommand : public PASN_Sequence
  12392. {
  12393. #ifndef PASN_LEANANDMEAN
  12394.     PCLASSINFO(H245_FlowControlCommand, PASN_Sequence);
  12395. #endif
  12396.   public:
  12397.     H245_FlowControlCommand(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12398.  
  12399.     H245_FlowControlCommand_scope m_scope;
  12400.     H245_FlowControlCommand_restriction m_restriction;
  12401.  
  12402.     PINDEX GetDataLength() const;
  12403.     BOOL Decode(PASN_Stream & strm);
  12404.     void Encode(PASN_Stream & strm) const;
  12405. #ifndef PASN_NOPRINTON
  12406.     void PrintOn(ostream & strm) const;
  12407. #endif
  12408.     Comparison Compare(const PObject & obj) const;
  12409.     PObject * Clone() const;
  12410. };
  12411.  
  12412.  
  12413. //
  12414. // MiscellaneousCommand
  12415. //
  12416.  
  12417. class H245_MiscellaneousCommand : public PASN_Sequence
  12418. {
  12419. #ifndef PASN_LEANANDMEAN
  12420.     PCLASSINFO(H245_MiscellaneousCommand, PASN_Sequence);
  12421. #endif
  12422.   public:
  12423.     H245_MiscellaneousCommand(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12424.  
  12425.     H245_LogicalChannelNumber m_logicalChannelNumber;
  12426.     H245_MiscellaneousCommand_type m_type;
  12427.  
  12428.     PINDEX GetDataLength() const;
  12429.     BOOL Decode(PASN_Stream & strm);
  12430.     void Encode(PASN_Stream & strm) const;
  12431. #ifndef PASN_NOPRINTON
  12432.     void PrintOn(ostream & strm) const;
  12433. #endif
  12434.     Comparison Compare(const PObject & obj) const;
  12435.     PObject * Clone() const;
  12436. };
  12437.  
  12438.  
  12439. //
  12440. // MobileMultilinkReconfigurationCommand
  12441. //
  12442.  
  12443. class H245_MobileMultilinkReconfigurationCommand : public PASN_Sequence
  12444. {
  12445. #ifndef PASN_LEANANDMEAN
  12446.     PCLASSINFO(H245_MobileMultilinkReconfigurationCommand, PASN_Sequence);
  12447. #endif
  12448.   public:
  12449.     H245_MobileMultilinkReconfigurationCommand(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12450.  
  12451.     PASN_Integer m_sampleSize;
  12452.     PASN_Integer m_samplesPerFrame;
  12453.     H245_MobileMultilinkReconfigurationCommand_status m_status;
  12454.  
  12455.     PINDEX GetDataLength() const;
  12456.     BOOL Decode(PASN_Stream & strm);
  12457.     void Encode(PASN_Stream & strm) const;
  12458. #ifndef PASN_NOPRINTON
  12459.     void PrintOn(ostream & strm) const;
  12460. #endif
  12461.     Comparison Compare(const PObject & obj) const;
  12462.     PObject * Clone() const;
  12463. };
  12464.  
  12465.  
  12466. //
  12467. // FunctionNotSupported
  12468. //
  12469.  
  12470. class H245_FunctionNotSupported : public PASN_Sequence
  12471. {
  12472. #ifndef PASN_LEANANDMEAN
  12473.     PCLASSINFO(H245_FunctionNotSupported, PASN_Sequence);
  12474. #endif
  12475.   public:
  12476.     H245_FunctionNotSupported(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12477.  
  12478.     enum OptionalFields {
  12479.       e_returnedFunction
  12480.     };
  12481.  
  12482.     H245_FunctionNotSupported_cause m_cause;
  12483.     PASN_OctetString m_returnedFunction;
  12484.  
  12485.     PINDEX GetDataLength() const;
  12486.     BOOL Decode(PASN_Stream & strm);
  12487.     void Encode(PASN_Stream & strm) const;
  12488. #ifndef PASN_NOPRINTON
  12489.     void PrintOn(ostream & strm) const;
  12490. #endif
  12491.     Comparison Compare(const PObject & obj) const;
  12492.     PObject * Clone() const;
  12493. };
  12494.  
  12495.  
  12496. //
  12497. // MiscellaneousIndication
  12498. //
  12499.  
  12500. class H245_MiscellaneousIndication : public PASN_Sequence
  12501. {
  12502. #ifndef PASN_LEANANDMEAN
  12503.     PCLASSINFO(H245_MiscellaneousIndication, PASN_Sequence);
  12504. #endif
  12505.   public:
  12506.     H245_MiscellaneousIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12507.  
  12508.     H245_LogicalChannelNumber m_logicalChannelNumber;
  12509.     H245_MiscellaneousIndication_type m_type;
  12510.  
  12511.     PINDEX GetDataLength() const;
  12512.     BOOL Decode(PASN_Stream & strm);
  12513.     void Encode(PASN_Stream & strm) const;
  12514. #ifndef PASN_NOPRINTON
  12515.     void PrintOn(ostream & strm) const;
  12516. #endif
  12517.     Comparison Compare(const PObject & obj) const;
  12518.     PObject * Clone() const;
  12519. };
  12520.  
  12521.  
  12522. //
  12523. // JitterIndication
  12524. //
  12525.  
  12526. class H245_JitterIndication : public PASN_Sequence
  12527. {
  12528. #ifndef PASN_LEANANDMEAN
  12529.     PCLASSINFO(H245_JitterIndication, PASN_Sequence);
  12530. #endif
  12531.   public:
  12532.     H245_JitterIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12533.  
  12534.     enum OptionalFields {
  12535.       e_skippedFrameCount,
  12536.       e_additionalDecoderBuffer
  12537.     };
  12538.  
  12539.     H245_JitterIndication_scope m_scope;
  12540.     PASN_Integer m_estimatedReceivedJitterMantissa;
  12541.     PASN_Integer m_estimatedReceivedJitterExponent;
  12542.     PASN_Integer m_skippedFrameCount;
  12543.     PASN_Integer m_additionalDecoderBuffer;
  12544.  
  12545.     PINDEX GetDataLength() const;
  12546.     BOOL Decode(PASN_Stream & strm);
  12547.     void Encode(PASN_Stream & strm) const;
  12548. #ifndef PASN_NOPRINTON
  12549.     void PrintOn(ostream & strm) const;
  12550. #endif
  12551.     Comparison Compare(const PObject & obj) const;
  12552.     PObject * Clone() const;
  12553. };
  12554.  
  12555.  
  12556. //
  12557. // FlowControlIndication
  12558. //
  12559.  
  12560. class H245_FlowControlIndication : public PASN_Sequence
  12561. {
  12562. #ifndef PASN_LEANANDMEAN
  12563.     PCLASSINFO(H245_FlowControlIndication, PASN_Sequence);
  12564. #endif
  12565.   public:
  12566.     H245_FlowControlIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12567.  
  12568.     H245_FlowControlIndication_scope m_scope;
  12569.     H245_FlowControlIndication_restriction m_restriction;
  12570.  
  12571.     PINDEX GetDataLength() const;
  12572.     BOOL Decode(PASN_Stream & strm);
  12573.     void Encode(PASN_Stream & strm) const;
  12574. #ifndef PASN_NOPRINTON
  12575.     void PrintOn(ostream & strm) const;
  12576. #endif
  12577.     Comparison Compare(const PObject & obj) const;
  12578.     PObject * Clone() const;
  12579. };
  12580.  
  12581.  
  12582. //
  12583. // VCCapability_availableBitRates
  12584. //
  12585.  
  12586. class H245_VCCapability_availableBitRates : public PASN_Sequence
  12587. {
  12588. #ifndef PASN_LEANANDMEAN
  12589.     PCLASSINFO(H245_VCCapability_availableBitRates, PASN_Sequence);
  12590. #endif
  12591.   public:
  12592.     H245_VCCapability_availableBitRates(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12593.  
  12594.     H245_VCCapability_availableBitRates_type m_type;
  12595.  
  12596.     PINDEX GetDataLength() const;
  12597.     BOOL Decode(PASN_Stream & strm);
  12598.     void Encode(PASN_Stream & strm) const;
  12599. #ifndef PASN_NOPRINTON
  12600.     void PrintOn(ostream & strm) const;
  12601. #endif
  12602.     Comparison Compare(const PObject & obj) const;
  12603.     PObject * Clone() const;
  12604. };
  12605.  
  12606.  
  12607. //
  12608. // VCCapability_aal1ViaGateway
  12609. //
  12610.  
  12611. class H245_VCCapability_aal1ViaGateway : public PASN_Sequence
  12612. {
  12613. #ifndef PASN_LEANANDMEAN
  12614.     PCLASSINFO(H245_VCCapability_aal1ViaGateway, PASN_Sequence);
  12615. #endif
  12616.   public:
  12617.     H245_VCCapability_aal1ViaGateway(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12618.  
  12619.     H245_ArrayOf_Q2931Address m_gatewayAddress;
  12620.     PASN_Boolean m_nullClockRecovery;
  12621.     PASN_Boolean m_srtsClockRecovery;
  12622.     PASN_Boolean m_adaptiveClockRecovery;
  12623.     PASN_Boolean m_nullErrorCorrection;
  12624.     PASN_Boolean m_longInterleaver;
  12625.     PASN_Boolean m_shortInterleaver;
  12626.     PASN_Boolean m_errorCorrectionOnly;
  12627.     PASN_Boolean m_structuredDataTransfer;
  12628.     PASN_Boolean m_partiallyFilledCells;
  12629.  
  12630.     PINDEX GetDataLength() const;
  12631.     BOOL Decode(PASN_Stream & strm);
  12632.     void Encode(PASN_Stream & strm) const;
  12633. #ifndef PASN_NOPRINTON
  12634.     void PrintOn(ostream & strm) const;
  12635. #endif
  12636.     Comparison Compare(const PObject & obj) const;
  12637.     PObject * Clone() const;
  12638. };
  12639.  
  12640.  
  12641. //
  12642. // RefPictureSelection_enhancedReferencePicSelect
  12643. //
  12644.  
  12645. class H245_RefPictureSelection_enhancedReferencePicSelect : public PASN_Sequence
  12646. {
  12647. #ifndef PASN_LEANANDMEAN
  12648.     PCLASSINFO(H245_RefPictureSelection_enhancedReferencePicSelect, PASN_Sequence);
  12649. #endif
  12650.   public:
  12651.     H245_RefPictureSelection_enhancedReferencePicSelect(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12652.  
  12653.     enum OptionalFields {
  12654.       e_subPictureRemovalParameters
  12655.     };
  12656.  
  12657.     H245_RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters m_subPictureRemovalParameters;
  12658.  
  12659.     PINDEX GetDataLength() const;
  12660.     BOOL Decode(PASN_Stream & strm);
  12661.     void Encode(PASN_Stream & strm) const;
  12662. #ifndef PASN_NOPRINTON
  12663.     void PrintOn(ostream & strm) const;
  12664. #endif
  12665.     Comparison Compare(const PObject & obj) const;
  12666.     PObject * Clone() const;
  12667. };
  12668.  
  12669.  
  12670. //
  12671. // CustomPictureFormat_mPI
  12672. //
  12673.  
  12674. class H245_CustomPictureFormat_mPI : public PASN_Sequence
  12675. {
  12676. #ifndef PASN_LEANANDMEAN
  12677.     PCLASSINFO(H245_CustomPictureFormat_mPI, PASN_Sequence);
  12678. #endif
  12679.   public:
  12680.     H245_CustomPictureFormat_mPI(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12681.  
  12682.     enum OptionalFields {
  12683.       e_standardMPI,
  12684.       e_customPCF
  12685.     };
  12686.  
  12687.     PASN_Integer m_standardMPI;
  12688.     H245_CustomPictureFormat_mPI_customPCF m_customPCF;
  12689.  
  12690.     PINDEX GetDataLength() const;
  12691.     BOOL Decode(PASN_Stream & strm);
  12692.     void Encode(PASN_Stream & strm) const;
  12693. #ifndef PASN_NOPRINTON
  12694.     void PrintOn(ostream & strm) const;
  12695. #endif
  12696.     Comparison Compare(const PObject & obj) const;
  12697.     PObject * Clone() const;
  12698. };
  12699.  
  12700.  
  12701. //
  12702. // OpenLogicalChannel_forwardLogicalChannelParameters
  12703. //
  12704.  
  12705. class H245_OpenLogicalChannel_forwardLogicalChannelParameters : public PASN_Sequence
  12706. {
  12707. #ifndef PASN_LEANANDMEAN
  12708.     PCLASSINFO(H245_OpenLogicalChannel_forwardLogicalChannelParameters, PASN_Sequence);
  12709. #endif
  12710.   public:
  12711.     H245_OpenLogicalChannel_forwardLogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12712.  
  12713.     enum OptionalFields {
  12714.       e_portNumber,
  12715.       e_forwardLogicalChannelDependency,
  12716.       e_replacementFor
  12717.     };
  12718.  
  12719.     PASN_Integer m_portNumber;
  12720.     H245_DataType m_dataType;
  12721.     H245_OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters m_multiplexParameters;
  12722.     H245_LogicalChannelNumber m_forwardLogicalChannelDependency;
  12723.     H245_LogicalChannelNumber m_replacementFor;
  12724.  
  12725.     PINDEX GetDataLength() const;
  12726.     BOOL Decode(PASN_Stream & strm);
  12727.     void Encode(PASN_Stream & strm) const;
  12728. #ifndef PASN_NOPRINTON
  12729.     void PrintOn(ostream & strm) const;
  12730. #endif
  12731.     Comparison Compare(const PObject & obj) const;
  12732.     PObject * Clone() const;
  12733. };
  12734.  
  12735.  
  12736. //
  12737. // OpenLogicalChannel_reverseLogicalChannelParameters
  12738. //
  12739.  
  12740. class H245_OpenLogicalChannel_reverseLogicalChannelParameters : public PASN_Sequence
  12741. {
  12742. #ifndef PASN_LEANANDMEAN
  12743.     PCLASSINFO(H245_OpenLogicalChannel_reverseLogicalChannelParameters, PASN_Sequence);
  12744. #endif
  12745.   public:
  12746.     H245_OpenLogicalChannel_reverseLogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12747.  
  12748.     enum OptionalFields {
  12749.       e_multiplexParameters,
  12750.       e_reverseLogicalChannelDependency,
  12751.       e_replacementFor
  12752.     };
  12753.  
  12754.     H245_DataType m_dataType;
  12755.     H245_OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters m_multiplexParameters;
  12756.     H245_LogicalChannelNumber m_reverseLogicalChannelDependency;
  12757.     H245_LogicalChannelNumber m_replacementFor;
  12758.  
  12759.     PINDEX GetDataLength() const;
  12760.     BOOL Decode(PASN_Stream & strm);
  12761.     void Encode(PASN_Stream & strm) const;
  12762. #ifndef PASN_NOPRINTON
  12763.     void PrintOn(ostream & strm) const;
  12764. #endif
  12765.     Comparison Compare(const PObject & obj) const;
  12766.     PObject * Clone() const;
  12767. };
  12768.  
  12769.  
  12770. //
  12771. // UnicastAddress_iPSourceRouteAddress
  12772. //
  12773.  
  12774. class H245_UnicastAddress_iPSourceRouteAddress : public PASN_Sequence
  12775. {
  12776. #ifndef PASN_LEANANDMEAN
  12777.     PCLASSINFO(H245_UnicastAddress_iPSourceRouteAddress, PASN_Sequence);
  12778. #endif
  12779.   public:
  12780.     H245_UnicastAddress_iPSourceRouteAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12781.  
  12782.     H245_UnicastAddress_iPSourceRouteAddress_routing m_routing;
  12783.     PASN_OctetString m_network;
  12784.     PASN_Integer m_tsapIdentifier;
  12785.     H245_UnicastAddress_iPSourceRouteAddress_route m_route;
  12786.  
  12787.     PINDEX GetDataLength() const;
  12788.     BOOL Decode(PASN_Stream & strm);
  12789.     void Encode(PASN_Stream & strm) const;
  12790. #ifndef PASN_NOPRINTON
  12791.     void PrintOn(ostream & strm) const;
  12792. #endif
  12793.     Comparison Compare(const PObject & obj) const;
  12794.     PObject * Clone() const;
  12795. };
  12796.  
  12797.  
  12798. //
  12799. // OpenLogicalChannelAck_reverseLogicalChannelParameters
  12800. //
  12801.  
  12802. class H245_OpenLogicalChannelAck_reverseLogicalChannelParameters : public PASN_Sequence
  12803. {
  12804. #ifndef PASN_LEANANDMEAN
  12805.     PCLASSINFO(H245_OpenLogicalChannelAck_reverseLogicalChannelParameters, PASN_Sequence);
  12806. #endif
  12807.   public:
  12808.     H245_OpenLogicalChannelAck_reverseLogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12809.  
  12810.     enum OptionalFields {
  12811.       e_portNumber,
  12812.       e_multiplexParameters,
  12813.       e_replacementFor
  12814.     };
  12815.  
  12816.     H245_LogicalChannelNumber m_reverseLogicalChannelNumber;
  12817.     PASN_Integer m_portNumber;
  12818.     H245_OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters m_multiplexParameters;
  12819.     H245_LogicalChannelNumber m_replacementFor;
  12820.  
  12821.     PINDEX GetDataLength() const;
  12822.     BOOL Decode(PASN_Stream & strm);
  12823.     void Encode(PASN_Stream & strm) const;
  12824. #ifndef PASN_NOPRINTON
  12825.     void PrintOn(ostream & strm) const;
  12826. #endif
  12827.     Comparison Compare(const PObject & obj) const;
  12828.     PObject * Clone() const;
  12829. };
  12830.  
  12831.  
  12832. //
  12833. // ConferenceRequest_requestTerminalCertificate
  12834. //
  12835.  
  12836. class H245_ConferenceRequest_requestTerminalCertificate : public PASN_Sequence
  12837. {
  12838. #ifndef PASN_LEANANDMEAN
  12839.     PCLASSINFO(H245_ConferenceRequest_requestTerminalCertificate, PASN_Sequence);
  12840. #endif
  12841.   public:
  12842.     H245_ConferenceRequest_requestTerminalCertificate(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12843.  
  12844.     enum OptionalFields {
  12845.       e_terminalLabel,
  12846.       e_certSelectionCriteria,
  12847.       e_sRandom
  12848.     };
  12849.  
  12850.     H245_TerminalLabel m_terminalLabel;
  12851.     H245_CertSelectionCriteria m_certSelectionCriteria;
  12852.     PASN_Integer m_sRandom;
  12853.  
  12854.     PINDEX GetDataLength() const;
  12855.     BOOL Decode(PASN_Stream & strm);
  12856.     void Encode(PASN_Stream & strm) const;
  12857. #ifndef PASN_NOPRINTON
  12858.     void PrintOn(ostream & strm) const;
  12859. #endif
  12860.     Comparison Compare(const PObject & obj) const;
  12861.     PObject * Clone() const;
  12862. };
  12863.  
  12864.  
  12865. //
  12866. // ConferenceResponse_mCTerminalIDResponse
  12867. //
  12868.  
  12869. class H245_ConferenceResponse_mCTerminalIDResponse : public PASN_Sequence
  12870. {
  12871. #ifndef PASN_LEANANDMEAN
  12872.     PCLASSINFO(H245_ConferenceResponse_mCTerminalIDResponse, PASN_Sequence);
  12873. #endif
  12874.   public:
  12875.     H245_ConferenceResponse_mCTerminalIDResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12876.  
  12877.     H245_TerminalLabel m_terminalLabel;
  12878.     H245_TerminalID m_terminalID;
  12879.  
  12880.     PINDEX GetDataLength() const;
  12881.     BOOL Decode(PASN_Stream & strm);
  12882.     void Encode(PASN_Stream & strm) const;
  12883. #ifndef PASN_NOPRINTON
  12884.     void PrintOn(ostream & strm) const;
  12885. #endif
  12886.     Comparison Compare(const PObject & obj) const;
  12887.     PObject * Clone() const;
  12888. };
  12889.  
  12890.  
  12891. //
  12892. // ConferenceResponse_terminalIDResponse
  12893. //
  12894.  
  12895. class H245_ConferenceResponse_terminalIDResponse : public PASN_Sequence
  12896. {
  12897. #ifndef PASN_LEANANDMEAN
  12898.     PCLASSINFO(H245_ConferenceResponse_terminalIDResponse, PASN_Sequence);
  12899. #endif
  12900.   public:
  12901.     H245_ConferenceResponse_terminalIDResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12902.  
  12903.     H245_TerminalLabel m_terminalLabel;
  12904.     H245_TerminalID m_terminalID;
  12905.  
  12906.     PINDEX GetDataLength() const;
  12907.     BOOL Decode(PASN_Stream & strm);
  12908.     void Encode(PASN_Stream & strm) const;
  12909. #ifndef PASN_NOPRINTON
  12910.     void PrintOn(ostream & strm) const;
  12911. #endif
  12912.     Comparison Compare(const PObject & obj) const;
  12913.     PObject * Clone() const;
  12914. };
  12915.  
  12916.  
  12917. //
  12918. // ConferenceResponse_conferenceIDResponse
  12919. //
  12920.  
  12921. class H245_ConferenceResponse_conferenceIDResponse : public PASN_Sequence
  12922. {
  12923. #ifndef PASN_LEANANDMEAN
  12924.     PCLASSINFO(H245_ConferenceResponse_conferenceIDResponse, PASN_Sequence);
  12925. #endif
  12926.   public:
  12927.     H245_ConferenceResponse_conferenceIDResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12928.  
  12929.     H245_TerminalLabel m_terminalLabel;
  12930.     H245_ConferenceID m_conferenceID;
  12931.  
  12932.     PINDEX GetDataLength() const;
  12933.     BOOL Decode(PASN_Stream & strm);
  12934.     void Encode(PASN_Stream & strm) const;
  12935. #ifndef PASN_NOPRINTON
  12936.     void PrintOn(ostream & strm) const;
  12937. #endif
  12938.     Comparison Compare(const PObject & obj) const;
  12939.     PObject * Clone() const;
  12940. };
  12941.  
  12942.  
  12943. //
  12944. // ConferenceResponse_passwordResponse
  12945. //
  12946.  
  12947. class H245_ConferenceResponse_passwordResponse : public PASN_Sequence
  12948. {
  12949. #ifndef PASN_LEANANDMEAN
  12950.     PCLASSINFO(H245_ConferenceResponse_passwordResponse, PASN_Sequence);
  12951. #endif
  12952.   public:
  12953.     H245_ConferenceResponse_passwordResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12954.  
  12955.     H245_TerminalLabel m_terminalLabel;
  12956.     H245_Password m_password;
  12957.  
  12958.     PINDEX GetDataLength() const;
  12959.     BOOL Decode(PASN_Stream & strm);
  12960.     void Encode(PASN_Stream & strm) const;
  12961. #ifndef PASN_NOPRINTON
  12962.     void PrintOn(ostream & strm) const;
  12963. #endif
  12964.     Comparison Compare(const PObject & obj) const;
  12965.     PObject * Clone() const;
  12966. };
  12967.  
  12968.  
  12969. //
  12970. // ConferenceResponse_chairTokenOwnerResponse
  12971. //
  12972.  
  12973. class H245_ConferenceResponse_chairTokenOwnerResponse : public PASN_Sequence
  12974. {
  12975. #ifndef PASN_LEANANDMEAN
  12976.     PCLASSINFO(H245_ConferenceResponse_chairTokenOwnerResponse, PASN_Sequence);
  12977. #endif
  12978.   public:
  12979.     H245_ConferenceResponse_chairTokenOwnerResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  12980.  
  12981.     H245_TerminalLabel m_terminalLabel;
  12982.     H245_TerminalID m_terminalID;
  12983.  
  12984.     PINDEX GetDataLength() const;
  12985.     BOOL Decode(PASN_Stream & strm);
  12986.     void Encode(PASN_Stream & strm) const;
  12987. #ifndef PASN_NOPRINTON
  12988.     void PrintOn(ostream & strm) const;
  12989. #endif
  12990.     Comparison Compare(const PObject & obj) const;
  12991.     PObject * Clone() const;
  12992. };
  12993.  
  12994.  
  12995. //
  12996. // ConferenceResponse_terminalCertificateResponse
  12997. //
  12998.  
  12999. class H245_ConferenceResponse_terminalCertificateResponse : public PASN_Sequence
  13000. {
  13001. #ifndef PASN_LEANANDMEAN
  13002.     PCLASSINFO(H245_ConferenceResponse_terminalCertificateResponse, PASN_Sequence);
  13003. #endif
  13004.   public:
  13005.     H245_ConferenceResponse_terminalCertificateResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13006.  
  13007.     enum OptionalFields {
  13008.       e_terminalLabel,
  13009.       e_certificateResponse
  13010.     };
  13011.  
  13012.     H245_TerminalLabel m_terminalLabel;
  13013.     PASN_OctetString m_certificateResponse;
  13014.  
  13015.     PINDEX GetDataLength() const;
  13016.     BOOL Decode(PASN_Stream & strm);
  13017.     void Encode(PASN_Stream & strm) const;
  13018. #ifndef PASN_NOPRINTON
  13019.     void PrintOn(ostream & strm) const;
  13020. #endif
  13021.     Comparison Compare(const PObject & obj) const;
  13022.     PObject * Clone() const;
  13023. };
  13024.  
  13025.  
  13026. //
  13027. // MultilinkRequest_maximumHeaderInterval
  13028. //
  13029.  
  13030. class H245_MultilinkRequest_maximumHeaderInterval : public PASN_Sequence
  13031. {
  13032. #ifndef PASN_LEANANDMEAN
  13033.     PCLASSINFO(H245_MultilinkRequest_maximumHeaderInterval, PASN_Sequence);
  13034. #endif
  13035.   public:
  13036.     H245_MultilinkRequest_maximumHeaderInterval(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13037.  
  13038.     H245_MultilinkRequest_maximumHeaderInterval_requestType m_requestType;
  13039.  
  13040.     PINDEX GetDataLength() const;
  13041.     BOOL Decode(PASN_Stream & strm);
  13042.     void Encode(PASN_Stream & strm) const;
  13043. #ifndef PASN_NOPRINTON
  13044.     void PrintOn(ostream & strm) const;
  13045. #endif
  13046.     Comparison Compare(const PObject & obj) const;
  13047.     PObject * Clone() const;
  13048. };
  13049.  
  13050.  
  13051. //
  13052. // MultilinkResponse_addConnection
  13053. //
  13054.  
  13055. class H245_MultilinkResponse_addConnection : public PASN_Sequence
  13056. {
  13057. #ifndef PASN_LEANANDMEAN
  13058.     PCLASSINFO(H245_MultilinkResponse_addConnection, PASN_Sequence);
  13059. #endif
  13060.   public:
  13061.     H245_MultilinkResponse_addConnection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13062.  
  13063.     H245_SequenceNumber m_sequenceNumber;
  13064.     H245_MultilinkResponse_addConnection_responseCode m_responseCode;
  13065.  
  13066.     PINDEX GetDataLength() const;
  13067.     BOOL Decode(PASN_Stream & strm);
  13068.     void Encode(PASN_Stream & strm) const;
  13069. #ifndef PASN_NOPRINTON
  13070.     void PrintOn(ostream & strm) const;
  13071. #endif
  13072.     Comparison Compare(const PObject & obj) const;
  13073.     PObject * Clone() const;
  13074. };
  13075.  
  13076.  
  13077. //
  13078. // SendTerminalCapabilitySet_specificRequest
  13079. //
  13080.  
  13081. class H245_SendTerminalCapabilitySet_specificRequest : public PASN_Sequence
  13082. {
  13083. #ifndef PASN_LEANANDMEAN
  13084.     PCLASSINFO(H245_SendTerminalCapabilitySet_specificRequest, PASN_Sequence);
  13085. #endif
  13086.   public:
  13087.     H245_SendTerminalCapabilitySet_specificRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13088.  
  13089.     enum OptionalFields {
  13090.       e_capabilityTableEntryNumbers,
  13091.       e_capabilityDescriptorNumbers
  13092.     };
  13093.  
  13094.     PASN_Boolean m_multiplexCapability;
  13095.     H245_ArrayOf_CapabilityTableEntryNumber m_capabilityTableEntryNumbers;
  13096.     H245_ArrayOf_CapabilityDescriptorNumber m_capabilityDescriptorNumbers;
  13097.  
  13098.     PINDEX GetDataLength() const;
  13099.     BOOL Decode(PASN_Stream & strm);
  13100.     void Encode(PASN_Stream & strm) const;
  13101. #ifndef PASN_NOPRINTON
  13102.     void PrintOn(ostream & strm) const;
  13103. #endif
  13104.     Comparison Compare(const PObject & obj) const;
  13105.     PObject * Clone() const;
  13106. };
  13107.  
  13108.  
  13109. //
  13110. // EncryptionCommand_encryptionAlgorithmID
  13111. //
  13112.  
  13113. class H245_EncryptionCommand_encryptionAlgorithmID : public PASN_Sequence
  13114. {
  13115. #ifndef PASN_LEANANDMEAN
  13116.     PCLASSINFO(H245_EncryptionCommand_encryptionAlgorithmID, PASN_Sequence);
  13117. #endif
  13118.   public:
  13119.     H245_EncryptionCommand_encryptionAlgorithmID(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13120.  
  13121.     H245_SequenceNumber m_h233AlgorithmIdentifier;
  13122.     H245_NonStandardParameter m_associatedAlgorithm;
  13123.  
  13124.     PINDEX GetDataLength() const;
  13125.     BOOL Decode(PASN_Stream & strm);
  13126.     void Encode(PASN_Stream & strm) const;
  13127. #ifndef PASN_NOPRINTON
  13128.     void PrintOn(ostream & strm) const;
  13129. #endif
  13130.     Comparison Compare(const PObject & obj) const;
  13131.     PObject * Clone() const;
  13132. };
  13133.  
  13134.  
  13135. //
  13136. // NewATMVCCommand_reverseParameters
  13137. //
  13138.  
  13139. class H245_NewATMVCCommand_reverseParameters : public PASN_Sequence
  13140. {
  13141. #ifndef PASN_LEANANDMEAN
  13142.     PCLASSINFO(H245_NewATMVCCommand_reverseParameters, PASN_Sequence);
  13143. #endif
  13144.   public:
  13145.     H245_NewATMVCCommand_reverseParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13146.  
  13147.     PASN_Integer m_bitRate;
  13148.     PASN_Boolean m_bitRateLockedToPCRClock;
  13149.     PASN_Boolean m_bitRateLockedToNetworkClock;
  13150.     H245_NewATMVCCommand_reverseParameters_multiplex m_multiplex;
  13151.  
  13152.     PINDEX GetDataLength() const;
  13153.     BOOL Decode(PASN_Stream & strm);
  13154.     void Encode(PASN_Stream & strm) const;
  13155. #ifndef PASN_NOPRINTON
  13156.     void PrintOn(ostream & strm) const;
  13157. #endif
  13158.     Comparison Compare(const PObject & obj) const;
  13159.     PObject * Clone() const;
  13160. };
  13161.  
  13162.  
  13163. //
  13164. // NewATMVCIndication_reverseParameters
  13165. //
  13166.  
  13167. class H245_NewATMVCIndication_reverseParameters : public PASN_Sequence
  13168. {
  13169. #ifndef PASN_LEANANDMEAN
  13170.     PCLASSINFO(H245_NewATMVCIndication_reverseParameters, PASN_Sequence);
  13171. #endif
  13172.   public:
  13173.     H245_NewATMVCIndication_reverseParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13174.  
  13175.     PASN_Integer m_bitRate;
  13176.     PASN_Boolean m_bitRateLockedToPCRClock;
  13177.     PASN_Boolean m_bitRateLockedToNetworkClock;
  13178.     H245_NewATMVCIndication_reverseParameters_multiplex m_multiplex;
  13179.  
  13180.     PINDEX GetDataLength() const;
  13181.     BOOL Decode(PASN_Stream & strm);
  13182.     void Encode(PASN_Stream & strm) const;
  13183. #ifndef PASN_NOPRINTON
  13184.     void PrintOn(ostream & strm) const;
  13185. #endif
  13186.     Comparison Compare(const PObject & obj) const;
  13187.     PObject * Clone() const;
  13188. };
  13189.  
  13190.  
  13191. //
  13192. // UserInputIndication_signal
  13193. //
  13194.  
  13195. class H245_UserInputIndication_signal : public PASN_Sequence
  13196. {
  13197. #ifndef PASN_LEANANDMEAN
  13198.     PCLASSINFO(H245_UserInputIndication_signal, PASN_Sequence);
  13199. #endif
  13200.   public:
  13201.     H245_UserInputIndication_signal(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13202.  
  13203.     enum OptionalFields {
  13204.       e_duration,
  13205.       e_rtp,
  13206.       e_rtpPayloadIndication
  13207.     };
  13208.  
  13209.     PASN_IA5String m_signalType;
  13210.     PASN_Integer m_duration;
  13211.     H245_UserInputIndication_signal_rtp m_rtp;
  13212.     PASN_Null m_rtpPayloadIndication;
  13213.  
  13214.     PINDEX GetDataLength() const;
  13215.     BOOL Decode(PASN_Stream & strm);
  13216.     void Encode(PASN_Stream & strm) const;
  13217. #ifndef PASN_NOPRINTON
  13218.     void PrintOn(ostream & strm) const;
  13219. #endif
  13220.     Comparison Compare(const PObject & obj) const;
  13221.     PObject * Clone() const;
  13222. };
  13223.  
  13224.  
  13225. //
  13226. // UserInputIndication_signalUpdate
  13227. //
  13228.  
  13229. class H245_UserInputIndication_signalUpdate : public PASN_Sequence
  13230. {
  13231. #ifndef PASN_LEANANDMEAN
  13232.     PCLASSINFO(H245_UserInputIndication_signalUpdate, PASN_Sequence);
  13233. #endif
  13234.   public:
  13235.     H245_UserInputIndication_signalUpdate(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13236.  
  13237.     enum OptionalFields {
  13238.       e_rtp
  13239.     };
  13240.  
  13241.     PASN_Integer m_duration;
  13242.     H245_UserInputIndication_signalUpdate_rtp m_rtp;
  13243.  
  13244.     PINDEX GetDataLength() const;
  13245.     BOOL Decode(PASN_Stream & strm);
  13246.     void Encode(PASN_Stream & strm) const;
  13247. #ifndef PASN_NOPRINTON
  13248.     void PrintOn(ostream & strm) const;
  13249. #endif
  13250.     Comparison Compare(const PObject & obj) const;
  13251.     PObject * Clone() const;
  13252. };
  13253.  
  13254.  
  13255. //
  13256. // V76LogicalChannelParameters_mode_eRM
  13257. //
  13258.  
  13259. class H245_V76LogicalChannelParameters_mode_eRM : public PASN_Sequence
  13260. {
  13261. #ifndef PASN_LEANANDMEAN
  13262.     PCLASSINFO(H245_V76LogicalChannelParameters_mode_eRM, PASN_Sequence);
  13263. #endif
  13264.   public:
  13265.     H245_V76LogicalChannelParameters_mode_eRM(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13266.  
  13267.     PASN_Integer m_windowSize;
  13268.     H245_V76LogicalChannelParameters_mode_eRM_recovery m_recovery;
  13269.  
  13270.     PINDEX GetDataLength() const;
  13271.     BOOL Decode(PASN_Stream & strm);
  13272.     void Encode(PASN_Stream & strm) const;
  13273. #ifndef PASN_NOPRINTON
  13274.     void PrintOn(ostream & strm) const;
  13275. #endif
  13276.     Comparison Compare(const PObject & obj) const;
  13277.     PObject * Clone() const;
  13278. };
  13279.  
  13280.  
  13281. //
  13282. // MiscellaneousCommand_type_progressiveRefinementStart
  13283. //
  13284.  
  13285. class H245_MiscellaneousCommand_type_progressiveRefinementStart : public PASN_Sequence
  13286. {
  13287. #ifndef PASN_LEANANDMEAN
  13288.     PCLASSINFO(H245_MiscellaneousCommand_type_progressiveRefinementStart, PASN_Sequence);
  13289. #endif
  13290.   public:
  13291.     H245_MiscellaneousCommand_type_progressiveRefinementStart(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13292.  
  13293.     H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount m_repeatCount;
  13294.  
  13295.     PINDEX GetDataLength() const;
  13296.     BOOL Decode(PASN_Stream & strm);
  13297.     void Encode(PASN_Stream & strm) const;
  13298. #ifndef PASN_NOPRINTON
  13299.     void PrintOn(ostream & strm) const;
  13300. #endif
  13301.     Comparison Compare(const PObject & obj) const;
  13302.     PObject * Clone() const;
  13303. };
  13304.  
  13305.  
  13306. //
  13307. // NewATMVCCommand_aal_aal1
  13308. //
  13309.  
  13310. class H245_NewATMVCCommand_aal_aal1 : public PASN_Sequence
  13311. {
  13312. #ifndef PASN_LEANANDMEAN
  13313.     PCLASSINFO(H245_NewATMVCCommand_aal_aal1, PASN_Sequence);
  13314. #endif
  13315.   public:
  13316.     H245_NewATMVCCommand_aal_aal1(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13317.  
  13318.     H245_NewATMVCCommand_aal_aal1_clockRecovery m_clockRecovery;
  13319.     H245_NewATMVCCommand_aal_aal1_errorCorrection m_errorCorrection;
  13320.     PASN_Boolean m_structuredDataTransfer;
  13321.     PASN_Boolean m_partiallyFilledCells;
  13322.  
  13323.     PINDEX GetDataLength() const;
  13324.     BOOL Decode(PASN_Stream & strm);
  13325.     void Encode(PASN_Stream & strm) const;
  13326. #ifndef PASN_NOPRINTON
  13327.     void PrintOn(ostream & strm) const;
  13328. #endif
  13329.     Comparison Compare(const PObject & obj) const;
  13330.     PObject * Clone() const;
  13331. };
  13332.  
  13333.  
  13334. //
  13335. // NewATMVCIndication_aal_aal1
  13336. //
  13337.  
  13338. class H245_NewATMVCIndication_aal_aal1 : public PASN_Sequence
  13339. {
  13340. #ifndef PASN_LEANANDMEAN
  13341.     PCLASSINFO(H245_NewATMVCIndication_aal_aal1, PASN_Sequence);
  13342. #endif
  13343.   public:
  13344.     H245_NewATMVCIndication_aal_aal1(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13345.  
  13346.     H245_NewATMVCIndication_aal_aal1_clockRecovery m_clockRecovery;
  13347.     H245_NewATMVCIndication_aal_aal1_errorCorrection m_errorCorrection;
  13348.     PASN_Boolean m_structuredDataTransfer;
  13349.     PASN_Boolean m_partiallyFilledCells;
  13350.  
  13351.     PINDEX GetDataLength() const;
  13352.     BOOL Decode(PASN_Stream & strm);
  13353.     void Encode(PASN_Stream & strm) const;
  13354. #ifndef PASN_NOPRINTON
  13355.     void PrintOn(ostream & strm) const;
  13356. #endif
  13357.     Comparison Compare(const PObject & obj) const;
  13358.     PObject * Clone() const;
  13359. };
  13360.  
  13361.  
  13362. //
  13363. // NonStandardMessage
  13364. //
  13365.  
  13366. class H245_NonStandardMessage : public PASN_Sequence
  13367. {
  13368. #ifndef PASN_LEANANDMEAN
  13369.     PCLASSINFO(H245_NonStandardMessage, PASN_Sequence);
  13370. #endif
  13371.   public:
  13372.     H245_NonStandardMessage(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13373.  
  13374.     H245_NonStandardParameter m_nonStandardData;
  13375.  
  13376.     PINDEX GetDataLength() const;
  13377.     BOOL Decode(PASN_Stream & strm);
  13378.     void Encode(PASN_Stream & strm) const;
  13379. #ifndef PASN_NOPRINTON
  13380.     void PrintOn(ostream & strm) const;
  13381. #endif
  13382.     Comparison Compare(const PObject & obj) const;
  13383.     PObject * Clone() const;
  13384. };
  13385.  
  13386.  
  13387. //
  13388. // VCCapability
  13389. //
  13390.  
  13391. class H245_VCCapability : public PASN_Sequence
  13392. {
  13393. #ifndef PASN_LEANANDMEAN
  13394.     PCLASSINFO(H245_VCCapability, PASN_Sequence);
  13395. #endif
  13396.   public:
  13397.     H245_VCCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13398.  
  13399.     enum OptionalFields {
  13400.       e_aal1,
  13401.       e_aal5,
  13402.       e_aal1ViaGateway
  13403.     };
  13404.  
  13405.     H245_VCCapability_aal1 m_aal1;
  13406.     H245_VCCapability_aal5 m_aal5;
  13407.     PASN_Boolean m_transportStream;
  13408.     PASN_Boolean m_programStream;
  13409.     H245_VCCapability_availableBitRates m_availableBitRates;
  13410.     H245_VCCapability_aal1ViaGateway m_aal1ViaGateway;
  13411.  
  13412.     PINDEX GetDataLength() const;
  13413.     BOOL Decode(PASN_Stream & strm);
  13414.     void Encode(PASN_Stream & strm) const;
  13415. #ifndef PASN_NOPRINTON
  13416.     void PrintOn(ostream & strm) const;
  13417. #endif
  13418.     Comparison Compare(const PObject & obj) const;
  13419.     PObject * Clone() const;
  13420. };
  13421.  
  13422.  
  13423. //
  13424. // H2250Capability
  13425. //
  13426.  
  13427. class H245_H2250Capability : public PASN_Sequence
  13428. {
  13429. #ifndef PASN_LEANANDMEAN
  13430.     PCLASSINFO(H245_H2250Capability, PASN_Sequence);
  13431. #endif
  13432.   public:
  13433.     H245_H2250Capability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13434.  
  13435.     enum OptionalFields {
  13436.       e_transportCapability,
  13437.       e_redundancyEncodingCapability,
  13438.       e_logicalChannelSwitchingCapability,
  13439.       e_t120DynamicPortCapability
  13440.     };
  13441.  
  13442.     PASN_Integer m_maximumAudioDelayJitter;
  13443.     H245_MultipointCapability m_receiveMultipointCapability;
  13444.     H245_MultipointCapability m_transmitMultipointCapability;
  13445.     H245_MultipointCapability m_receiveAndTransmitMultipointCapability;
  13446.     H245_H2250Capability_mcCapability m_mcCapability;
  13447.     PASN_Boolean m_rtcpVideoControlCapability;
  13448.     H245_MediaPacketizationCapability m_mediaPacketizationCapability;
  13449.     H245_TransportCapability m_transportCapability;
  13450.     H245_ArrayOf_RedundancyEncodingCapability m_redundancyEncodingCapability;
  13451.     PASN_Boolean m_logicalChannelSwitchingCapability;
  13452.     PASN_Boolean m_t120DynamicPortCapability;
  13453.  
  13454.     PINDEX GetDataLength() const;
  13455.     BOOL Decode(PASN_Stream & strm);
  13456.     void Encode(PASN_Stream & strm) const;
  13457. #ifndef PASN_NOPRINTON
  13458.     void PrintOn(ostream & strm) const;
  13459. #endif
  13460.     Comparison Compare(const PObject & obj) const;
  13461.     PObject * Clone() const;
  13462. };
  13463.  
  13464.  
  13465. //
  13466. // RefPictureSelection
  13467. //
  13468.  
  13469. class H245_RefPictureSelection : public PASN_Sequence
  13470. {
  13471. #ifndef PASN_LEANANDMEAN
  13472.     PCLASSINFO(H245_RefPictureSelection, PASN_Sequence);
  13473. #endif
  13474.   public:
  13475.     H245_RefPictureSelection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13476.  
  13477.     enum OptionalFields {
  13478.       e_additionalPictureMemory,
  13479.       e_enhancedReferencePicSelect
  13480.     };
  13481.  
  13482.     H245_RefPictureSelection_additionalPictureMemory m_additionalPictureMemory;
  13483.     PASN_Boolean m_videoMux;
  13484.     H245_RefPictureSelection_videoBackChannelSend m_videoBackChannelSend;
  13485.     H245_RefPictureSelection_enhancedReferencePicSelect m_enhancedReferencePicSelect;
  13486.  
  13487.     PINDEX GetDataLength() const;
  13488.     BOOL Decode(PASN_Stream & strm);
  13489.     void Encode(PASN_Stream & strm) const;
  13490. #ifndef PASN_NOPRINTON
  13491.     void PrintOn(ostream & strm) const;
  13492. #endif
  13493.     Comparison Compare(const PObject & obj) const;
  13494.     PObject * Clone() const;
  13495. };
  13496.  
  13497.  
  13498. //
  13499. // CustomPictureFormat
  13500. //
  13501.  
  13502. class H245_CustomPictureFormat : public PASN_Sequence
  13503. {
  13504. #ifndef PASN_LEANANDMEAN
  13505.     PCLASSINFO(H245_CustomPictureFormat, PASN_Sequence);
  13506. #endif
  13507.   public:
  13508.     H245_CustomPictureFormat(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13509.  
  13510.     PASN_Integer m_maxCustomPictureWidth;
  13511.     PASN_Integer m_maxCustomPictureHeight;
  13512.     PASN_Integer m_minCustomPictureWidth;
  13513.     PASN_Integer m_minCustomPictureHeight;
  13514.     H245_CustomPictureFormat_mPI m_mPI;
  13515.     H245_CustomPictureFormat_pixelAspectInformation m_pixelAspectInformation;
  13516.  
  13517.     PINDEX GetDataLength() const;
  13518.     BOOL Decode(PASN_Stream & strm);
  13519.     void Encode(PASN_Stream & strm) const;
  13520. #ifndef PASN_NOPRINTON
  13521.     void PrintOn(ostream & strm) const;
  13522. #endif
  13523.     Comparison Compare(const PObject & obj) const;
  13524.     PObject * Clone() const;
  13525. };
  13526.  
  13527.  
  13528. //
  13529. // H263VideoModeCombos
  13530. //
  13531.  
  13532. class H245_H263VideoModeCombos : public PASN_Sequence
  13533. {
  13534. #ifndef PASN_LEANANDMEAN
  13535.     PCLASSINFO(H245_H263VideoModeCombos, PASN_Sequence);
  13536. #endif
  13537.   public:
  13538.     H245_H263VideoModeCombos(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13539.  
  13540.     H245_H263ModeComboFlags m_h263VideoUncoupledModes;
  13541.     H245_ArrayOf_H263ModeComboFlags m_h263VideoCoupledModes;
  13542.  
  13543.     PINDEX GetDataLength() const;
  13544.     BOOL Decode(PASN_Stream & strm);
  13545.     void Encode(PASN_Stream & strm) const;
  13546. #ifndef PASN_NOPRINTON
  13547.     void PrintOn(ostream & strm) const;
  13548. #endif
  13549.     Comparison Compare(const PObject & obj) const;
  13550.     PObject * Clone() const;
  13551. };
  13552.  
  13553.  
  13554. //
  13555. // T38FaxProfile
  13556. //
  13557.  
  13558. class H245_T38FaxProfile : public PASN_Sequence
  13559. {
  13560. #ifndef PASN_LEANANDMEAN
  13561.     PCLASSINFO(H245_T38FaxProfile, PASN_Sequence);
  13562. #endif
  13563.   public:
  13564.     H245_T38FaxProfile(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13565.  
  13566.     enum OptionalFields {
  13567.       e_version,
  13568.       e_t38FaxRateManagement,
  13569.       e_t38FaxUdpOptions,
  13570.       e_t38FaxTcpOptions
  13571.     };
  13572.  
  13573.     PASN_Boolean m_fillBitRemoval;
  13574.     PASN_Boolean m_transcodingJBIG;
  13575.     PASN_Boolean m_transcodingMMR;
  13576.     PASN_Integer m_version;
  13577.     H245_T38FaxRateManagement m_t38FaxRateManagement;
  13578.     H245_T38FaxUdpOptions m_t38FaxUdpOptions;
  13579.     H245_T38FaxTcpOptions m_t38FaxTcpOptions;
  13580.  
  13581.     PINDEX GetDataLength() const;
  13582.     BOOL Decode(PASN_Stream & strm);
  13583.     void Encode(PASN_Stream & strm) const;
  13584. #ifndef PASN_NOPRINTON
  13585.     void PrintOn(ostream & strm) const;
  13586. #endif
  13587.     Comparison Compare(const PObject & obj) const;
  13588.     PObject * Clone() const;
  13589. };
  13590.  
  13591.  
  13592. //
  13593. // EncryptionAuthenticationAndIntegrity
  13594. //
  13595.  
  13596. class H245_EncryptionAuthenticationAndIntegrity : public PASN_Sequence
  13597. {
  13598. #ifndef PASN_LEANANDMEAN
  13599.     PCLASSINFO(H245_EncryptionAuthenticationAndIntegrity, PASN_Sequence);
  13600. #endif
  13601.   public:
  13602.     H245_EncryptionAuthenticationAndIntegrity(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13603.  
  13604.     enum OptionalFields {
  13605.       e_encryptionCapability,
  13606.       e_authenticationCapability,
  13607.       e_integrityCapability
  13608.     };
  13609.  
  13610.     H245_EncryptionCapability m_encryptionCapability;
  13611.     H245_AuthenticationCapability m_authenticationCapability;
  13612.     H245_IntegrityCapability m_integrityCapability;
  13613.  
  13614.     PINDEX GetDataLength() const;
  13615.     BOOL Decode(PASN_Stream & strm);
  13616.     void Encode(PASN_Stream & strm) const;
  13617. #ifndef PASN_NOPRINTON
  13618.     void PrintOn(ostream & strm) const;
  13619. #endif
  13620.     Comparison Compare(const PObject & obj) const;
  13621.     PObject * Clone() const;
  13622. };
  13623.  
  13624.  
  13625. //
  13626. // OpenLogicalChannel
  13627. //
  13628.  
  13629. class H245_OpenLogicalChannel : public PASN_Sequence
  13630. {
  13631. #ifndef PASN_LEANANDMEAN
  13632.     PCLASSINFO(H245_OpenLogicalChannel, PASN_Sequence);
  13633. #endif
  13634.   public:
  13635.     H245_OpenLogicalChannel(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13636.  
  13637.     enum OptionalFields {
  13638.       e_reverseLogicalChannelParameters,
  13639.       e_separateStack,
  13640.       e_encryptionSync
  13641.     };
  13642.  
  13643.     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
  13644.     H245_OpenLogicalChannel_forwardLogicalChannelParameters m_forwardLogicalChannelParameters;
  13645.     H245_OpenLogicalChannel_reverseLogicalChannelParameters m_reverseLogicalChannelParameters;
  13646.     H245_NetworkAccessParameters m_separateStack;
  13647.     H245_EncryptionSync m_encryptionSync;
  13648.  
  13649.     PINDEX GetDataLength() const;
  13650.     BOOL Decode(PASN_Stream & strm);
  13651.     void Encode(PASN_Stream & strm) const;
  13652. #ifndef PASN_NOPRINTON
  13653.     void PrintOn(ostream & strm) const;
  13654. #endif
  13655.     Comparison Compare(const PObject & obj) const;
  13656.     PObject * Clone() const;
  13657. };
  13658.  
  13659.  
  13660. //
  13661. // H235Media
  13662. //
  13663.  
  13664. class H245_H235Media : public PASN_Sequence
  13665. {
  13666. #ifndef PASN_LEANANDMEAN
  13667.     PCLASSINFO(H245_H235Media, PASN_Sequence);
  13668. #endif
  13669.   public:
  13670.     H245_H235Media(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13671.  
  13672.     H245_EncryptionAuthenticationAndIntegrity m_encryptionAuthenticationAndIntegrity;
  13673.     H245_H235Media_mediaType m_mediaType;
  13674.  
  13675.     PINDEX GetDataLength() const;
  13676.     BOOL Decode(PASN_Stream & strm);
  13677.     void Encode(PASN_Stream & strm) const;
  13678. #ifndef PASN_NOPRINTON
  13679.     void PrintOn(ostream & strm) const;
  13680. #endif
  13681.     Comparison Compare(const PObject & obj) const;
  13682.     PObject * Clone() const;
  13683. };
  13684.  
  13685.  
  13686. //
  13687. // V76LogicalChannelParameters
  13688. //
  13689.  
  13690. class H245_V76LogicalChannelParameters : public PASN_Sequence
  13691. {
  13692. #ifndef PASN_LEANANDMEAN
  13693.     PCLASSINFO(H245_V76LogicalChannelParameters, PASN_Sequence);
  13694. #endif
  13695.   public:
  13696.     H245_V76LogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13697.  
  13698.     H245_V76HDLCParameters m_hdlcParameters;
  13699.     H245_V76LogicalChannelParameters_suspendResume m_suspendResume;
  13700.     PASN_Boolean m_uIH;
  13701.     H245_V76LogicalChannelParameters_mode m_mode;
  13702.     H245_V75Parameters m_v75Parameters;
  13703.  
  13704.     PINDEX GetDataLength() const;
  13705.     BOOL Decode(PASN_Stream & strm);
  13706.     void Encode(PASN_Stream & strm) const;
  13707. #ifndef PASN_NOPRINTON
  13708.     void PrintOn(ostream & strm) const;
  13709. #endif
  13710.     Comparison Compare(const PObject & obj) const;
  13711.     PObject * Clone() const;
  13712. };
  13713.  
  13714.  
  13715. //
  13716. // H2250LogicalChannelParameters
  13717. //
  13718.  
  13719. class H245_H2250LogicalChannelParameters : public PASN_Sequence
  13720. {
  13721. #ifndef PASN_LEANANDMEAN
  13722.     PCLASSINFO(H245_H2250LogicalChannelParameters, PASN_Sequence);
  13723. #endif
  13724.   public:
  13725.     H245_H2250LogicalChannelParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13726.  
  13727.     enum OptionalFields {
  13728.       e_nonStandard,
  13729.       e_associatedSessionID,
  13730.       e_mediaChannel,
  13731.       e_mediaGuaranteedDelivery,
  13732.       e_mediaControlChannel,
  13733.       e_mediaControlGuaranteedDelivery,
  13734.       e_silenceSuppression,
  13735.       e_destination,
  13736.       e_dynamicRTPPayloadType,
  13737.       e_mediaPacketization,
  13738.       e_transportCapability,
  13739.       e_redundancyEncoding,
  13740.       e_source
  13741.     };
  13742.  
  13743.     H245_ArrayOf_NonStandardParameter m_nonStandard;
  13744.     PASN_Integer m_sessionID;
  13745.     PASN_Integer m_associatedSessionID;
  13746.     H245_TransportAddress m_mediaChannel;
  13747.     PASN_Boolean m_mediaGuaranteedDelivery;
  13748.     H245_TransportAddress m_mediaControlChannel;
  13749.     PASN_Boolean m_mediaControlGuaranteedDelivery;
  13750.     PASN_Boolean m_silenceSuppression;
  13751.     H245_TerminalLabel m_destination;
  13752.     PASN_Integer m_dynamicRTPPayloadType;
  13753.     H245_H2250LogicalChannelParameters_mediaPacketization m_mediaPacketization;
  13754.     H245_TransportCapability m_transportCapability;
  13755.     H245_RedundancyEncoding m_redundancyEncoding;
  13756.     H245_TerminalLabel m_source;
  13757.  
  13758.     PINDEX GetDataLength() const;
  13759.     BOOL Decode(PASN_Stream & strm);
  13760.     void Encode(PASN_Stream & strm) const;
  13761. #ifndef PASN_NOPRINTON
  13762.     void PrintOn(ostream & strm) const;
  13763. #endif
  13764.     Comparison Compare(const PObject & obj) const;
  13765.     PObject * Clone() const;
  13766. };
  13767.  
  13768.  
  13769. //
  13770. // OpenLogicalChannelAck
  13771. //
  13772.  
  13773. class H245_OpenLogicalChannelAck : public PASN_Sequence
  13774. {
  13775. #ifndef PASN_LEANANDMEAN
  13776.     PCLASSINFO(H245_OpenLogicalChannelAck, PASN_Sequence);
  13777. #endif
  13778.   public:
  13779.     H245_OpenLogicalChannelAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13780.  
  13781.     enum OptionalFields {
  13782.       e_reverseLogicalChannelParameters,
  13783.       e_separateStack,
  13784.       e_forwardMultiplexAckParameters,
  13785.       e_encryptionSync
  13786.     };
  13787.  
  13788.     H245_LogicalChannelNumber m_forwardLogicalChannelNumber;
  13789.     H245_OpenLogicalChannelAck_reverseLogicalChannelParameters m_reverseLogicalChannelParameters;
  13790.     H245_NetworkAccessParameters m_separateStack;
  13791.     H245_OpenLogicalChannelAck_forwardMultiplexAckParameters m_forwardMultiplexAckParameters;
  13792.     H245_EncryptionSync m_encryptionSync;
  13793.  
  13794.     PINDEX GetDataLength() const;
  13795.     BOOL Decode(PASN_Stream & strm);
  13796.     void Encode(PASN_Stream & strm) const;
  13797. #ifndef PASN_NOPRINTON
  13798.     void PrintOn(ostream & strm) const;
  13799. #endif
  13800.     Comparison Compare(const PObject & obj) const;
  13801.     PObject * Clone() const;
  13802. };
  13803.  
  13804.  
  13805. //
  13806. // H235Mode
  13807. //
  13808.  
  13809. class H245_H235Mode : public PASN_Sequence
  13810. {
  13811. #ifndef PASN_LEANANDMEAN
  13812.     PCLASSINFO(H245_H235Mode, PASN_Sequence);
  13813. #endif
  13814.   public:
  13815.     H245_H235Mode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13816.  
  13817.     H245_EncryptionAuthenticationAndIntegrity m_encryptionAuthenticationAndIntegrity;
  13818.     H245_H235Mode_mediaMode m_mediaMode;
  13819.  
  13820.     PINDEX GetDataLength() const;
  13821.     BOOL Decode(PASN_Stream & strm);
  13822.     void Encode(PASN_Stream & strm) const;
  13823. #ifndef PASN_NOPRINTON
  13824.     void PrintOn(ostream & strm) const;
  13825. #endif
  13826.     Comparison Compare(const PObject & obj) const;
  13827.     PObject * Clone() const;
  13828. };
  13829.  
  13830.  
  13831. //
  13832. // H2250ModeParameters
  13833. //
  13834.  
  13835. class H245_H2250ModeParameters : public PASN_Sequence
  13836. {
  13837. #ifndef PASN_LEANANDMEAN
  13838.     PCLASSINFO(H245_H2250ModeParameters, PASN_Sequence);
  13839. #endif
  13840.   public:
  13841.     H245_H2250ModeParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13842.  
  13843.     enum OptionalFields {
  13844.       e_redundancyEncodingMode
  13845.     };
  13846.  
  13847.     H245_RedundancyEncodingMode m_redundancyEncodingMode;
  13848.  
  13849.     PINDEX GetDataLength() const;
  13850.     BOOL Decode(PASN_Stream & strm);
  13851.     void Encode(PASN_Stream & strm) const;
  13852. #ifndef PASN_NOPRINTON
  13853.     void PrintOn(ostream & strm) const;
  13854. #endif
  13855.     Comparison Compare(const PObject & obj) const;
  13856.     PObject * Clone() const;
  13857. };
  13858.  
  13859.  
  13860. //
  13861. // CommunicationModeTableEntry
  13862. //
  13863.  
  13864. class H245_CommunicationModeTableEntry : public PASN_Sequence
  13865. {
  13866. #ifndef PASN_LEANANDMEAN
  13867.     PCLASSINFO(H245_CommunicationModeTableEntry, PASN_Sequence);
  13868. #endif
  13869.   public:
  13870.     H245_CommunicationModeTableEntry(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13871.  
  13872.     enum OptionalFields {
  13873.       e_nonStandard,
  13874.       e_associatedSessionID,
  13875.       e_terminalLabel,
  13876.       e_mediaChannel,
  13877.       e_mediaGuaranteedDelivery,
  13878.       e_mediaControlChannel,
  13879.       e_mediaControlGuaranteedDelivery,
  13880.       e_redundancyEncoding,
  13881.       e_sessionDependency,
  13882.       e_destination
  13883.     };
  13884.  
  13885.     H245_ArrayOf_NonStandardParameter m_nonStandard;
  13886.     PASN_Integer m_sessionID;
  13887.     PASN_Integer m_associatedSessionID;
  13888.     H245_TerminalLabel m_terminalLabel;
  13889.     PASN_BMPString m_sessionDescription;
  13890.     H245_CommunicationModeTableEntry_dataType m_dataType;
  13891.     H245_TransportAddress m_mediaChannel;
  13892.     PASN_Boolean m_mediaGuaranteedDelivery;
  13893.     H245_TransportAddress m_mediaControlChannel;
  13894.     PASN_Boolean m_mediaControlGuaranteedDelivery;
  13895.     H245_RedundancyEncoding m_redundancyEncoding;
  13896.     PASN_Integer m_sessionDependency;
  13897.     H245_TerminalLabel m_destination;
  13898.  
  13899.     PINDEX GetDataLength() const;
  13900.     BOOL Decode(PASN_Stream & strm);
  13901.     void Encode(PASN_Stream & strm) const;
  13902. #ifndef PASN_NOPRINTON
  13903.     void PrintOn(ostream & strm) const;
  13904. #endif
  13905.     Comparison Compare(const PObject & obj) const;
  13906.     PObject * Clone() const;
  13907. };
  13908.  
  13909.  
  13910. //
  13911. // NewATMVCCommand
  13912. //
  13913.  
  13914. class H245_NewATMVCCommand : public PASN_Sequence
  13915. {
  13916. #ifndef PASN_LEANANDMEAN
  13917.     PCLASSINFO(H245_NewATMVCCommand, PASN_Sequence);
  13918. #endif
  13919.   public:
  13920.     H245_NewATMVCCommand(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13921.  
  13922.     PASN_Integer m_resourceID;
  13923.     PASN_Integer m_bitRate;
  13924.     PASN_Boolean m_bitRateLockedToPCRClock;
  13925.     PASN_Boolean m_bitRateLockedToNetworkClock;
  13926.     H245_NewATMVCCommand_aal m_aal;
  13927.     H245_NewATMVCCommand_multiplex m_multiplex;
  13928.     H245_NewATMVCCommand_reverseParameters m_reverseParameters;
  13929.  
  13930.     PINDEX GetDataLength() const;
  13931.     BOOL Decode(PASN_Stream & strm);
  13932.     void Encode(PASN_Stream & strm) const;
  13933. #ifndef PASN_NOPRINTON
  13934.     void PrintOn(ostream & strm) const;
  13935. #endif
  13936.     Comparison Compare(const PObject & obj) const;
  13937.     PObject * Clone() const;
  13938. };
  13939.  
  13940.  
  13941. //
  13942. // NewATMVCIndication
  13943. //
  13944.  
  13945. class H245_NewATMVCIndication : public PASN_Sequence
  13946. {
  13947. #ifndef PASN_LEANANDMEAN
  13948.     PCLASSINFO(H245_NewATMVCIndication, PASN_Sequence);
  13949. #endif
  13950.   public:
  13951.     H245_NewATMVCIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13952.  
  13953.     enum OptionalFields {
  13954.       e_reverseParameters
  13955.     };
  13956.  
  13957.     PASN_Integer m_resourceID;
  13958.     PASN_Integer m_bitRate;
  13959.     PASN_Boolean m_bitRateLockedToPCRClock;
  13960.     PASN_Boolean m_bitRateLockedToNetworkClock;
  13961.     H245_NewATMVCIndication_aal m_aal;
  13962.     H245_NewATMVCIndication_multiplex m_multiplex;
  13963.     H245_NewATMVCIndication_reverseParameters m_reverseParameters;
  13964.  
  13965.     PINDEX GetDataLength() const;
  13966.     BOOL Decode(PASN_Stream & strm);
  13967.     void Encode(PASN_Stream & strm) const;
  13968. #ifndef PASN_NOPRINTON
  13969.     void PrintOn(ostream & strm) const;
  13970. #endif
  13971.     Comparison Compare(const PObject & obj) const;
  13972.     PObject * Clone() const;
  13973. };
  13974.  
  13975.  
  13976. //
  13977. // DataApplicationCapability_application_t38fax
  13978. //
  13979.  
  13980. class H245_DataApplicationCapability_application_t38fax : public PASN_Sequence
  13981. {
  13982. #ifndef PASN_LEANANDMEAN
  13983.     PCLASSINFO(H245_DataApplicationCapability_application_t38fax, PASN_Sequence);
  13984. #endif
  13985.   public:
  13986.     H245_DataApplicationCapability_application_t38fax(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  13987.  
  13988.     H245_DataProtocolCapability m_t38FaxProtocol;
  13989.     H245_T38FaxProfile m_t38FaxProfile;
  13990.  
  13991.     PINDEX GetDataLength() const;
  13992.     BOOL Decode(PASN_Stream & strm);
  13993.     void Encode(PASN_Stream & strm) const;
  13994. #ifndef PASN_NOPRINTON
  13995.     void PrintOn(ostream & strm) const;
  13996. #endif
  13997.     Comparison Compare(const PObject & obj) const;
  13998.     PObject * Clone() const;
  13999. };
  14000.  
  14001.  
  14002. //
  14003. // DataMode_application_t38fax
  14004. //
  14005.  
  14006. class H245_DataMode_application_t38fax : public PASN_Sequence
  14007. {
  14008. #ifndef PASN_LEANANDMEAN
  14009.     PCLASSINFO(H245_DataMode_application_t38fax, PASN_Sequence);
  14010. #endif
  14011.   public:
  14012.     H245_DataMode_application_t38fax(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  14013.  
  14014.     H245_DataProtocolCapability m_t38FaxProtocol;
  14015.     H245_T38FaxProfile m_t38FaxProfile;
  14016.  
  14017.     PINDEX GetDataLength() const;
  14018.     BOOL Decode(PASN_Stream & strm);
  14019.     void Encode(PASN_Stream & strm) const;
  14020. #ifndef PASN_NOPRINTON
  14021.     void PrintOn(ostream & strm) const;
  14022. #endif
  14023.     Comparison Compare(const PObject & obj) const;
  14024.     PObject * Clone() const;
  14025. };
  14026.  
  14027.  
  14028. //
  14029. // H235SecurityCapability
  14030. //
  14031.  
  14032. class H245_H235SecurityCapability : public PASN_Sequence
  14033. {
  14034. #ifndef PASN_LEANANDMEAN
  14035.     PCLASSINFO(H245_H235SecurityCapability, PASN_Sequence);
  14036. #endif
  14037.   public:
  14038.     H245_H235SecurityCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  14039.  
  14040.     H245_EncryptionAuthenticationAndIntegrity m_encryptionAuthenticationAndIntegrity;
  14041.     H245_CapabilityTableEntryNumber m_mediaCapability;
  14042.  
  14043.     PINDEX GetDataLength() const;
  14044.     BOOL Decode(PASN_Stream & strm);
  14045.     void Encode(PASN_Stream & strm) const;
  14046. #ifndef PASN_NOPRINTON
  14047.     void PrintOn(ostream & strm) const;
  14048. #endif
  14049.     Comparison Compare(const PObject & obj) const;
  14050.     PObject * Clone() const;
  14051. };
  14052.  
  14053.  
  14054. //
  14055. // H263Options
  14056. //
  14057.  
  14058. class H245_H263Options : public PASN_Sequence
  14059. {
  14060. #ifndef PASN_LEANANDMEAN
  14061.     PCLASSINFO(H245_H263Options, PASN_Sequence);
  14062. #endif
  14063.   public:
  14064.     H245_H263Options(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  14065.  
  14066.     enum OptionalFields {
  14067.       e_transparencyParameters,
  14068.       e_refPictureSelection,
  14069.       e_customPictureClockFrequency,
  14070.       e_customPictureFormat,
  14071.       e_modeCombos,
  14072.       e_videoBadMBsCap,
  14073.       e_h263Version3Options
  14074.     };
  14075.  
  14076.     PASN_Boolean m_advancedIntraCodingMode;
  14077.     PASN_Boolean m_deblockingFilterMode;
  14078.     PASN_Boolean m_improvedPBFramesMode;
  14079.     PASN_Boolean m_unlimitedMotionVectors;
  14080.     PASN_Boolean m_fullPictureFreeze;
  14081.     PASN_Boolean m_partialPictureFreezeAndRelease;
  14082.     PASN_Boolean m_resizingPartPicFreezeAndRelease;
  14083.     PASN_Boolean m_fullPictureSnapshot;
  14084.     PASN_Boolean m_partialPictureSnapshot;
  14085.     PASN_Boolean m_videoSegmentTagging;
  14086.     PASN_Boolean m_progressiveRefinement;
  14087.     PASN_Boolean m_dynamicPictureResizingByFour;
  14088.     PASN_Boolean m_dynamicPictureResizingSixteenthPel;
  14089.     PASN_Boolean m_dynamicWarpingHalfPel;
  14090.     PASN_Boolean m_dynamicWarpingSixteenthPel;
  14091.     PASN_Boolean m_independentSegmentDecoding;
  14092.     PASN_Boolean m_slicesInOrder_NonRect;
  14093.     PASN_Boolean m_slicesInOrder_Rect;
  14094.     PASN_Boolean m_slicesNoOrder_NonRect;
  14095.     PASN_Boolean m_slicesNoOrder_Rect;
  14096.     PASN_Boolean m_alternateInterVLCMode;
  14097.     PASN_Boolean m_modifiedQuantizationMode;
  14098.     PASN_Boolean m_reducedResolutionUpdate;
  14099.     H245_TransparencyParameters m_transparencyParameters;
  14100.     PASN_Boolean m_separateVideoBackChannel;
  14101.     H245_RefPictureSelection m_refPictureSelection;
  14102.     H245_ArrayOf_CustomPictureClockFrequency m_customPictureClockFrequency;
  14103.     H245_ArrayOf_CustomPictureFormat m_customPictureFormat;
  14104.     H245_ArrayOf_H263VideoModeCombos m_modeCombos;
  14105.     PASN_Boolean m_videoBadMBsCap;
  14106.     H245_H263Version3Options m_h263Version3Options;
  14107.  
  14108.     PINDEX GetDataLength() const;
  14109.     BOOL Decode(PASN_Stream & strm);
  14110.     void Encode(PASN_Stream & strm) const;
  14111. #ifndef PASN_NOPRINTON
  14112.     void PrintOn(ostream & strm) const;
  14113. #endif
  14114.     Comparison Compare(const PObject & obj) const;
  14115.     PObject * Clone() const;
  14116. };
  14117.  
  14118.  
  14119. //
  14120. // ModeElement
  14121. //
  14122.  
  14123. class H245_ModeElement : public PASN_Sequence
  14124. {
  14125. #ifndef PASN_LEANANDMEAN
  14126.     PCLASSINFO(H245_ModeElement, PASN_Sequence);
  14127. #endif
  14128.   public:
  14129.     H245_ModeElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  14130.  
  14131.     enum OptionalFields {
  14132.       e_h223ModeParameters,
  14133.       e_v76ModeParameters,
  14134.       e_h2250ModeParameters,
  14135.       e_genericModeParameters,
  14136.       e_multiplexedStreamModeParameters
  14137.     };
  14138.  
  14139.     H245_ModeElement_type m_type;
  14140.     H245_H223ModeParameters m_h223ModeParameters;
  14141.     H245_V76ModeParameters m_v76ModeParameters;
  14142.     H245_H2250ModeParameters m_h2250ModeParameters;
  14143.     H245_GenericCapability m_genericModeParameters;
  14144.     H245_MultiplexedStreamModeParameters m_multiplexedStreamModeParameters;
  14145.  
  14146.     PINDEX GetDataLength() const;
  14147.     BOOL Decode(PASN_Stream & strm);
  14148.     void Encode(PASN_Stream & strm) const;
  14149. #ifndef PASN_NOPRINTON
  14150.     void PrintOn(ostream & strm) const;
  14151. #endif
  14152.     Comparison Compare(const PObject & obj) const;
  14153.     PObject * Clone() const;
  14154. };
  14155.  
  14156.  
  14157. //
  14158. // H263VideoMode
  14159. //
  14160.  
  14161. class H245_H263VideoMode : public PASN_Sequence
  14162. {
  14163. #ifndef PASN_LEANANDMEAN
  14164.     PCLASSINFO(H245_H263VideoMode, PASN_Sequence);
  14165. #endif
  14166.   public:
  14167.     H245_H263VideoMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  14168.  
  14169.     enum OptionalFields {
  14170.       e_errorCompensation,
  14171.       e_enhancementLayerInfo,
  14172.       e_h263Options
  14173.     };
  14174.  
  14175.     H245_H263VideoMode_resolution m_resolution;
  14176.     PASN_Integer m_bitRate;
  14177.     PASN_Boolean m_unrestrictedVector;
  14178.     PASN_Boolean m_arithmeticCoding;
  14179.     PASN_Boolean m_advancedPrediction;
  14180.     PASN_Boolean m_pbFrames;
  14181.     PASN_Boolean m_errorCompensation;
  14182.     H245_EnhancementLayerInfo m_enhancementLayerInfo;
  14183.     H245_H263Options m_h263Options;
  14184.  
  14185.     PINDEX GetDataLength() const;
  14186.     BOOL Decode(PASN_Stream & strm);
  14187.     void Encode(PASN_Stream & strm) const;
  14188. #ifndef PASN_NOPRINTON
  14189.     void PrintOn(ostream & strm) const;
  14190. #endif
  14191.     Comparison Compare(const PObject & obj) const;
  14192.     PObject * Clone() const;
  14193. };
  14194.  
  14195.  
  14196. //
  14197. // H263VideoCapability
  14198. //
  14199.  
  14200. class H245_H263VideoCapability : public PASN_Sequence
  14201. {
  14202. #ifndef PASN_LEANANDMEAN
  14203.     PCLASSINFO(H245_H263VideoCapability, PASN_Sequence);
  14204. #endif
  14205.   public:
  14206.     H245_H263VideoCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  14207.  
  14208.     enum OptionalFields {
  14209.       e_sqcifMPI,
  14210.       e_qcifMPI,
  14211.       e_cifMPI,
  14212.       e_cif4MPI,
  14213.       e_cif16MPI,
  14214.       e_hrd_B,
  14215.       e_bppMaxKb,
  14216.       e_slowSqcifMPI,
  14217.       e_slowQcifMPI,
  14218.       e_slowCifMPI,
  14219.       e_slowCif4MPI,
  14220.       e_slowCif16MPI,
  14221.       e_errorCompensation,
  14222.       e_enhancementLayerInfo,
  14223.       e_h263Options
  14224.     };
  14225.  
  14226.     PASN_Integer m_sqcifMPI;
  14227.     PASN_Integer m_qcifMPI;
  14228.     PASN_Integer m_cifMPI;
  14229.     PASN_Integer m_cif4MPI;
  14230.     PASN_Integer m_cif16MPI;
  14231.     PASN_Integer m_maxBitRate;
  14232.     PASN_Boolean m_unrestrictedVector;
  14233.     PASN_Boolean m_arithmeticCoding;
  14234.     PASN_Boolean m_advancedPrediction;
  14235.     PASN_Boolean m_pbFrames;
  14236.     PASN_Boolean m_temporalSpatialTradeOffCapability;
  14237.     PASN_Integer m_hrd_B;
  14238.     PASN_Integer m_bppMaxKb;
  14239.     PASN_Integer m_slowSqcifMPI;
  14240.     PASN_Integer m_slowQcifMPI;
  14241.     PASN_Integer m_slowCifMPI;
  14242.     PASN_Integer m_slowCif4MPI;
  14243.     PASN_Integer m_slowCif16MPI;
  14244.     PASN_Boolean m_errorCompensation;
  14245.     H245_EnhancementLayerInfo m_enhancementLayerInfo;
  14246.     H245_H263Options m_h263Options;
  14247.  
  14248.     PINDEX GetDataLength() const;
  14249.     BOOL Decode(PASN_Stream & strm);
  14250.     void Encode(PASN_Stream & strm) const;
  14251. #ifndef PASN_NOPRINTON
  14252.     void PrintOn(ostream & strm) const;
  14253. #endif
  14254.     Comparison Compare(const PObject & obj) const;
  14255.     PObject * Clone() const;
  14256. };
  14257.  
  14258.  
  14259. //
  14260. // EnhancementOptions
  14261. //
  14262.  
  14263. class H245_EnhancementOptions : public PASN_Sequence
  14264. {
  14265. #ifndef PASN_LEANANDMEAN
  14266.     PCLASSINFO(H245_EnhancementOptions, PASN_Sequence);
  14267. #endif
  14268.   public:
  14269.     H245_EnhancementOptions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  14270.  
  14271.     enum OptionalFields {
  14272.       e_sqcifMPI,
  14273.       e_qcifMPI,
  14274.       e_cifMPI,
  14275.       e_cif4MPI,
  14276.       e_cif16MPI,
  14277.       e_slowSqcifMPI,
  14278.       e_slowQcifMPI,
  14279.       e_slowCifMPI,
  14280.       e_slowCif4MPI,
  14281.       e_slowCif16MPI,
  14282.       e_h263Options
  14283.     };
  14284.  
  14285.     PASN_Integer m_sqcifMPI;
  14286.     PASN_Integer m_qcifMPI;
  14287.     PASN_Integer m_cifMPI;
  14288.     PASN_Integer m_cif4MPI;
  14289.     PASN_Integer m_cif16MPI;
  14290.     PASN_Integer m_maxBitRate;
  14291.     PASN_Boolean m_unrestrictedVector;
  14292.     PASN_Boolean m_arithmeticCoding;
  14293.     PASN_Boolean m_temporalSpatialTradeOffCapability;
  14294.     PASN_Integer m_slowSqcifMPI;
  14295.     PASN_Integer m_slowQcifMPI;
  14296.     PASN_Integer m_slowCifMPI;
  14297.     PASN_Integer m_slowCif4MPI;
  14298.     PASN_Integer m_slowCif16MPI;
  14299.     PASN_Boolean m_errorCompensation;
  14300.     H245_H263Options m_h263Options;
  14301.  
  14302.     PINDEX GetDataLength() const;
  14303.     BOOL Decode(PASN_Stream & strm);
  14304.     void Encode(PASN_Stream & strm) const;
  14305. #ifndef PASN_NOPRINTON
  14306.     void PrintOn(ostream & strm) const;
  14307. #endif
  14308.     Comparison Compare(const PObject & obj) const;
  14309.     PObject * Clone() const;
  14310. };
  14311.  
  14312.  
  14313. //
  14314. // BEnhancementParameters
  14315. //
  14316.  
  14317. class H245_BEnhancementParameters : public PASN_Sequence
  14318. {
  14319. #ifndef PASN_LEANANDMEAN
  14320.     PCLASSINFO(H245_BEnhancementParameters, PASN_Sequence);
  14321. #endif
  14322.   public:
  14323.     H245_BEnhancementParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  14324.  
  14325.     H245_EnhancementOptions m_enhancementOptions;
  14326.     PASN_Integer m_numberOfBPictures;
  14327.  
  14328.     PINDEX GetDataLength() const;
  14329.     BOOL Decode(PASN_Stream & strm);
  14330.     void Encode(PASN_Stream & strm) const;
  14331. #ifndef PASN_NOPRINTON
  14332.     void PrintOn(ostream & strm) const;
  14333. #endif
  14334.     Comparison Compare(const PObject & obj) const;
  14335.     PObject * Clone() const;
  14336. };
  14337.  
  14338.  
  14339. #endif // __H245_H
  14340.  
  14341. #endif // if ! H323_DISABLE_H245
  14342.  
  14343.  
  14344. // End of h245.h
  14345.