⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 command.h

📁 利用HyfaFax传真的传输协议(与FTP协议相似),编写发送传真到目的传真服务器的客户代码!
💻 H
字号:
#if !defined _COMMAND_H_INCLUDE_
#define _COMMAND_H_INCLUDE_

#include <string>
using namespace std;
#include "NetSocket.h"
const int  COMMANDCOUNT = 13;
const int  BUFFER_SIZE  = 512;
const int  RESULTCOUNT  = 4;
typedef enum _Token 
{
	T_USER,
		T_PASS,
		T_TZONE,
		T_MODE,
		T_TYPE,
		T_PASV,
		T_STOT,
		T_JNEW,
		T_JPARM,
		T_JSUB,
		T_JOB,
		T_LIST,
		T_QUIT,

		
}
Token;
typedef enum _Result
{
	Success,
		NoUser,
		Needpasswd,
		SessionClose,
		incorrect,
		unRecogniz,
		unImplement,
		jobUnCreate,
		timeError,
		pasvErr,
		typeUnSupport,
		modeUnSupport,
		cantSetJob,
		unSubmit,
		submitfaild,
		Unknow,

}
Result;


typedef struct  _tab
{		
    Token token;
	const char* cmd;
    struct 
	{
		const char * szResult;
		Result       Meaning;
	} 
	ResultList[RESULTCOUNT];
}tab; 

class Command
{
public:
	Command();
	virtual ~Command();
protected:
	static tab cmdtab[COMMANDCOUNT];
	char szBuffer_[BUFFER_SIZE];
	NetSocket SubmitFaxSession_;
protected:
	Result command(Token cmd,const char* fmt ...);
	const char*  cmdParam(const char *fmt ...);
	Result vcommand(Token cmd,const char* fmt, va_list ap);
	bool   login();
	bool   initialize(string& szHost);
	bool   GetHostAndPort(const char* const pstr,char* szIP,int& nPort);
	void   Release();
	bool   TransferComplete();
};
#endif

⌨️ 快捷键说明

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