OPAL Version 3.10.4

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- File List
- Globals

h323t120.h
Go to the documentation of this file.
1 /*
2 * h323t120.h
3 *
4 * H.323 T.120 logical channel establishment
5 *
6 * Open H323 Library
7 *
8 * Copyright (c) 2001 Equivalence Pty. Ltd.
9 *
10 * The contents of this file are subject to the Mozilla Public License
11 * Version 1.0 (the "License"); you may not use this file except in
12 * compliance with the License. You may obtain a copy of the License at
13 * http://www.mozilla.org/MPL/
14 *
15 * Software distributed under the License is distributed on an "AS IS"
16 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
17 * the License for the specific language governing rights and limitations
18 * under the License.
19 *
20 * The Original Code is Open H323 Library.
21 *
22 * The Initial Developer of the Original Code is Equivalence Pty. Ltd.
23 *
24 * Contributor(s): ______________________________________.
25 *
26 * $Revision: 21293 $
27 * $Author: rjongbloed $
28 * $Date: 2008-10-12 18:24:41 -0500 (Sun, 12 Oct 2008) $
29 */
30
31 #ifndef OPAL_T120_H323T120_H
32 #define OPAL_T120_H323T120_H
33
34 #ifdef P_USE_PRAGMA
35 #pragma interface
36 #endif
37
38 #include <opal/buildopts.h>
39
40 #include <h323/h323caps.h>
41
42
43 class OpalT120Protocol;
44
45
47
50 class H323_T120Capability : public H323DataCapability
51 {
52 PCLASSINFO(H323_T120Capability, H323DataCapability);
53 public:
58 H323_T120Capability();
60
65 virtual PObject * Clone() const;
67
76 virtual unsigned GetSubType() const;
77
80 virtual PString GetFormatName() const;
82
87 virtual H323Channel * CreateChannel(
88 H323Connection & connection,
89 H323Channel::Directions dir,
90 unsigned sessionID,
91 const H245_H2250LogicalChannelParameters * param
93 ) const;
95
106 virtual PBoolean OnSendingPDU(
107 H245_DataApplicationCapability & pdu
108 ) const;
109
118 virtual PBoolean OnSendingPDU(
119 H245_DataMode & pdu
120 ) const;
121
128 virtual PBoolean OnSendingPDU(
129 H245_DataProtocolCapability & pdu
130 ) const;
131
139 virtual PBoolean OnReceivedPDU(
140 const H245_DataApplicationCapability & pdu
141 );
143
149 PBoolean GetDynamicPortCapability() const { return dynamicPortCapability; }
150
154 void SetDynamicPortCapability(PBoolean dynamic) { dynamicPortCapability = dynamic; }
156
157 protected:
158 PBoolean dynamicPortCapability;
159 };
160
161
164 class H323_T120Channel : public H323DataChannel
165 {
166 PCLASSINFO(H323_T120Channel, H323DataChannel);
167 public:
172 H323_T120Channel(
173 H323Connection & connection,
174 const H323Capability & capability,
175 Directions direction,
176 unsigned sessionID
177 );
179
189 virtual void Receive();
190
199 virtual void Transmit();
200
203 virtual PBoolean OnSendingPDU(
204 H245_OpenLogicalChannel & openPDU
205 ) const;
206
210 virtual void OnSendOpenAck(
211 const H245_OpenLogicalChannel & open,
212 H245_OpenLogicalChannelAck & ack
213 ) const;
214
222 virtual PBoolean OnReceivedPDU(
223 const H245_OpenLogicalChannel & pdu,
224 unsigned & errorCode
225 );
226
234 virtual PBoolean OnReceivedAckPDU(
235 const H245_OpenLogicalChannelAck & pdu
236 );
238
239 virtual void HandleChannel();
240
241 protected:
242 OpalT120Protocol * t120handler;
243 };
244
245
246 #endif // OPAL_T120_H323T120_H
247
248