// help.h #ifndef HELP_H #define HELP_H extern void LoadAllHelp (FILE *fp); class CHelpData { friend class CHelpList; public: CHelpData () { memset (this, 0, sizeof (CHelpData)); } ~CHelpData (); CString GetKey () { return m_pKey; } void SetKey (char* k) { STRFREE (m_pKey); m_pKey = k; } CString GetText () { return m_pText; } void SetText (char* t) { STRFREE (m_pText); m_pText = t; } short GetLevel () { return m_Level; } void SetLevel (short l) { m_Level = l; } const char *GetTextPtr () { return m_pText; } BOOL IsLastKey () { return m_pKey [0] == 0 || m_pKey [0] == '$'; } BOOL IsEmpty () { if (! m_pKey || ! m_pText) return TRUE; return m_pKey [0] == 0 || m_pText [0] == 0; } BOOL operator== (CHelpData& in); BOOL operator> (CHelpData& in); BOOL operator< (CHelpData& in); protected: short m_Level; char *m_pKey; char *m_pText; // STRALLOC }; class CHelpList : public CPtrList { public: void Add (CHelpData *pHelp); CHelpData *Find (const char* key, int level, int TrustLevel); void Remove (CHelpData* pHelp); void RemoveAll (); // override of CPtrList RemoveAll CHelpData *GetNext (POSITION& pos) { return (CHelpData*) CPtrList::GetNext (pos); } }; extern CHelpList HelpList; #ifdef SMAUGSERVER_CPP CHelpList HelpList; #endif #endif