{ $Project$ $Workfile$ $Revision$ $DateUTC$ $Id$ This file is part of the Indy (Internet Direct) project, and is offered under the dual-licensing agreement described on the Indy website. (http://www.indyproject.org/) Copyright: (c) 1993-2005, Chad Z. Hower and the Indy Pit Crew. All rights reserved. } { $Log$ } { Rev 1.4 10/26/2004 10:49:20 PM JPMugaas Updated ref. Rev 1.3 1/21/2004 4:04:04 PM JPMugaas InitComponent Rev 1.2 2/24/2003 10:29:46 PM JPMugaas Rev 1.1 12/6/2002 05:30:38 PM JPMugaas Now decend from TIdTCPClientCustom instead of TIdTCPClient. Rev 1.0 11/13/2002 08:02:24 AM JPMugaas } unit IdSystat; { Indy Systat Client TIdSystat Copyright (C) 2002 Winshoes Working Group Original author J. Peter Mugaas 2002-August-13 Based on RFC 866 Note that this protocol is officially called Active User } interface {$i IdCompilerDefines.inc} uses Classes, IdAssignedNumbers, IdTCPConnection, IdTCPClient; type TIdSystat = class(TIdTCPClientCustom) protected procedure InitComponent; override; public procedure GetStat(ADest : TStrings); published property Port default IdPORT_SYSTAT; end; { Note that no result parsing is done because RFC 866 does not specify a syntax for a user list. Quoted from RFC 866: There is no specific syntax for the user list. It is recommended that it be limited to the ASCII printing characters, space, carriage return, and line feed. Each user should be listed on a separate line. } implementation { TIdSystat } procedure TIdSystat.InitComponent; begin inherited; Port := IdPORT_SYSTAT; end; procedure TIdSystat.GetStat(ADest: TStrings); begin Connect; try ADest.Text := IOHandler.AllData; finally Disconnect; end; end; end.