| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- {
- $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.6 1/21/2004 1:44:16 PM JPMugaas
- InitComponent
- Rev 1.5 10/16/2003 11:11:18 PM DSiders
- Added localization comments.
- Rev 1.4 2003.06.13 6:57:12 PM czhower
- Speed improvement
- Rev 1.2 6/13/2003 07:58:48 AM JPMugaas
- Should now compile with new decoder design.
- Rev 1.1 2003.06.13 3:41:20 PM czhower
- Optimizaitions.
- Rev 1.0 11/14/2002 02:15:06 PM JPMugaas
- }
- unit IdCoderUUE;
- {$i IdCompilerDefines.inc}
- interface
- uses
- {$IFDEF WORKAROUND_INLINE_CONSTRUCTORS}
- Classes,
- {$ENDIF}
- IdCoder00E, IdCoder3to4;
- type
- TIdDecoderUUE = class(TIdDecoder00E)
- protected
- procedure InitComponent; override;
- {$IFDEF WORKAROUND_INLINE_CONSTRUCTORS}
- public
- constructor Create(AOwner: TComponent); reintroduce; overload;
- {$ENDIF}
- end;
- TIdEncoderUUE = class(TIdEncoder00E)
- protected
- procedure InitComponent; override;
- {$IFDEF WORKAROUND_INLINE_CONSTRUCTORS}
- public
- constructor Create(AOwner: TComponent); reintroduce; overload;
- {$ENDIF}
- end;
- const
- // Note the embedded '
- GUUECodeTable: string = '`!"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_'; {do not localize}
- var
- GUUEDecodeTable: TIdDecodeTable;
- implementation
- uses
- IdGlobal;
- { TIdEncoderUUE }
- {$IFDEF WORKAROUND_INLINE_CONSTRUCTORS}
- constructor TIdEncoderUUE.Create(AOwner: TComponent);
- begin
- inherited Create(AOwner);
- end;
- {$ENDIF}
- procedure TIdEncoderUUE.InitComponent;
- begin
- inherited InitComponent;
- FCodingTable := ToBytes(GUUECodeTable);
- FFillChar := GUUECodeTable[1];
- end;
- { TIdDecoderUUE }
- {$IFDEF WORKAROUND_INLINE_CONSTRUCTORS}
- constructor TIdDecoderUUE.Create(AOwner: TComponent);
- begin
- inherited Create(AOwner);
- end;
- {$ENDIF}
- procedure TIdDecoderUUE.InitComponent;
- begin
- inherited InitComponent;
- FDecodeTable := GUUEDecodeTable;
- FFillChar := GUUECodeTable[1];
- end;
- initialization
- TIdDecoder00E.ConstructDecodeTable(GUUECodeTable, GUUEDecodeTable);
- // Older UUEncoders use space instead of `. This way we account for both.
- GUUEDecodeTable[Ord(' ')] := GUUEDecodeTable[Ord('`')];
- end.
|