{ $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.