/*------------------------------------------------------------------------- * fedsrv\AdminUser.H * * Declaration of CAdminUser * * Owner: * * Copyright 1986-1999 Microsoft Corporation, All Rights Reserved *-----------------------------------------------------------------------*/ #ifndef __USER_H_ #define __USER_H_ class CFSPlayer; ///////////////////////////////////////////////////////////////////////////// // CAdminUser class ATL_NO_VTABLE CAdminUser : public IDispatchImpl, public ISupportErrorInfo, public CAdminLimb, public CComObjectRootEx, public CComCoClass { // Declarations public: DECLARE_REGISTRY_RESOURCEID(IDR_USER) DECLARE_PROTECT_FINAL_CONSTRUCT() // Interface Map public: BEGIN_COM_MAP(CAdminUser) COM_INTERFACE_ENTRY(IAdminUser) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(ISupportErrorInfo) END_COM_MAP() // Category Map public: BEGIN_CATEGORY_MAP(CAdminUser) IMPLEMENTED_CATEGORY(CATID_AllegianceAdmin) END_CATEGORY_MAP() // Construction / Destruction public: CAdminUser() : m_fWantChat(false) { } virtual ~CAdminUser() { } // ISupportsErrorInfo Interface Methods public: STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid); // IAdminUser Interface Methods public: STDMETHODIMP get_Name(BSTR* pbstr); STDMETHODIMP SendMsg(BSTR bstrMessage); STDMETHODIMP get_isReady(VARIANT_BOOL* pVal); STDMETHODIMP put_isReady(VARIANT_BOOL Val); STDMETHODIMP get_Ship(IAdminShip** ppShip); STDMETHODIMP Boot(); STDMETHODIMP get_UserID(AdminUserID *userid); STDMETHODIMP get_UniqueID(AGCUniqueID *uniqueID); STDMETHODIMP get_PlayerStats(IAGCEvent** ppStats); // CAdminUser public: void Init(CFSPlayer *pPlayer); // finish construction const BOOL& bWantChat() { return m_fWantChat; } static AdminUserID DetermineID(CFSPlayer * pPlayer); // Data Members protected: CFSPlayer * m_pPlayer; IshipIGC * m_pIshipIGC; // here for speed and reduced code size BOOL m_fWantChat; // should we fire off chat events? }; ///////////////////////////////////////////////////////////////////////////// #endif //__USER_H_