#ifndef __ADMINGAMES_H_
#define __ADMINGAMES_H_
#include "..\agc\IAGCCollectionImpl.h"
template <>
inline ImissionIGC* Host2Igc(CFSMission* p)
{
return p->GetIGCMission();
}
template <>
inline CFSMission* Igc2Host(ImissionIGC* p)
{
return reinterpret_cast<CFSMission*>(p->GetPrivateData());
}
class ATL_NO_VTABLE CAdminGames :
public IAGCCollectionImpl<CAdminGames, const ListFSMission, IAdminGames,
CFSMission, IAdminGame, &LIBID_ALLEGIANCESERVERLib,
const ListFSMission, IAdminGames, ImissionIGC, IAGCGame>,
public CComCoClass<CAdminGames, &CLSID_AdminGames>
{
public:
DECLARE_REGISTRY_RESOURCEID(IDR_ADMINGAMES)
DECLARE_PROTECT_FINAL_CONSTRUCT()
DECLARE_AGC_TYPE(admin)
public:
BEGIN_COM_MAP(CAdminGames)
COM_INTERFACE_ENTRY(IAdminGames)
COM_INTERFACE_ENTRIES_IAGCCollectionImpl()
END_COM_MAP()
public:
BEGIN_CATEGORY_MAP(CAdminGames)
IMPLEMENTED_CATEGORY(CATID_AllegianceAdmin)
END_CATEGORY_MAP()
public:
STDMETHODIMP Add(IAGCGameParameters* pCreationParameters);
};
#endif