IdMessageCoderQuotedPrintable.pas 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. {
  2. $Project$
  3. $Workfile$
  4. $Revision$
  5. $DateUTC$
  6. $Id$
  7. This file is part of the Indy (Internet Direct) project, and is offered
  8. under the dual-licensing agreement described on the Indy website.
  9. (http://www.indyproject.org/)
  10. Copyright:
  11. (c) 1993-2005, Chad Z. Hower and the Indy Pit Crew. All rights reserved.
  12. }
  13. {
  14. $Log$
  15. }
  16. {
  17. Rev 1.6 2004.05.20 1:39:26 PM czhower
  18. Last of the IdStream updates
  19. Rev 1.5 2004.05.20 11:37:24 AM czhower
  20. IdStreamVCL
  21. Rev 1.4 2004.05.20 11:13:16 AM czhower
  22. More IdStream conversions
  23. Rev 1.3 10/05/2004 23:59:26 CCostelloe
  24. Bug fix
  25. Rev 1.2 2004.02.03 5:45:50 PM czhower
  26. Name changes
  27. Rev 1.1 1/31/2004 3:12:52 AM JPMugaas
  28. Removed dependancy on Math unit. It isn't needed and is problematic in some
  29. versions of Dlephi which don't include it.
  30. Rev 1.0 26/09/2003 01:08:16 CCostelloe
  31. Initial version
  32. }
  33. unit IdMessageCoderQuotedPrintable;
  34. interface
  35. {$i IdCompilerDefines.inc}
  36. // Written by C Costelloe, 23rd September 2003
  37. uses
  38. Classes,
  39. IdMessageCoder,
  40. IdGlobal;
  41. { Note: Decoding handled by IdMessageDecoderMIME }
  42. type
  43. TIdMessageEncoderQuotedPrintable = class(TIdMessageEncoder)
  44. public
  45. procedure Encode(ASrc: TStream; ADest: TStream); override;
  46. end;
  47. TIdMessageEncoderInfoQuotedPrintable = class(TIdMessageEncoderInfo)
  48. public
  49. constructor Create; override;
  50. end;
  51. implementation
  52. uses
  53. IdCoderMIME, IdGlobalProtocols, IdCoderQuotedPrintable,
  54. IdCoderHeader, SysUtils;
  55. { TIdMessageEncoderInfoQuotedPrintable }
  56. constructor TIdMessageEncoderInfoQuotedPrintable.Create;
  57. begin
  58. inherited;
  59. FMessageEncoderClass := TIdMessageEncoderQuotedPrintable;
  60. end;
  61. { TIdMessageEncoderQuotedPrintable }
  62. procedure TIdMessageEncoderQuotedPrintable.Encode(ASrc: TStream; ADest: TStream);
  63. var
  64. LEncoder: TIdEncoderQuotedPrintable;
  65. begin
  66. LEncoder := TIdEncoderQuotedPrintable.Create(nil); try
  67. LEncoder.Encode(ASrc, ADest);
  68. finally FreeAndNil(LEncoder); end;
  69. end;
  70. initialization
  71. TIdMessageEncoderList.RegisterEncoder('QP', TIdMessageEncoderInfoQuotedPrintable.Create); {Do not Localize}
  72. end.