class IZonePlayer;
class IZoneSquad;
class CMembership;
typedef TListListWrapper<TRef<IZonePlayer> > XZonePlayers;
typedef TListListWrapper<TRef<IZoneSquad> > XSquads;
typedef TListListWrapper<TRef<CMembership> > XMemberships;
typedef XZonePlayers::Iterator XZonePlayersIt;
typedef XSquads::Iterator XSquadsIt;
typedef XMemberships::Iterator XMembershipsIt;
class IZoneSquad:
public IObject,
public ISquadBase
{
public:
virtual char *GetName() = 0;
virtual void SetName(PCC szName) = 0;
virtual int GetID() = 0; virtual void SetID(int nID) = 0;
virtual int GetCreationID() = 0; virtual void SetCreationID(int nCreationID) = 0;
virtual char *GetDescription() = 0;
virtual void SetDescription(PCC szDescription) = 0;
virtual char *GetURL() = 0;
virtual void SetURL(PCC szURL) = 0;
virtual char *GetInceptionDate() = 0;
virtual void SetInceptionDate(char *szInceptionDate) = 0;
virtual TRef<IZonePlayer> GetOwner() = 0;
virtual char const * GetRank() = 0;
virtual int GetRanking(SQUAD_SORT_COLUMN column) = 0;
virtual void SetRanking(SQUAD_SORT_COLUMN column, int nRanking) = 0;
virtual int GetWins() = 0;
virtual void SetWins(int nWins) = 0;
virtual int GetLosses() = 0;
virtual void SetLosses(int nLosses) = 0;
virtual CivID GetCivID() = 0;
virtual void SetCivID(int id) = 0;
virtual short GetScore() = 0;
virtual void SetScore(short nScore) = 0;
virtual void SetDetailsReceived() = 0;
virtual bool WereDetailsReceived() = 0; virtual void AddJoinRequest(IZonePlayer & pPlayer) = 0;
virtual void RejectPlayer(IZonePlayer & pPlayer) = 0; virtual void CancelJoinRequest(IZonePlayer & pPlayer) = 0;
virtual void AddPlayer(IZonePlayer & player, IMemberBase::DetailedStatus detailedstatus) = 0;
virtual void SetStatus(IZonePlayer & player, IMemberBase::DetailedStatus detailedstatus) = 0; virtual void BootPlayer(IZonePlayer & pPlayer) = 0;
virtual void QuitPlayer(IZonePlayer & player) = 0;
virtual void SetEmpty() = 0; virtual void SetOwnershipLog(char *szLog) = 0;
virtual TList<ZString> * GetOwnershipLog() = 0;
virtual void AddPlayersToList(XZonePlayers & list) = 0;
};
TRef<IZoneSquad> CreateZoneSquad();
class IZonePlayer:
public IObject,
public IMemberBase
{
public:
virtual void Randomize() = 0; virtual char * GetName() = 0;
virtual void SetName(PCC szName) = 0;
virtual int GetID() = 0;
virtual void SetID(int nID) = 0;
virtual char * GetLastPlayedDate(IZoneSquad & squad) = 0;
virtual void SetLastPlayedDate(IZoneSquad & squad, PCC szLastPlayedDate) = 0;
virtual DetailedStatus GetStatus(IZoneSquad & squad) = 0;
virtual Rank GetRank() = 0;
virtual void SetRank(Rank rank) = 0;
virtual Position GetPosition(IZoneSquad & squad) = 0;
virtual void SetPosition(IZoneSquad & squad, Position pos) = 0; virtual float GetHours(IZoneSquad & squad) = 0;
virtual void SetHours(IZoneSquad & squad, float fHours) = 0;
virtual bool IsMemberOf(IZoneSquad & squad) = 0; virtual bool IsPendingFor(IZoneSquad & squad) = 0;
};
TRef<IZonePlayer> CreateZonePlayer(const char *szName, int nID);