#ifndef __IrComm_h__
#define __IrComm_h__
#include "ttp.h" // subclassing off tinytp
#include "IrDscInfo.h" // for hints
class TIrGlue;
class IrDAComm;
enum {
kTinyTPCredit = 2 };
class IrComm : public TTinyTP {
OSDeclareDefaultStructors(IrComm);
public:
static IrComm *irComm(TIrGlue *irda, IrDAComm *irdacomm);
Boolean Init(TIrGlue *irda, IrDAComm *irdacomm);
void free();
UInt32 TxBufferAvailable(void); UInt32 Write(UInt8 *buf, UInt32 length); void ReturnCredit(UInt32 bytecount); void TryConnect(int slots); void Listen(); void Disconnect(void);
private:
virtual void TTPDiscoverComplete ( int numFound, IrDAErr result);
virtual void TTPLookupComplete ( IrDAErr result,
UInt32 peerLSAPId);
virtual void TTPConnectIndication ( IrDAErr result,
TTPSAP SAP, TIrQOS *ourQOS, TIrQOS *peerQOS, int MaxSduSize, TTPBuf *UserData);
virtual void TTPConnectConfirm ( TTPSAP SAP, TIrQOS *ourQOS, TIrQOS *peerQOS, int MaxSduSize, TTPBuf *UserData);
virtual void TTPDisconnectIndication ( int reason, TTPBuf *UserData);
virtual void TTPDataIndication ( TTPBuf *UserData, TTP_Read_Status status);
virtual void TTPUDataIndication ( TTPBuf *UserData);
virtual void TTPAcceptDoneIndication( IrDAErr result);
virtual void TTPBackEnable(void);
IrDAComm *fIrDAComm; UInt32 fPeerAddress; UInt16 fMaxPacketSize; Boolean fConnected;
};
#endif // __IrComm_h__