restemplate/indy/Protocols/IdFTPServerContextBase.pas

98 lines
2.7 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.0 8/24/2003 06:47:42 PM JPMugaas
FTPContext base class so that the ThreadClass may be shared with the
FileSystem classes.
}
unit IdFTPServerContextBase;
{
This is for a basic thread class that can be shared with the FTP File System
component and any other file system class so they can share more information
than just the Username
}
interface
{$i IdCompilerDefines.inc}
uses
IdCustomTCPServer, IdFTPList;
type
TIdFTPUserType = (utNone, utAnonymousUser, utNormalUser);
TIdFTPServerContextBase = class(TIdServerContext)
protected
FUserType: TIdFTPUserType;
FAuthenticated: Boolean;
FALLOSize: Integer;
FCurrentDir: TIdFTPFileName;
FHomeDir: TIdFTPFileName;
FHost : String;
FUsername: string;
FPassword: string;
FAccount : String;
FAccountNeeded : Boolean;
FRESTPos: Integer;
FRNFR: string;
FNLSTUtf8: Boolean;
procedure ReInitialize; virtual;
public
property Authenticated: Boolean read FAuthenticated write FAuthenticated;
property ALLOSize: Integer read FALLOSize write FALLOSize;
property CurrentDir: TIdFTPFileName read FCurrentDir write FCurrentDir;
property HomeDir: TIdFTPFileName read FHomeDir write FHomeDir;
property Password: string read FPassword write FPassword;
property Username: string read FUsername write FUsername;
property Account : String read FAccount write FAccount;
property AccountNeeded : Boolean read FAccountNeeded write FAccountNeeded;
//for virtual domains
property Host: string read FHost write FHost;
property UserType: TIdFTPUserType read FUserType write FUserType;
property RESTPos: Integer read FRESTPos write FRESTPos;
property RNFR: string read FRNFR write FRNFR;
property NLSTUtf8: Boolean read FNLSTUtf8 write FNLSTUtf8;
end;
implementation
{ TIdFTPServerContextBase }
procedure TIdFTPServerContextBase.ReInitialize;
begin
UserType := utNone;
FAuthenticated := False;
FALLOSize := 0;
FCurrentDir := '/'; {Do not Localize}
FHomeDir := ''; {Do not Localize}
FHost := ''; {Do not localize}
FUsername := ''; {Do not Localize}
FPassword := ''; {Do not Localize}
FAccount := ''; {Do not localize}
FRESTPos := 0;
FRNFR := ''; {Do not Localize}
FNLSTUtf8 := False;
FAccountNeeded := False;
end;
end.