Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef _PARTICIP_H_
#define _PARTICIP_H_
#include "SDKInternal.h"
// BUGBUG:
// This is defined as 128 because the RNC_ROSTER structure has the
// same limitation. Investigate what the appropriate number is.
const int MAX_PARTICIPANT_NAME = 128;
struct PARTICIPANT { UINT uID; UINT uCaps; DWORD dwFlags; PWSTR pwszUserInfo; TCHAR szName[MAX_PARTICIPANT_NAME]; }; typedef PARTICIPANT* PPARTICIPANT;
class CParticipant : public RefCount { private: INmMember * m_pMember; LPTSTR m_pszName; // Display Name
DWORD m_dwGccId; // GCC UserId
BOOL m_fLocal; // True if local user
BOOL m_fMcu; // True if local user
BOOL m_fAudio; // audio is active
BOOL m_fVideo; // video is active
BOOL m_fData; // In T.120 connection
BOOL m_fH323; // In H323 connection
BOOL m_fAudioBusy; // CAPFLAG_AUDIO_IN_USE
BOOL m_fVideoBusy; // CAPFLAG_VIDEO_IN_USE
BOOL m_fHasAudio; // CAPFLAG_SEND_AUDIO
BOOL m_fHasVideo; // CAPFLAG_SEND_VIDEO
BOOL m_fCanRecVideo; // CAPFLAG_RECV_VIDEO
public: CParticipant(INmMember * pMember); ~CParticipant();
// IUnknown methods
ULONG STDMETHODCALLTYPE AddRef(void); ULONG STDMETHODCALLTYPE Release(void);
VOID Update(void); DWORD GetDwFlags(void); DWORD GetDwCaps(void);
// Internal methods
INmMember * GetINmMember() {return m_pMember;} LPTSTR GetPszName() {return m_pszName;} BOOL FLocal() {return m_fLocal;} BOOL FAudio() {return m_fAudio;} BOOL FVideo() {return m_fVideo;} BOOL FData() {return m_fData;} BOOL FMcu() {return m_fMcu;} BOOL FH323() {return m_fH323;} BOOL FAudioBusy() {return m_fAudioBusy;} BOOL FVideoBusy() {return m_fVideoBusy;} BOOL FHasAudio() {return m_fHasAudio;} BOOL FCanSendVideo() {return m_fHasVideo;} BOOL FCanRecVideo() {return m_fCanRecVideo;} DWORD GetGccId() {return m_dwGccId;}
HRESULT ExtractUserData(LPTSTR psz, UINT cchMax, PWSTR pwszKey);
HRESULT GetIpAddr(LPTSTR psz, UINT cchMax); HRESULT GetUlsAddr(LPTSTR psz, UINT cchMax); HRESULT GetEmailAddr(LPTSTR psz, UINT cchMax); HRESULT GetPhoneNum(LPTSTR psz, UINT cchMax); HRESULT GetLocation(LPTSTR psz, UINT cchMax);
VOID OnCommand(HWND hwnd, WORD wCmd);
// Commands
VOID CmdSendFile(void); BOOL FEnableCmdSendFile(void);
VOID CmdEject(void); BOOL FEnableCmdEject(void);
VOID CmdCreateSpeedDial(void); BOOL FEnableCmdCreateSpeedDial(void);
VOID CmdCreateWabEntry(HWND hwnd); BOOL FEnableCmdCreateWabEntry(void);
VOID CalcControlCmd(HMENU hPopup); VOID CmdGiveControl(void); VOID CmdCancelGiveControl(void);
VOID CmdProperties(HWND hwnd); };
#endif // _PARTICIP_H_
|