prothandler.pas 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. unit prothandler;
  2. interface
  3. {$IFDEF FPC}
  4. {$mode delphi}{$H+}
  5. {$ENDIF}
  6. uses
  7. {$IFDEF UNIX}
  8. {$define usezlib}
  9. {$define useopenssl}
  10. {$ENDIF}
  11. {$IFDEF POSIX}
  12. {$define usezlib}
  13. {$define useopenssl}
  14. {$ENDIF}
  15. {$IFDEF WIN32}
  16. {$define usezlib}
  17. {$define useopenssl}
  18. {$ENDIF}
  19. {$IFDEF WIN64}
  20. {$define usezlib}
  21. {$define useopenssl}
  22. {$ENDIF}
  23. Classes, SysUtils, IdURI;
  24. type
  25. TProtHandler = class(TObject)
  26. protected
  27. FLogData : TStrings;
  28. FVerbose : Boolean;
  29. public
  30. constructor Create;
  31. destructor Destroy; override;
  32. class function CanHandleURL(AURL : TIdURI) : Boolean; virtual; abstract;
  33. procedure GetFile(AURL : TIdURI); virtual; abstract;
  34. property LogData : TStrings read FLogData;
  35. property Verbose : Boolean read FVerbose write FVerbose;
  36. end;
  37. implementation
  38. constructor TProtHandler.Create;
  39. begin
  40. inherited Create;
  41. FLogData := TStringList.Create;
  42. end;
  43. destructor TProtHandler.Destroy;
  44. begin
  45. FreeAndNil(FLogData);
  46. end;
  47. end.