// 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