zUserOnline
============================================================================

	Summary  A non-view class for user/node status management.

	Remarks  There are a number of programs that display the node status
	         in ProBoard. Invariably, they use a file to specify the
	         information displayed. A lot of online utilities support
	         those by writing identification text to the appropriate
	         file(s). This class provides a seamless interface to two
	         of the more popular pexen. UserDoes, a shareware program
	         written by Eddie Van Loon, and Doing, a freeware program with
	         explicit OS/2 support written by Sarah and Faye Pearson.
             Providing the interface to these programs by Silicon Creations
             does not constitute any type of endorsement. I am in no way
             affiliated with any of the authors regarding these particular
             programs. This class is provided as a service to ProBoard
             programmers only.

	Notes    The description will not be removed automatically by the
	         class destructor. This means that you must call the Remove()
	         member function before your program terminates to clear the
	         status.


	ZUSERONLINE::ZUSERONLINE
	-----------------------------------------------------------------------

		Summary  Constructs the user online object.

		Syntax   zUserOnline(Boolean UserDoes = True, Boolean Doing = True);

		Remarks  This constructor is used to specify which interface you
		         want supported. The defaul will support both UserDoes and
		         Doing status files.


	ZUSERONLINE::CREATE
	-----------------------------------------------------------------------

		Summary  Creates the text description for a node.

		Syntax   void Create(short nNode, char *text);

		Remarks  This creates the description for node 'nNode' and sets
		         it to 'text'. Note that the specification for both programs
		         require that the length of the text is limited. This will
		         be handled internally by the class. Depending on what
		         support you have enabled in the constructor, the appropriate
		         file(s) will be modified. If the Doing-compatible file does
		         not exist, a new one will be initialized for all nodes of
		         the BBS (number will be retrieved from the configuration).

		Return   Nothing.

		Example  useron.Create(1, "This is a sample text");

		See also zUserOnline::Remove


	ZUSERONLINE::REMOVE
	-----------------------------------------------------------------------

		Summary  Remove the description for a node.

		Syntax   void Remove(short nNode);

		Remarks  This member function is used to clear the online status
		         for the node 'nNode'. You must call this routine before
		         your program terminates because it will not be cleared
		         automatically by the destructor. This is a feature.

		Return   Nothing.

		Example  useron.Remove(2);  // clear status for node 2

		See also zUserOnline::Create


	ZUSERONLINE::GETUSERDOES
	----------------------------------------------------------------------

		Summary  Retrieve UserDoes status for a node.

		Syntax   char *GetUserDoes(short nNode, char *text);

		Remarks  This routine retrieves the text from the UserDoes status
		         file for node 'nNode' and places it into the 'text'
		         buffer. This buffer must be large enough to hold at
		         least 22 characters, including the terminating NUL. If
		         there is no online information available, text will
		         contain an empty string ("").

		Return   text

		See also zUserOnline::GetDoing


	ZUSERONLINE::GETDOING
	----------------------------------------------------------------------

		Summary  Retrieve Doing status for a node.

		Syntax   char *GetDoing(short nNode, char *text);

		Remarks  This routine retrieves the text from the Doing status
		         file for node 'nNode' and places it into the 'text'
		         buffer. This buffer must be large enough to hold at
		         least 31 characters, including the terminating NUL. If
		         there is no online information available, text will
		         contain an empty string ("").

		Return   text

		See also zUserOnline::GetUserDoes

