www.pudn.com > Five_QT_by_CT.rar > HallMaster.h


#ifndef HALLMASTER_HEADER
#define HALLMASTER_HEADER

#include "defs.h"
#include "pub.h"

#include 
#include 
#include "unistd.h"
#include "sys/socket.h"
#include "sys/types.h"
#include "netinet/in.h"
#include "sys/stat.h"
#include "sys/time.h"
#include 
#include 
#include 



#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 


class HallMaster :public QWidget
{
Q_OBJECT
			
	PlayerTableNode mPlayerTable[MAX_PLAYER];//游戏者信息表,记录了所有游戏者的信息;
	DeskTableNode mDeskTable[MAX_DESK];    //桌位信息,
	QString mMyID;
	QString mOpID;
	QString mMyState;//等待,游戏中,空闲等状态
	bool mGamefaceOpened;
	bool mOnline;
	char mRevBuf[BUF_LEN];
	char mSndBuf[BUF_LEN];
	int mSockFD;
	Message mMsgRecvd;
	Message mMsgToSend;
	struct sockaddr_in mServerAddr;
	struct sockaddr_in mOpAddr;
	QTimer *mTimer;
	PackDisposer mPackDisposer;

	bool ConvertQStrToSockaddr(QString addr, QString port, struct sockaddr_in &dstaddr);
	bool CreateSockFD();
	int Sender(Message msg,struct sockaddr_in dstaddr );
	void Receiver();
	int SetServerAddr( QString );
	
	int Disposer();
	int UpdatePlayerTable(); 
	void SendChangeseat(QString dsknum, QString side);

	void HandleAgreeInvite();
	void HandleChessput(Message msg);
	void HandleSendInvite();
	void HandleSendSitdown(QString ,QString);
	void HandleSeatchanged( Message );
	void HandleSendChat(Message);
	

	
	
public:
	int Runner();
	QString getPlayerID (int i);
	QString getPlayerDesknumber ( int i );
	QString getDeskWhiteside(int i);
	QString getDeskBlackside ( int i );
	QString getMyID();
	QString getMyDesknumber();

	HallMaster(QWidget * ,char *);
	~HallMaster();
public slots:
	
	void sReceiver();
	void sonquit();
	void sdisposemsg(Message msg);
signals:
	
	void showgameface();
	void updatehall();
	void quithall();
	void sendmsgtomain(Message msg);
	
};







#endif