?? classtwopointzero.h
字號:
/*****************************************************************************
* RelayFax Open Source Project
* Copyright 1996-2004 Alt-N Technologies, Ltd.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted only as authorized by the RelayFax Open
* Source License. A copy of this license is available in file LICENSE
* in the top-level directory of the distribution.
*
* RelayFax is a registered trademark of Alt-N Technologies, Ltd.
*
* Individual files and/or contributed packages may be copyright by
* other parties and subject to additional restrictions.
*****************************************************************************/
////////////////////////////////////////////////////////////////////////////////
//
// The purpose of CClassTwoPointZero is contain the protocol specifics of EIA
// fax modem class 2.0
//
////////////////////////////////////////////////////////////////////////////////
#ifndef CLASSTWOPOINTZERO_H
#define CLASSTWOPOINTZERO_H
#include "Modem.h"
class CClassTwoPointZero : public CModem
{
public:
CClassTwoPointZero();
virtual ~CClassTwoPointZero();
enum PhaseAStates { STATE_SET_PARAMS, // sending states
STATE_SET_CSID,
STATE_DIALING };
enum PhaseBStates { STATE_SENDING, // sending states
STATE_RECEIVING,
STATE_RESET_PARAMS };
enum PhaseEStates { STATE_WAIT_FOR_OK,
STATE_WAIT_FOR_FK_RESP };
virtual bool OnWaitTimeout( void );
// methods overridden from CCommPort
virtual void OnConnect(void);
virtual bool OnDisconnect(void);
virtual void OnWrite(void);
virtual void OnReadLine(void);
// methods overridden from CModem
virtual void OnSendFaxMsg(MSG* pMsg);
virtual void OnRecvFaxMsg(MSG* pMsg);
virtual void OnAbortFaxMsg(void);
virtual void OnHDLCFrame(void);
virtual void OnPartialHDLCFrame(void);
virtual void OnTimer( UINT nID );
virtual void Abort( bool bUserCancelled );
virtual void CheckTimeouts( DWORD dwInActive );
void SetState( int nNewState, int nNewPhaseState = 0 );
protected:
void PhaseInit(void);
void PhaseIdle(void);
void PhaseRinging(void);
void PhaseA(void);
void PhaseB(void);
void PhaseC(void);
// void PhaseD(void);
void PhaseE(void);
void OnDIS(void);
void OnCSI(void);
// void OnCFR(void);
// void OnMCF(void);
// void OnRTP(void);
// void OnRTN(void);
// void OnFTT(void);
void OnDCS(void);
void OnTSI(void);
void OnEOP(void);
void OnEOM(void);
void OnMPS(void);
// void OnDCN(void);
// void OnPPS(void);
// void OnPPR(void);
// void OnRNR(void);
// void OnRR(void);
// void OnCRP(void);
void OnNSF(void);
void OnNSS(void);
// void OnCTC(void);
// void OnCTR(void);
// void OnEOR(void);
// void OnERR(void);
void OnFPTS(void);
void OnFET(void);
void OnFHNG(void);
int m_nPhaseState;
int m_nLoopCtr;
int m_nPPRCtr;
// Init sequence
void SetLocalID(void);
void SetRecv(void);
void SetBitOrder(void);
void SetFlowControl(void);
void SetHDLCReporting(void);
void SetFaxParams( bool bSending );
int ParseFHSCode(void);
void VerifyOptions(void);
bool m_bGotEOP;
bool m_bGotMPS;
bool m_bGotEOM;
bool m_bGotDIS;
bool m_bGotDCS;
bool m_bResendFaxParams;
bool m_bFirstFrame;
int m_nScanTime;
WORD m_wMinLineChars;
};
#endif // CLASSTWOPOINTZERO_H
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -