#ifndef _M68HC11_COMMSTATUS_HPP_ #define _M68HC11_COMMSTATUS_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif class CommStatus : private _COMSTAT { public: CommStatus(void); CommStatus(const CommStatus &someCommStatus); virtual ~CommStatus(); CommStatus &operator=(const CommStatus &someCommStatus); BOOL operator==(const CommStatus &someCommStatus)const; BOOL waitingForCts(void)const; BOOL waitingForDsr(void)const; BOOL waitingForRlsd(void)const; BOOL waitingRcvdXOff(void)const; BOOL waitingSentXOff(void)const; BOOL waitingRcvdEof(void)const; BOOL waitingForTx(void)const; DWORD bytesInReceiveQueue(void)const; DWORD bytesInSendQueue(void)const; _COMSTAT &getCOMSTAT(void); private: void waitingForCts(BOOL waitingForCts); void waitingForDsr(BOOL waitingForDsr); void waitingForRlsd(BOOL waitingForRlsd); void waitingRcvdXOff(BOOL waitingRcvdXOff); void waitingSentXOff(BOOL waitingSentXOff); void waitingRcvdEof(BOOL waitingRcvdEof); void waitingForTx(BOOL waitingForTx); void bytesInReceiveQueue(DWORD bytesInReceiveQueue); void bytesInSendQueue(DWORD bytesInSendQueue); void setZero(void); }; inline CommStatus::CommStatus(void) { setZero(); } inline CommStatus::CommStatus(const CommStatus &someCommStatus) { *this=someCommStatus; } inline CommStatus::~CommStatus() { } inline CommStatus &CommStatus::operator=(const CommStatus &someCommStatus) { waitingForCts(someCommStatus.waitingForCts()); waitingForDsr(someCommStatus.waitingForDsr()); waitingForRlsd(someCommStatus.waitingForRlsd()); waitingRcvdXOff(someCommStatus.waitingRcvdXOff()); waitingSentXOff(someCommStatus.waitingSentXOff()); waitingRcvdEof(someCommStatus.waitingRcvdEof()); waitingForTx(someCommStatus.waitingForTx()); bytesInReceiveQueue(someCommStatus.bytesInReceiveQueue()); bytesInSendQueue(someCommStatus.bytesInSendQueue()); return *this; } inline BOOL CommStatus::operator==(const CommStatus &someCommStatus)const { return (waitingForCts()==someCommStatus.waitingForCts()&& waitingForDsr()==someCommStatus.waitingForDsr()&& waitingForRlsd()==someCommStatus.waitingForRlsd()&& waitingRcvdXOff()==someCommStatus.waitingRcvdXOff()&& waitingSentXOff()==someCommStatus.waitingSentXOff()&& waitingRcvdEof()==someCommStatus.waitingRcvdEof()&& waitingForTx()==someCommStatus.waitingForTx()&& bytesInReceiveQueue()==someCommStatus.bytesInReceiveQueue()&& bytesInSendQueue()==someCommStatus.bytesInSendQueue()); } inline BOOL CommStatus::waitingForCts(void)const { return _COMSTAT::fCtsHold; } inline void CommStatus::waitingForCts(BOOL waitingForCts) { _COMSTAT::fCtsHold=waitingForCts; } inline BOOL CommStatus::waitingForDsr(void)const { return _COMSTAT::fDsrHold; } inline void CommStatus::waitingForDsr(BOOL waitingForDsr) { _COMSTAT::fDsrHold=waitingForDsr; } inline BOOL CommStatus::waitingForRlsd(void)const { return _COMSTAT::fRlsdHold; } inline void CommStatus::waitingForRlsd(BOOL waitingForRlsd) { _COMSTAT::fRlsdHold=waitingForRlsd; } inline BOOL CommStatus::waitingRcvdXOff(void)const { return _COMSTAT::fXoffHold; } inline void CommStatus::waitingRcvdXOff(BOOL waitingRcvdXOff) { _COMSTAT::fXoffHold=waitingRcvdXOff; } inline BOOL CommStatus::waitingSentXOff(void)const { return _COMSTAT::fXoffSent; } inline void CommStatus::waitingSentXOff(BOOL waitingSentXOff) { _COMSTAT::fXoffSent=waitingSentXOff; } inline BOOL CommStatus::waitingRcvdEof(void)const { return _COMSTAT::fEof; } inline void CommStatus::waitingRcvdEof(BOOL waitingRcvdEof) { _COMSTAT::fEof=waitingRcvdEof; } inline BOOL CommStatus::waitingForTx(void)const { return _COMSTAT::fTxim; } inline void CommStatus::waitingForTx(BOOL waitingForTx) { _COMSTAT::fTxim=waitingForTx; } inline DWORD CommStatus::bytesInReceiveQueue(void)const { return _COMSTAT::cbInQue; } inline void CommStatus::bytesInReceiveQueue(DWORD bytesInReceiveQueue) { _COMSTAT::cbInQue=bytesInReceiveQueue; } inline DWORD CommStatus::bytesInSendQueue(void)const { return _COMSTAT::cbOutQue; } inline void CommStatus::bytesInSendQueue(DWORD bytesInSendQueue) { _COMSTAT::cbOutQue=bytesInSendQueue; } inline _COMSTAT &CommStatus::getCOMSTAT(void) { return *this; } inline void CommStatus::setZero(void) { _COMSTAT::fCtsHold=0; _COMSTAT::fDsrHold=0; _COMSTAT::fRlsdHold=0; _COMSTAT::fXoffHold=0; _COMSTAT::fXoffSent=0; _COMSTAT::fEof=0; _COMSTAT::fTxim=0; _COMSTAT::fReserved=0; _COMSTAT::cbInQue=0; _COMSTAT::cbOutQue=0; } #endif