smsg.h

来自「GSM Mobile收发短信」· C头文件 代码 · 共 91 行

H
91
字号
// SMsg.h: interface for the CSMsg class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SMSG_H__5BB1819B_AF94_4FBE_B5F4_DA6B2A67CE6C__INCLUDED_)
#define AFX_SMSG_H__5BB1819B_AF94_4FBE_B5F4_DA6B2A67CE6C__INCLUDED_

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

#include "MsgSend.h"
#include "Serial.h"
#include "MsgRecv.h"
#include "THelp.h"
#include "Log.h"

const int  MAX_BUFFER_LEN = 4;
const int  CODE_OK = 1;
const int  CODE_ERR = 0;
const int  CSCA_ERR = -1000;
const int  CMGS_ERR = -1001;
const int  CNMI_ERR = -1002;
const int  CMGL_ERR = -1003;
const int  CMGD_ERR = -1004;
const int  CMGF_ERR = -1005;

typedef void (CALLBACK* NOTIFYPROC)(char strCalledNo[],char strCallingNo[],char strTime[],char strBody[],const bool IfSusscess);

class CSMsg  
{
public:
	CSMsg();
	virtual ~CSMsg();
public:
	int comOpen(const char* ComN);
	int comSetUp (const int Baudrate = (int)CSerial::EBaud9600,
								const int DataBits = (int)CSerial::EData8,
								const int Parity   = (int)CSerial::EParNone,
								const int StopBits = (int)CSerial::EStop1);
	int comHandshaking (const int eHandshake = (int)CSerial::EHandshakeOff);
	int comClose();

	int msgInit(const char* Cent = NULL,
		        const char* m_Com = NULL,
				const int Baudrate = (int)CSerial::EBaud9600,
				const int DataBits = (int)CSerial::EData8,
				const int Parity   = (int)CSerial::EParNone,
				const int StopBits =(int)CSerial::EStop1,
				const int eHandshake=(int)CSerial::EHandshakeOff);

	int msgSend(char* Body,char* Hand);
	int msgListSms(int Type,CMsgRecv& MR);//0-->没读,1-->已读;
	int msgRead(const CString& strContext,char strCalledNo[],char strCallingNo[],char strTime[],char strBody[]);
	int msgDel(int Index);
public:	
	//void WaitForComEvent(const char strATOrder[],CString* strEventValue);
	void WaitIncomeSms(const char strATOrder[],CString* strEventValue);
	int  IncomeSms(const int nIndex = -1);
	const bool DealWithComEcho(CString& strRecv,HANDLE hEvent);
public:
	//NOTIFYPROC	m_pNotifyProc;
	CRITICAL_SECTION Cs;
	void Lock();
	void UnLock();
	CSerial m_Com;//COM口对象
	
	CString m_RetValue;//COM返回的数据信息
	CString m_strAppendData;//附加数据信息
	char m_strSmsCentNum[20];//短信中心号码
	HANDLE m_hKillEvent;
	HANDLE m_hSendEvent;
    HANDLE m_hReadEvent;
	HANDLE m_hDelEvent;
	HANDLE m_hListEvent;

	HANDLE m_hCNMIEvent;
	HANDLE m_hCMGFEvent;
	HANDLE m_hCSCAEvent;

	HANDLE m_hAppendDataEvent;
	HANDLE m_hComEventThread;
	unsigned int m_nComEventThreadID;
	//DWORD  m_dwMailThreadID;
};
static unsigned __stdcall ComEventProc(LPVOID lpVoid);
//unsigned __stdcall WaitIncomeSms(LPVOID lpVoid);


#endif // !defined(AFX_SMSG_H__5BB1819B_AF94_4FBE_B5F4_DA6B2A67CE6C__INCLUDED_)

⌨️ 快捷键说明

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