#ifndef __ADMINShip_H_
#define __ADMINShip_H_
/*-------------------------------------------------------------------------
* fedsrv\AdminShip.H
*
* Declaration of the CAdminShip.
*
* Owner:
*
* Copyright 1986-2000 Microsoft Corporation, All Rights Reserved
*-----------------------------------------------------------------------*/
#include "..\AGC\IAGCShipImpl.h"
/////////////////////////////////////////////////////////////////////////////
// Forward Declarations
class CAdminUsers;
/////////////////////////////////////////////////////////////////////////////
// Conversion Function Templates
template <>
inline IshipIGC* Host2Igc(CFSShip* p)
{
return p->GetIGCShip();
}
template <>
inline CFSShip* Igc2Host(IshipIGC* p)
{
return reinterpret_cast<CFSShip*>(p->GetPrivateData());
}
/////////////////////////////////////////////////////////////////////////////
// CAdminShip
class ATL_NO_VTABLE CAdminShip :
public IAGCShipImpl<CAdminShip, CFSShip, IAdminShip, &LIBID_ALLEGIANCESERVERLib>,
public CComCoClass<CAdminShip, &CLSID_AdminShip>
{
// Declarations
public:
DECLARE_REGISTRY_RESOURCEID(IDR_ADMINSHIP)
DECLARE_PROTECT_FINAL_CONSTRUCT()
// Interface Map
public:
BEGIN_COM_MAP(CAdminShip)
COM_INTERFACE_ENTRY(IAdminShip)
COM_INTERFACE_ENTRIES_IAGCShipImpl()
END_COM_MAP()
// Category Map
public:
BEGIN_CATEGORY_MAP(CAdminShip)
IMPLEMENTED_CATEGORY(CATID_AllegianceAdmin)
END_CATEGORY_MAP()
// Construction
public:
CAdminShip();
// IAdminShip Interface Methods
public:
STDMETHODIMP get_User(IAdminUser** ppUser);
};
/////////////////////////////////////////////////////////////////////////////
#endif //__ADMINShip_H_