www.pudn.com > AVChat1.rar > CRoleAdmin.h


// 
// CRoleAdmin.h 
// 
 
#ifndef __H_CRoleAdmin__ 
#define __H_CRoleAdmin__ 
 
#include "CPreviewAdmin.h" 
#include "CUDPManager.h" 
#include "CMsgReceiver.h" 
#include "CMsgStation.h" 
 
class CDXGraph; 
class CFilterNetReceiver; 
class CFilterNetSender; 
class CRoleAdmin : public CPreviewAdmin, public CMsgReceiver 
			     , public CMsgStation 
{ 
protected: 
	long			mDeviceConfig; 
	CUDPManager		mUdpManager; 
	 
	WORD			mLocalUDPPort; 
	WORD			mTargetUDPPort; 
	DWORD			mTargetIP; 
 
	CDXGraph *		mRemoteVideoGraph; // Receiving 
	CDXGraph *		mRemoteAudioGraph;  
	CDXGraph *		mLocalVideoGraph;  // Sending 
	CDXGraph *		mLocalAudioGraph; 
 
	CFilterNetReceiver *	mVideoReceiver; 
	CFilterNetReceiver *	mAudioReceiver; 
	CFilterNetSender *		mVideoSender; 
	CFilterNetSender *		mAudioSender; 
 
public: 
	CRoleAdmin(); 
	virtual ~CRoleAdmin(); 
 
	// Has audio? Has Video? (local and remote) 
	void SetDeviceConfig(long inConfig); 
	void SetTargetIP(DWORD inTarget); 
 
	virtual BOOL Init(void); 
	virtual void Uninit(void); 
 
	virtual BOOL CallServer(void); 
	virtual void Disconnect(BOOL inNotifyPeer = TRUE); 
 
	virtual BOOL StopGraph(void); 
 
protected: 
	virtual bool ReceiveMessage(MessageT inMessage, void * ioParam,  
		void * ioParam2); 
 
	BOOL SendSimpleCommand(long inCommand); 
	BOOL SendLocalDeviceConfigToPeer(void); 
	void CompleteVideoReceivingGraph(void); 
	void CompleteAudioReceivingGraph(void); 
 
	virtual BOOL CreateGraph(void); 
	virtual void DeleteGraph(void); 
 
	virtual BOOL CreateInputFilters(void); 
	virtual void ReleaseInputFilters(void); 
 
	virtual BOOL CreateOutputFilters(void); 
	virtual void ReleaseOutputFilters(void); 
 
	virtual BOOL ConnectFilters(void); 
	virtual BOOL AfterBuildGraph(void); 
 
	virtual SOCKET GetVideoStreamSocket(void); 
	virtual SOCKET GetAudioStreamSocket(void); 
}; 
 
#endif // __H_CRoleAdmin__