#ifndef T2DLL_T2RETURNSTACK_H #define T2DLL_T2RETURNSTACK_H #include "../common.h" class T2ReturnStack { public: T2ReturnStack(); virtual ~T2ReturnStack(); void Init(); BOOL Current(unsigned int &tenant, unsigned int &time); BOOL Push(unsigned int tenant, unsigned int time); BOOL Pop(unsigned int &tenant, unsigned int &time); BOOL IsSetTime() const; unsigned int GetTenant() const; unsigned int GetTime() const; void SetTime(unsigned int time); void DayChanged(); BOOL Remove(unsigned int tenant); void Peek(int index, unsigned int &tenant, unsigned int &time); void Poke(int index, unsigned int tenant, unsigned int time); void Read(T2Archive &stream, T2TowerDoc *towerDoc); void Write(T2Archive &stream); // TODO: confirm me BOOL IsSet() const { return mCount > 0; } struct Entry { unsigned int tenant, time; }; Entry mEntries[3]; int mCount; }; #endif