wmsgframeparser.h

来自「手机发送短信的Activex控件」· C头文件 代码 · 共 64 行

H
64
字号
// WMsgFrameParser.h: interface for the CWMsgFrameParser class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_WMSGFRAMEPARSER_H__6ED367EE_17B2_4D4C_9E7B_05A5B185442F__INCLUDED_)
#define AFX_WMSGFRAMEPARSER_H__6ED367EE_17B2_4D4C_9E7B_05A5B185442F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "WMsgPacket.h"
#include "WCmdParseResult.h"

class CWMsgFrameParser  
{
public:

	CWMsgFrameParser();
	 ~CWMsgFrameParser();

	enum ParseResult ParseOneByte(BYTE byData);

	const CWMsgPacket& GetParseResult() const;

	void Reset();

	enum ParseState
	{
		MSG_SMS_LEADING_BEGIN,
		MSG_SMS_LEADING,
		MSG_SMS_LEADING_END,
		
		MSG_PHONE_NUMBER_BEGIN,
		MSG_PHONE_NUMBER_END,
		MSG_PHONE_NUMBER,
		
		MSG_SMS_FOLLOWING_BEGIN,
		MSG_SMS_FOLLOWING,
		MSG_SMS_FOLLOWING_END,

		MSG_FRAME_BEGIN,
		MSG_FRAME_NO,
		MSG_PACKET_NO,
		MSG_LAST_PACKET_FLAG,
		MSG_CONTENT_TYPE,
		MSG_CONTENT_OR_CHECKSUM,
		MSG_FRAME_END
	};

private:

	// return MSG_FRAME_END  to indicate error
	enum ParseState ParseSMSLeading(BYTE toParse);
	enum ParseState ParseSMSFollowing(BYTE toParse);
	BOOL IsValidSMSFollowing(BYTE toCheck);
	int m_smsLeadingBytesReceived;

	CWMsgPacket m_frame;
	enum ParseState m_state;
};

#endif // !defined(AFX_WMSGFRAMEPARSER_H__6ED367EE_17B2_4D4C_9E7B_05A5B185442F__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?