#ifndef __ADMINGAME_H_
#define __ADMINGAME_H_
#include "..\AGC\IAGCGameImpl.h"
class CAdminUsers;
class ATL_NO_VTABLE CAdminGame :
public IAGCGameImpl<CAdminGame, CFSMission, IAdminGame, &LIBID_ALLEGIANCESERVERLib>,
public CAdminSponsor<CAdminUsers>,
public CComCoClass<CAdminGame, &CLSID_AdminGame>
{
public:
DECLARE_REGISTRY_RESOURCEID(IDR_ADMINGAME)
DECLARE_PROTECT_FINAL_CONSTRUCT()
DECLARE_AGC_TYPE(admin)
public:
BEGIN_COM_MAP(CAdminGame)
COM_INTERFACE_ENTRY(IAdminGame)
COM_INTERFACE_ENTRIES_IAGCGameImpl()
END_COM_MAP()
public:
BEGIN_CATEGORY_MAP(CAdminGame)
IMPLEMENTED_CATEGORY(CATID_AllegianceAdmin)
END_CATEGORY_MAP()
public:
CAdminGame();
void Init(ImissionIGC* pIGC);
void FinalRelease();
public:
STDMETHODIMP get_GameParameters(IAGCGameParameters** ppParams); public:
STDMETHODIMP SendMsg(BSTR bstrMessage);
STDMETHODIMP Kill();
STDMETHODIMP get_Users(IAdminUsers** ppUsers);
STDMETHODIMP get_GameOwnerUser(IAdminUser** ppUser);
STDMETHODIMP StartGame();
STDMETHODIMP get_Description(BSTR * pbstrDescription);
STDMETHODIMP StartCountdown();
STDMETHODIMP SetTeamName(int iSideID, BSTR bstrName);
STDMETHODIMP OverrideTechBit(int iSideID, int nTechBitID, BOOL bSetting);
STDMETHODIMP SetDetailsFiles(BSTR bstrName);
STDMETHODIMP RandomizeTeams();
public:
protected:
CAdminUsers* m_pUsers;
};
#endif