OPAL  Version 3.18.8
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  */
27 
28 #ifndef OPAL_T120_H323T120_H
29 #define OPAL_T120_H323T120_H
30 
31 #ifdef P_USE_PRAGMA
32 #pragma interface
33 #endif
34 
35 #include <opal_config.h>
36 
37 #include <h323/h323caps.h>
38 
39 
40 class OpalT120Protocol;
41 
42 
44 
48 {
50  public:
57 
62  virtual PObject * Clone() const;
64 
73  virtual unsigned GetSubType() const;
74 
77  virtual PString GetFormatName() const;
79 
84  virtual H323Channel * CreateChannel(
85  H323Connection & connection,
87  unsigned sessionID,
88  const H245_H2250LogicalChannelParameters * param
90  ) const;
92 
103  virtual PBoolean OnSendingPDU(
104  H245_DataApplicationCapability & pdu
105  ) const;
106 
115  virtual PBoolean OnSendingPDU(
116  H245_DataMode & pdu
117  ) const;
118 
125  virtual PBoolean OnSendingPDU(
126  H245_DataProtocolCapability & pdu
127  ) const;
128 
136  virtual PBoolean OnReceivedPDU(
137  const H245_DataApplicationCapability & pdu
138  );
140 
146  PBoolean GetDynamicPortCapability() const { return dynamicPortCapability; }
147 
151  void SetDynamicPortCapability(PBoolean dynamic) { dynamicPortCapability = dynamic; }
153 
154  protected:
156 };
157 
158 
162 {
163  PCLASSINFO(H323_T120Channel, H323DataChannel);
164  public:
171  const H323Capability & capability,
172  Directions direction,
173  unsigned sessionID
174  );
176 
186  virtual void Receive();
187 
196  virtual void Transmit();
197 
200  virtual PBoolean OnSendingPDU(
201  H245_OpenLogicalChannel & openPDU
202  ) const;
203 
207  virtual void OnSendOpenAck(
208  const H245_OpenLogicalChannel & open,
209  H245_OpenLogicalChannelAck & ack
210  ) const;
211 
219  virtual PBoolean OnReceivedPDU(
220  const H245_OpenLogicalChannel & pdu,
221  unsigned & errorCode
222  );
223 
231  virtual PBoolean OnReceivedAckPDU(
232  const H245_OpenLogicalChannelAck & pdu
233  );
235 
236  virtual void HandleChannel();
237 
238  protected:
240 };
241 
242 
243 #endif // OPAL_T120_H323T120_H
244 
245 
H323Connection & connection
Definition: channels.h:326
unsigned sessionID
Definition: channels.h:660
virtual void Transmit()
virtual void Receive()
virtual unsigned GetSubType() const
virtual void HandleChannel()
virtual PBoolean OnReceivedPDU(const H245_DataApplicationCapability &pdu)
Definition: t120proto.h:56
Definition: h323caps.h:95
Directions
Definition: channels.h:125
virtual PObject * Clone() const
virtual PBoolean OnReceivedPDU(const H245_OpenLogicalChannel &pdu, unsigned &errorCode)
virtual H323Channel * CreateChannel(H323Connection &connection, H323Channel::Directions dir, unsigned sessionID, const H245_H2250LogicalChannelParameters *param) const
virtual void OnSendOpenAck(const H245_OpenLogicalChannel &open, H245_OpenLogicalChannelAck &ack) const
virtual PString GetFormatName() const
H323Capability * capability
Definition: channels.h:327
void SetDynamicPortCapability(PBoolean dynamic)
Definition: h323t120.h:151
Definition: channels.h:95
PBoolean dynamicPortCapability
Definition: h323t120.h:155
Definition: channels.h:572
OpalT120Protocol * t120handler
Definition: h323t120.h:239
H323_T120Channel(H323Connection &connection, const H323Capability &capability, Directions direction, unsigned sessionID)
Definition: h323t120.h:161
Definition: h323caps.h:1846
Definition: h323con.h:137
virtual PBoolean OnSendingPDU(H245_OpenLogicalChannel &openPDU) const
Definition: h323t120.h:47
PBoolean GetDynamicPortCapability() const
Definition: h323t120.h:146
virtual PBoolean OnSendingPDU(H245_DataApplicationCapability &pdu) const
virtual PBoolean OnReceivedAckPDU(const H245_OpenLogicalChannelAck &pdu)