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

📄 global.h

📁 一个多线程
💻 H
字号:
#ifndef __global_h__dll__
#define __global_h__dll__
#include "userctrl.h"
#include "UniBus.h"
#include "awflow.h"
#include "monitor.h"
#define EVT_SETEVENT_LINK 0x00010001
#define EVT_LINK_ALL 0x00010002

////////////////////////////////////////////
//DFINE SOME flow MESSAGE
#define ID_CMD_INIT		0x00001001//flow init
#define ID_CMD_CLOSE	0x00001002//flow close
#define ID_CMD_TIME		0x000000c8//time message

void WINAPI CommDllCallBack(DWORD dwHandle,int id,void *  Buffer,int iBufferLen);

class AsEventObject : public CAsynWorker{
public:
	AsEventObject(){};
	~AsEventObject (){};
	virtual void OnMsgEvent(CUniMsg * pMsg);
};

class AsLinkObject : public CAsynWorker{
public:
	AsLinkObject(){};
	~AsLinkObject(){};
	virtual void OnMsgEvent(CUniMsg * pMsg);
};

class AFX_EXT_CLASS CGlobalApi{
public:
	CGlobalApi(){
		m_bRecordMessage=TRUE;
		m_csRecordFileName="gmessage.txt";
	};
	~CGlobalApi(){};
	BOOL m_bRecordMessage;
	CString m_UserName;
	CString m_csRecordFileName;
	virtual void APIStartDebug(CUserControl * p);
	virtual void APIEndDebug(CUserControl * p);
	virtual void APISetLine(CUserControl * p,int iLine);
	virtual BOOL APIIsBreakPoint(CUserControl * p,int iLine);
	virtual void APIOnStart(CUserControl * p);
	virtual void CanTraceFlow(CUserControl * p);
	virtual void CancelTraceFlow(CUserControl * p);
	virtual void insertmessage(char * cs);
	virtual void APIAddOpenFile(char * lpFlowFile);
	virtual void APIRemovepenFile(char * lpFlowFile);
	virtual void APISetFlowVariant(LPCTSTR lpName,LPCTSTR lpValue,LPCTSTR lpId,int itype,int idx);

	virtual void GLogEvent(LOGTYPE logtype,int icommand,int ilevel,char * lpszdescripe,char * lpLogFileName=NULL);
	CArray<CAWFlow *,CAWFlow *>m_FlowList;

	virtual void OnExtBusMsg(CUniMsg * pMsg){};
	virtual void SynBusMsgProc(CUniMsg * pCmdSend,CUniMsg * pCmdReceive){pCmdReceive->m_ierror=-4;};
	virtual CAsynWorker::SYNMSGRESULT OnAsynBusMsg(CUniMsg * pCmdSend,CUniMsg * pCmdReceive){return CAsynWorker::synnowdo;};
	virtual void OnLinkStatusChanged(DWORD dwModId,LPCTSTR szName,int iState){};
};

class CGlobalManager : public CAWFlow
{
public:
	BOOL m_bOwnBus;
	AsEventObject m_EvtObj;
	AsLinkObject m_LinkObj;
	CGlobalApi * m_pGlobalApi;
	CGlobalManager();
	~CGlobalManager();
	void SetApiInterface(CGlobalApi *pt);
	void ClearApiInterface();
	virtual BOOL OnEndFlow(){return TRUE;};
	CDataBus * InitBus();
	void ClearBus();
	CString m_csBusFlow;
	CString csLogfilename;
	int m_iLogmaxlevel;
	int m_iBusRoadNum;
	CArray<CAWFlow *,CAWFlow *>m_FlowList;
};

extern CGlobalManager gDllGlobalManager;
AFX_EXT_CLASS CDataBus * SetInterface(CGlobalApi *,
		CDataBus * pdb=NULL,
		BOOL bRunBusFlow=FALSE);
AFX_EXT_CLASS void ClearInterface();
BOOL WINAPI RunCommand(DWORD dwCommand,HANDLE hParam,HANDLE & hResult);

#endif

⌨️ 快捷键说明

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