h323t38.h
Go to the documentation of this file.
/*
* h323t38.h
*
* H.323 T.38 logical channel establishment
*
* Open H323 Library
*
* Copyright (c) 2001 Equivalence Pty. Ltd.
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Open H323 Library.
*
* The Initial Developer of the Original Code is Equivalence Pty. Ltd.
*
* Contributor(s): ______________________________________.
*
* $Revision: 22645 $
* $Author: rjongbloed $
* $Date: 2009-05-18 23:02:17 -0500 (Mon, 18 May 2009) $
*/
#ifndef OPAL_T38_H323T38_H
#define OPAL_T38_H323T38_H
#ifdef P_USE_PRAGMA
#pragma interface
#endif
#include <opal/buildopts.h>
#if OPAL_T38_CAPABILITY
#include <h323/h323caps.h>
class H245_T38FaxProfile;
class H323_T38Capability : public H323DataCapability
{
PCLASSINFO(H323_T38Capability, H323DataCapability);
public:
enum TransportMode {
e_UDP,
e_DualTCP,
e_SingleTCP,
NumTransportModes
};
H323_T38Capability(
TransportMode mode = e_UDP
);
Comparison Compare(const PObject & obj) const;
virtual PObject * Clone() const;
virtual unsigned GetSubType() const;
virtual PString GetFormatName() const;
virtual H323Channel * CreateChannel(
H323Connection & connection,
H323Channel::Directions dir,
unsigned sessionID,
const H245_H2250LogicalChannelParameters * param
) const;
virtual PBoolean OnSendingPDU(
H245_DataApplicationCapability & pdu
) const;
virtual PBoolean OnSendingPDU(
H245_DataMode & pdu
) const;
virtual PBoolean OnSendingPDU(
H245_DataProtocolCapability & proto,
H245_T38FaxProfile & profile
) const;
virtual PBoolean OnReceivedPDU(
const H245_DataApplicationCapability & pdu
);
TransportMode GetTransportMode() const { return mode; }
protected:
TransportMode mode;
};
class H323_T38NonStandardCapability : public H323NonStandardDataCapability
{
PCLASSINFO(H323_T38NonStandardCapability, H323NonStandardDataCapability);
public:
H323_T38NonStandardCapability(
BYTE country = 181,
BYTE extension = 0,
WORD maufacturer = 18
);
virtual PObject * Clone() const;
virtual PString GetFormatName() const;
virtual H323Channel * CreateChannel(
H323Connection & connection,
H323Channel::Directions dir,
unsigned sessionID,
const H245_H2250LogicalChannelParameters * param
) const;
};
#endif //OPAL_T38_CAPABILITY
#endif // OPAL_T38_H323T38_H
buildopts.h
h323caps.h
H323Channel::Directions
Directions
Definition: channels.h:129
H323Capability::GetFormatName
virtual PString GetFormatName() const =0
H323Channel
Definition: channels.h:99
H323Capability::CreateChannel
virtual H323Channel * CreateChannel(H323Connection &connection, H323Channel::Directions dir, unsigned sessionID, const H245_H2250LogicalChannelParameters *param) const =0
H323DataCapability
Definition: h323caps.h:1584
H323Connection
Definition: h323con.h:130
H323Capability::GetSubType
virtual unsigned GetSubType() const =0
H323DataCapability::OnSendingPDU
virtual PBoolean OnSendingPDU(H245_Capability &pdu) const
H323NonStandardDataCapability
Definition: h323caps.h:1736
H323Capability::Compare
Comparison Compare(const PObject &obj) const
H323DataCapability::OnReceivedPDU
virtual PBoolean OnReceivedPDU(const H245_Capability &pdu)