OPAL Version 3.10.4

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

- File List
- Globals

h323h224.h
Go to the documentation of this file.
1 /*
2 * h323h224.h
3 *
4 * H.323 H.224 logical channel establishment implementation for the
5 * OpenH323 Project.
6 *
7 * Copyright (c) 2006 Network for Educational Technology, ETH Zurich.
8 * Written by Hannes Friederich.
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 * Contributor(s): ______________________________________.
21 *
22 * $Revision: 22709 $
23 * $Author: rjongbloed $
24 * $Date: 2009-05-24 19:39:16 -0500 (Sun, 24 May 2009) $
25 */
26
27 #ifndef OPAL_H224_H323H224_H
28 #define OPAL_H224_H323H224_H
29
30 #ifdef P_USE_PRAGMA
31 #pragma interface
32 #endif
33
34 #include <opal/buildopts.h>
35
36 #if OPAL_HAS_H224
37 #if OPAL_H323
38
39 #include <h323/h323caps.h>
40
41 #include <h224/h224.h>
42 #include <h224/h224handler.h>
43
44
47 class H323_H224_AnnexQCapability : public H323DataCapability
48 {
49 PCLASSINFO(H323_H224_AnnexQCapability, H323DataCapability);
50
51 public:
52
53 H323_H224_AnnexQCapability();
54 ~H323_H224_AnnexQCapability();
55
56 Comparison Compare(const PObject & obj) const;
57
58 virtual PObject * Clone() const;
59
60 virtual unsigned GetSubType() const;
61
62 virtual PString GetFormatName() const;
63
64 virtual H323Channel * CreateChannel(H323Connection & connection,
65 H323Channel::Directions direction,
66 unsigned int sessionID,
67 const H245_H2250LogicalChannelParameters * params) const;
68
69 virtual PBoolean OnSendingPDU(H245_DataApplicationCapability & pdu) const;
70 virtual PBoolean OnSendingPDU(H245_DataMode & pdu) const;
71 virtual PBoolean OnReceivedPDU(const H245_DataApplicationCapability & pdu);
72 };
73
74
77 class H323_H224_HDLCTunnelingCapability : public H323DataCapability
78 {
79 PCLASSINFO(H323_H224_HDLCTunnelingCapability, H323DataCapability);
80
81 public:
82
83 H323_H224_HDLCTunnelingCapability();
84 ~H323_H224_HDLCTunnelingCapability();
85
86 Comparison Compare(const PObject & obj) const;
87
88 virtual PObject * Clone() const;
89
90 virtual unsigned GetSubType() const;
91
92 virtual PString GetFormatName() const;
93
94 virtual H323Channel * CreateChannel(H323Connection & connection,
95 H323Channel::Directions direction,
96 unsigned int sessionID,
97 const H245_H2250LogicalChannelParameters * params) const;
98
99 virtual PBoolean OnSendingPDU(H245_DataApplicationCapability & pdu) const;
100 virtual PBoolean OnSendingPDU(H245_DataMode & pdu) const;
101 virtual PBoolean OnReceivedPDU(const H245_DataApplicationCapability & pdu);
102
103 };
104
105 #define OPAL_REGISTER_H224_CAPABILITY() \
106 H323_REGISTER_CAPABILITY(H323_H224_AnnexQCapability, GetOpalH224_H323AnnexQ().GetName()); \
107 H323_REGISTER_CAPABILITY(H323_H224_HDLCTunnelingCapability, GetOpalH224_HDLCTunneling().GetName()); \
108
109
110 #endif // OPAL_H323
111
112 #endif // OPAL_HAS_H224
113
114 #endif // OPAL_H224_H323H224_H