OPAL Version 3.10.4

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

- File List
- Globals

h323t38.h
Go to the documentation of this file.
1 /*
2 * h323t38.h
3 *
4 * H.323 T.38 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: 22645 $
27 * $Author: rjongbloed $
28 * $Date: 2009-05-18 23:02:17 -0500 (Mon, 18 May 2009) $
29 */
30
31 #ifndef OPAL_T38_H323T38_H
32 #define OPAL_T38_H323T38_H
33
34 #ifdef P_USE_PRAGMA
35 #pragma interface
36 #endif
37
38 #include <opal/buildopts.h>
39
40 #if OPAL_T38_CAPABILITY
41
42 #include <h323/h323caps.h>
43
44
45 class H245_T38FaxProfile;
46
47
49
52 class H323_T38Capability : public H323DataCapability
53 {
54 PCLASSINFO(H323_T38Capability, H323DataCapability);
55 public:
58 enum TransportMode {
59 e_UDP,
60 e_DualTCP,
61 e_SingleTCP,
62 NumTransportModes
63 };
64
67 H323_T38Capability(
68 TransportMode mode = e_UDP
69 );
71
77 Comparison Compare(const PObject & obj) const;
78
81 virtual PObject * Clone() const;
83
92 virtual unsigned GetSubType() const;
93
96 virtual PString GetFormatName() const;
98
103 virtual H323Channel * CreateChannel(
104 H323Connection & connection,
105 H323Channel::Directions dir,
106 unsigned sessionID,
107 const H245_H2250LogicalChannelParameters * param
109 ) const;
111
122 virtual PBoolean OnSendingPDU(
123 H245_DataApplicationCapability & pdu
124 ) const;
125
134 virtual PBoolean OnSendingPDU(
135 H245_DataMode & pdu
136 ) const;
137
144 virtual PBoolean OnSendingPDU(
145 H245_DataProtocolCapability & proto,
146 H245_T38FaxProfile & profile
147 ) const;
148
156 virtual PBoolean OnReceivedPDU(
157 const H245_DataApplicationCapability & pdu
158 );
160
161 TransportMode GetTransportMode() const { return mode; }
162
163 protected:
164 TransportMode mode;
165 };
166
167
170 class H323_T38NonStandardCapability : public H323NonStandardDataCapability
171 {
172 PCLASSINFO(H323_T38NonStandardCapability, H323NonStandardDataCapability);
173 public:
178 H323_T38NonStandardCapability(
179 BYTE country = 181,
180 BYTE extension = 0,
181 WORD maufacturer = 18
182 );
184
189 virtual PObject * Clone() const;
191
196 virtual PString GetFormatName() const;
198
203 virtual H323Channel * CreateChannel(
204 H323Connection & connection,
205 H323Channel::Directions dir,
206 unsigned sessionID,
207 const H245_H2250LogicalChannelParameters * param
209 ) const;
211 };
212
213
214 #endif //OPAL_T38_CAPABILITY
215
216 #endif // OPAL_T38_H323T38_H
217
218