restemplate/indy/Protocols/IdRexec.pas

100 lines
2.1 KiB
Plaintext

{
$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.2 1/21/2004 3:27:18 PM JPMugaas
InitComponent
Rev 1.1 4/4/2003 8:02:58 PM BGooijen
made host published
Rev 1.0 11/13/2002 07:59:46 AM JPMugaas
-2001.05.18 - J. Peter Mugaas
I removed the property for forcing client ports
into a specific range. This was not necessary
for Rexec. It is required for the TIdRSH Component
-2001.02.15 - J. Peter Mugaas
I moved most of the Rexec code to
TIdRemoteCMDClient and TIdRexec now inherits
from that class. This change was necessary to
reduce duplicate code with a new addition, IdRSH.
-2001.02.14 - J. Peter Mugaas
Made it more complient with Rexec servers
and handled the #0 or error indicator
-2001.02.13 - Modified by Kudzu
-2000.10.24 - Original Author: Laurence LIew
}
unit IdRexec;
{
Indy Rexec Client TIdRexec
Copyright (C) 2001 Winshoes Working Group
Original author Laurence LIew
2000-October-24
}
interface
{$i IdCompilerDefines.inc}
uses
IdAssignedNumbers,
IdRemoteCMDClient,
IdTCPClient;
type
TIdRexec = class(TIdRemoteCMDClient)
protected
procedure InitComponent; override;
public
Function Execute(ACommand: String): String; override;
published
property Username;
property Password;
property Port default Id_PORT_exec;
property Host;
end;
implementation
uses
IdComponent,
IdGlobal,
IdSimpleServer,
IdTCPConnection,
IdThread;
procedure TIdRexec.InitComponent;
begin
inherited;
Port := Id_PORT_exec;
{Rexec does not require ports to be in a specific range}
FUseReservedPorts := False;
end;
function TIdRexec.Execute(ACommand: String): String;
begin
Result := InternalExec(UserName,Password,ACommand);
end;
end.