473 lines
18 KiB
C++
473 lines
18 KiB
C++
// Borland C++ Builder
|
|
// Copyright (c) 1995, 2005 by Borland Software Corporation
|
|
// All rights reserved
|
|
|
|
// (DO NOT EDIT: machine generated header) 'Jvurlgrabbers.pas' rev: 10.00
|
|
|
|
#ifndef JvurlgrabbersHPP
|
|
#define JvurlgrabbersHPP
|
|
|
|
#pragma delphiheader begin
|
|
#pragma option push
|
|
#pragma option -w- // All warnings off
|
|
#pragma option -Vx // Zero-length empty class member functions
|
|
#pragma pack(push,8)
|
|
#include <System.hpp> // Pascal unit
|
|
#include <Sysinit.hpp> // Pascal unit
|
|
#include <Windows.hpp> // Pascal unit
|
|
#include <Contnrs.hpp> // Pascal unit
|
|
#include <Classes.hpp> // Pascal unit
|
|
#include <Sysutils.hpp> // Pascal unit
|
|
#include <Jvurllistgrabber.hpp> // Pascal unit
|
|
#include <Jvtypes.hpp> // Pascal unit
|
|
|
|
//-- user supplied -----------------------------------------------------------
|
|
#pragma link "wininet.lib"
|
|
|
|
namespace Jvurlgrabbers
|
|
{
|
|
//-- type declarations -------------------------------------------------------
|
|
#pragma option push -b-
|
|
enum TJvProxyMode { pmNoProxy, pmSysConfig, pmManual };
|
|
#pragma option pop
|
|
|
|
class DELPHICLASS TJvProxyingUrlGrabber;
|
|
class PASCALIMPLEMENTATION TJvProxyingUrlGrabber : public Jvurllistgrabber::TJvCustomUrlGrabber
|
|
{
|
|
typedef Jvurllistgrabber::TJvCustomUrlGrabber inherited;
|
|
|
|
protected:
|
|
AnsiString FProxyAddresses;
|
|
TJvProxyMode FProxyMode;
|
|
AnsiString FProxyIgnoreList;
|
|
AnsiString FProxyUserName;
|
|
AnsiString FProxyPassword;
|
|
__property TJvProxyMode ProxyMode = {read=FProxyMode, write=FProxyMode, default=1};
|
|
__property AnsiString ProxyAddresses = {read=FProxyAddresses, write=FProxyAddresses};
|
|
__property AnsiString ProxyIgnoreList = {read=FProxyIgnoreList, write=FProxyIgnoreList};
|
|
__property AnsiString ProxyUserName = {read=FProxyUserName, write=FProxyUserName};
|
|
__property AnsiString ProxyPassword = {read=FProxyPassword, write=FProxyPassword};
|
|
|
|
public:
|
|
__fastcall virtual TJvProxyingUrlGrabber(Classes::TComponent* AOwner)/* overload */;
|
|
__fastcall TJvProxyingUrlGrabber(Classes::TComponent* AOwner, AnsiString AUrl, Jvurllistgrabber::TJvCustomUrlGrabberDefaultProperties* DefaultProperties)/* overload */;
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomUrlGrabber.Destroy */ inline __fastcall virtual ~TJvProxyingUrlGrabber(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvProxyingUrlGrabberDefaultProperties;
|
|
class PASCALIMPLEMENTATION TJvProxyingUrlGrabberDefaultProperties : public Jvurllistgrabber::TJvCustomUrlGrabberDefaultProperties
|
|
{
|
|
typedef Jvurllistgrabber::TJvCustomUrlGrabberDefaultProperties inherited;
|
|
|
|
protected:
|
|
AnsiString FProxyAddresses;
|
|
TJvProxyMode FProxyMode;
|
|
AnsiString FProxyIgnoreList;
|
|
AnsiString FProxyUserName;
|
|
AnsiString FProxyPassword;
|
|
__property TJvProxyMode ProxyMode = {read=FProxyMode, write=FProxyMode, default=1};
|
|
__property AnsiString ProxyAddresses = {read=FProxyAddresses, write=FProxyAddresses};
|
|
__property AnsiString ProxyIgnoreList = {read=FProxyIgnoreList, write=FProxyIgnoreList};
|
|
__property AnsiString ProxyUserName = {read=FProxyUserName, write=FProxyUserName};
|
|
__property AnsiString ProxyPassword = {read=FProxyPassword, write=FProxyPassword};
|
|
|
|
public:
|
|
__fastcall virtual TJvProxyingUrlGrabberDefaultProperties(Jvurllistgrabber::TJvUrlGrabberDefaultPropertiesList* AOwner);
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomUrlGrabberDefaultProperties.Destroy */ inline __fastcall virtual ~TJvProxyingUrlGrabberDefaultProperties(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
#pragma option push -b-
|
|
enum TJvFtpDownloadMode { hmBinary, hmAscii };
|
|
#pragma option pop
|
|
|
|
class DELPHICLASS TJvFtpUrlGrabberDefaultProperties;
|
|
class PASCALIMPLEMENTATION TJvFtpUrlGrabberDefaultProperties : public TJvProxyingUrlGrabberDefaultProperties
|
|
{
|
|
typedef TJvProxyingUrlGrabberDefaultProperties inherited;
|
|
|
|
protected:
|
|
bool FPassive;
|
|
TJvFtpDownloadMode FMode;
|
|
virtual AnsiString __fastcall GetSupportedURLName();
|
|
|
|
public:
|
|
virtual void __fastcall Assign(Classes::TPersistent* Source);
|
|
__fastcall virtual TJvFtpUrlGrabberDefaultProperties(Jvurllistgrabber::TJvUrlGrabberDefaultPropertiesList* AOwner);
|
|
|
|
__published:
|
|
__property Agent ;
|
|
__property UserName ;
|
|
__property Password ;
|
|
__property ProxyMode = {default=1};
|
|
__property ProxyAddresses ;
|
|
__property ProxyIgnoreList ;
|
|
__property ProxyUserName ;
|
|
__property ProxyPassword ;
|
|
__property Port = {default=21};
|
|
__property bool Passive = {read=FPassive, write=FPassive, default=1};
|
|
__property TJvFtpDownloadMode Mode = {read=FMode, write=FMode, default=0};
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomUrlGrabberDefaultProperties.Destroy */ inline __fastcall virtual ~TJvFtpUrlGrabberDefaultProperties(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvFtpUrlGrabber;
|
|
class PASCALIMPLEMENTATION TJvFtpUrlGrabber : public TJvProxyingUrlGrabber
|
|
{
|
|
typedef TJvProxyingUrlGrabber inherited;
|
|
|
|
protected:
|
|
bool FPassive;
|
|
TJvFtpDownloadMode FMode;
|
|
virtual TMetaClass* __fastcall GetGrabberThreadClass(void);
|
|
virtual void __fastcall DoStatus(void);
|
|
|
|
public:
|
|
__fastcall virtual TJvFtpUrlGrabber(Classes::TComponent* AOwner)/* overload */;
|
|
__fastcall TJvFtpUrlGrabber(Classes::TComponent* AOwner, AnsiString AUrl, Jvurllistgrabber::TJvCustomUrlGrabberDefaultProperties* DefaultProperties)/* overload */;
|
|
#pragma option push -w-inl
|
|
/* virtual class method */ virtual bool __fastcall CanGrab(const AnsiString Url) { return CanGrab(__classid(TJvFtpUrlGrabber), Url); }
|
|
#pragma option pop
|
|
/* class method */ static bool __fastcall CanGrab(TMetaClass* vmt, const AnsiString Url);
|
|
#pragma option push -w-inl
|
|
/* virtual class method */ virtual TMetaClass* __fastcall GetDefaultPropertiesClass() { return GetDefaultPropertiesClass(__classid(TJvFtpUrlGrabber)); }
|
|
#pragma option pop
|
|
/* class method */ static TMetaClass* __fastcall GetDefaultPropertiesClass(TMetaClass* vmt);
|
|
#pragma option push -w-inl
|
|
/* virtual class method */ virtual AnsiString __fastcall GetSupportedProtocolMarker() { return GetSupportedProtocolMarker(__classid(TJvFtpUrlGrabber)); }
|
|
#pragma option pop
|
|
/* class method */ static AnsiString __fastcall GetSupportedProtocolMarker(TMetaClass* vmt);
|
|
#pragma option push -w-inl
|
|
/* virtual class method */ virtual AnsiString __fastcall GetSupportedURLName() { return GetSupportedURLName(__classid(TJvFtpUrlGrabber)); }
|
|
#pragma option pop
|
|
/* class method */ static AnsiString __fastcall GetSupportedURLName(TMetaClass* vmt);
|
|
|
|
__published:
|
|
__property bool Passive = {read=FPassive, write=FPassive, default=1};
|
|
__property TJvFtpDownloadMode Mode = {read=FMode, write=FMode, default=0};
|
|
__property UserName ;
|
|
__property Password ;
|
|
__property FileName ;
|
|
__property OutputMode = {default=0};
|
|
__property Agent ;
|
|
__property Url ;
|
|
__property ProxyMode = {default=1};
|
|
__property ProxyAddresses ;
|
|
__property ProxyIgnoreList ;
|
|
__property ProxyUserName ;
|
|
__property ProxyPassword ;
|
|
__property Port = {default=21};
|
|
__property OnDoneFile ;
|
|
__property OnDoneStream ;
|
|
__property OnError ;
|
|
__property OnProgress ;
|
|
__property OnResolvingName ;
|
|
__property OnNameResolved ;
|
|
__property OnConnectingToServer ;
|
|
__property OnConnectedToServer ;
|
|
__property OnSendingRequest ;
|
|
__property OnRequestSent ;
|
|
__property OnRequestComplete ;
|
|
__property OnReceivingResponse ;
|
|
__property OnResponseReceived ;
|
|
__property OnClosingConnection ;
|
|
__property OnConnectionClosed ;
|
|
__property OnRedirect ;
|
|
__property OnStatusChange ;
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomUrlGrabber.Destroy */ inline __fastcall virtual ~TJvFtpUrlGrabber(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvFtpUrlGrabberThread;
|
|
class PASCALIMPLEMENTATION TJvFtpUrlGrabberThread : public Jvurllistgrabber::TJvCustomUrlGrabberThread
|
|
{
|
|
typedef Jvurllistgrabber::TJvCustomUrlGrabberThread inherited;
|
|
|
|
protected:
|
|
TJvFtpUrlGrabber* __fastcall GetGrabber(void);
|
|
void __fastcall Closed(void);
|
|
virtual void __fastcall Execute(void);
|
|
|
|
public:
|
|
__property TJvFtpUrlGrabber* Grabber = {read=GetGrabber};
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomUrlGrabberThread.Create */ inline __fastcall virtual TJvFtpUrlGrabberThread(Jvurllistgrabber::TJvCustomUrlGrabber* Grabber) : Jvurllistgrabber::TJvCustomUrlGrabberThread(Grabber) { }
|
|
#pragma option pop
|
|
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TThread.Destroy */ inline __fastcall virtual ~TJvFtpUrlGrabberThread(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvHttpUrlGrabber;
|
|
class PASCALIMPLEMENTATION TJvHttpUrlGrabber : public TJvProxyingUrlGrabber
|
|
{
|
|
typedef TJvProxyingUrlGrabber inherited;
|
|
|
|
private:
|
|
AnsiString FReferer;
|
|
|
|
protected:
|
|
virtual TMetaClass* __fastcall GetGrabberThreadClass(void);
|
|
virtual void __fastcall DoStatus(void);
|
|
|
|
public:
|
|
__fastcall TJvHttpUrlGrabber(Classes::TComponent* AOwner, AnsiString AUrl, Jvurllistgrabber::TJvCustomUrlGrabberDefaultProperties* DefaultProperties);
|
|
#pragma option push -w-inl
|
|
/* virtual class method */ virtual bool __fastcall CanGrab(const AnsiString Url) { return CanGrab(__classid(TJvHttpUrlGrabber), Url); }
|
|
#pragma option pop
|
|
/* class method */ static bool __fastcall CanGrab(TMetaClass* vmt, const AnsiString Url);
|
|
#pragma option push -w-inl
|
|
/* virtual class method */ virtual TMetaClass* __fastcall GetDefaultPropertiesClass() { return GetDefaultPropertiesClass(__classid(TJvHttpUrlGrabber)); }
|
|
#pragma option pop
|
|
/* class method */ static TMetaClass* __fastcall GetDefaultPropertiesClass(TMetaClass* vmt);
|
|
#pragma option push -w-inl
|
|
/* virtual class method */ virtual AnsiString __fastcall GetSupportedProtocolMarker() { return GetSupportedProtocolMarker(__classid(TJvHttpUrlGrabber)); }
|
|
#pragma option pop
|
|
/* class method */ static AnsiString __fastcall GetSupportedProtocolMarker(TMetaClass* vmt);
|
|
#pragma option push -w-inl
|
|
/* virtual class method */ virtual AnsiString __fastcall GetSupportedURLName() { return GetSupportedURLName(__classid(TJvHttpUrlGrabber)); }
|
|
#pragma option pop
|
|
/* class method */ static AnsiString __fastcall GetSupportedURLName(TMetaClass* vmt);
|
|
|
|
__published:
|
|
__property AnsiString Referer = {read=FReferer, write=FReferer};
|
|
__property UserName ;
|
|
__property Password ;
|
|
__property FileName ;
|
|
__property OutputMode = {default=0};
|
|
__property Agent ;
|
|
__property Url ;
|
|
__property Port = {default=80};
|
|
__property ProxyMode = {default=1};
|
|
__property ProxyAddresses ;
|
|
__property ProxyIgnoreList ;
|
|
__property ProxyUserName ;
|
|
__property ProxyPassword ;
|
|
__property OnDoneFile ;
|
|
__property OnDoneStream ;
|
|
__property OnError ;
|
|
__property OnProgress ;
|
|
__property OnResolvingName ;
|
|
__property OnNameResolved ;
|
|
__property OnConnectingToServer ;
|
|
__property OnConnectedToServer ;
|
|
__property OnSendingRequest ;
|
|
__property OnRequestSent ;
|
|
__property OnRequestComplete ;
|
|
__property OnReceivingResponse ;
|
|
__property OnResponseReceived ;
|
|
__property OnClosingConnection ;
|
|
__property OnConnectionClosed ;
|
|
__property OnRedirect ;
|
|
__property OnStatusChange ;
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomUrlGrabber.Destroy */ inline __fastcall virtual ~TJvHttpUrlGrabber(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvHttpUrlGrabberDefaultProperties;
|
|
class PASCALIMPLEMENTATION TJvHttpUrlGrabberDefaultProperties : public TJvProxyingUrlGrabberDefaultProperties
|
|
{
|
|
typedef TJvProxyingUrlGrabberDefaultProperties inherited;
|
|
|
|
private:
|
|
AnsiString FReferer;
|
|
|
|
protected:
|
|
virtual AnsiString __fastcall GetSupportedURLName();
|
|
|
|
public:
|
|
__fastcall virtual TJvHttpUrlGrabberDefaultProperties(Jvurllistgrabber::TJvUrlGrabberDefaultPropertiesList* AOwner);
|
|
|
|
__published:
|
|
__property AnsiString Referer = {read=FReferer, write=FReferer};
|
|
__property Agent ;
|
|
__property UserName ;
|
|
__property Password ;
|
|
__property Port = {default=80};
|
|
__property ProxyMode = {default=1};
|
|
__property ProxyAddresses ;
|
|
__property ProxyIgnoreList ;
|
|
__property ProxyUserName ;
|
|
__property ProxyPassword ;
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomUrlGrabberDefaultProperties.Destroy */ inline __fastcall virtual ~TJvHttpUrlGrabberDefaultProperties(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvHttpUrlGrabberThread;
|
|
class PASCALIMPLEMENTATION TJvHttpUrlGrabberThread : public Jvurllistgrabber::TJvCustomUrlGrabberThread
|
|
{
|
|
typedef Jvurllistgrabber::TJvCustomUrlGrabberThread inherited;
|
|
|
|
protected:
|
|
bool FContinue;
|
|
TJvHttpUrlGrabber* __fastcall GetGrabber(void);
|
|
virtual void __fastcall Execute(void);
|
|
void __fastcall Closed(void);
|
|
|
|
public:
|
|
__fastcall virtual TJvHttpUrlGrabberThread(Jvurllistgrabber::TJvCustomUrlGrabber* Grabber);
|
|
__property TJvHttpUrlGrabber* Grabber = {read=GetGrabber};
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TThread.Destroy */ inline __fastcall virtual ~TJvHttpUrlGrabberThread(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvLocalFileUrlGrabber;
|
|
class PASCALIMPLEMENTATION TJvLocalFileUrlGrabber : public Jvurllistgrabber::TJvCustomUrlGrabber
|
|
{
|
|
typedef Jvurllistgrabber::TJvCustomUrlGrabber inherited;
|
|
|
|
private:
|
|
bool FPreserveAttributes;
|
|
|
|
protected:
|
|
virtual TMetaClass* __fastcall GetGrabberThreadClass(void);
|
|
|
|
public:
|
|
__fastcall virtual TJvLocalFileUrlGrabber(Classes::TComponent* AOwner)/* overload */;
|
|
__fastcall TJvLocalFileUrlGrabber(Classes::TComponent* AOwner, AnsiString AUrl, Jvurllistgrabber::TJvCustomUrlGrabberDefaultProperties* DefaultProperties)/* overload */;
|
|
#pragma option push -w-inl
|
|
/* virtual class method */ virtual bool __fastcall CanGrab(const AnsiString Url) { return CanGrab(__classid(TJvLocalFileUrlGrabber), Url); }
|
|
#pragma option pop
|
|
/* class method */ static bool __fastcall CanGrab(TMetaClass* vmt, const AnsiString Url);
|
|
#pragma option push -w-inl
|
|
/* virtual class method */ virtual TMetaClass* __fastcall GetDefaultPropertiesClass() { return GetDefaultPropertiesClass(__classid(TJvLocalFileUrlGrabber)); }
|
|
#pragma option pop
|
|
/* class method */ static TMetaClass* __fastcall GetDefaultPropertiesClass(TMetaClass* vmt);
|
|
#pragma option push -w-inl
|
|
/* virtual class method */ virtual AnsiString __fastcall GetSupportedProtocolMarker() { return GetSupportedProtocolMarker(__classid(TJvLocalFileUrlGrabber)); }
|
|
#pragma option pop
|
|
/* class method */ static AnsiString __fastcall GetSupportedProtocolMarker(TMetaClass* vmt);
|
|
#pragma option push -w-inl
|
|
/* virtual class method */ virtual AnsiString __fastcall GetSupportedURLName() { return GetSupportedURLName(__classid(TJvLocalFileUrlGrabber)); }
|
|
#pragma option pop
|
|
/* class method */ static AnsiString __fastcall GetSupportedURLName(TMetaClass* vmt);
|
|
virtual void __fastcall ParseUrl(AnsiString Url, AnsiString Protocol, AnsiString &Host, AnsiString &FileName, AnsiString &UserName, AnsiString &Password, unsigned &Port)/* overload */;
|
|
HIDESBASE void __fastcall ParseUrl(const AnsiString Url, AnsiString &FileName)/* overload */;
|
|
|
|
__published:
|
|
__property bool PreserveAttributes = {read=FPreserveAttributes, write=FPreserveAttributes, default=1};
|
|
__property UserName ;
|
|
__property Password ;
|
|
__property FileName ;
|
|
__property OutputMode = {default=0};
|
|
__property Agent ;
|
|
__property Url ;
|
|
__property OnDoneFile ;
|
|
__property OnDoneStream ;
|
|
__property OnError ;
|
|
__property OnProgress ;
|
|
__property OnResolvingName ;
|
|
__property OnNameResolved ;
|
|
__property OnConnectingToServer ;
|
|
__property OnConnectedToServer ;
|
|
__property OnSendingRequest ;
|
|
__property OnRequestSent ;
|
|
__property OnRequestComplete ;
|
|
__property OnReceivingResponse ;
|
|
__property OnResponseReceived ;
|
|
__property OnClosingConnection ;
|
|
__property OnConnectionClosed ;
|
|
__property OnRedirect ;
|
|
__property OnStatusChange ;
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomUrlGrabber.Destroy */ inline __fastcall virtual ~TJvLocalFileUrlGrabber(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvLocalFileUrlGrabberThread;
|
|
class PASCALIMPLEMENTATION TJvLocalFileUrlGrabberThread : public Jvurllistgrabber::TJvCustomUrlGrabberThread
|
|
{
|
|
typedef Jvurllistgrabber::TJvCustomUrlGrabberThread inherited;
|
|
|
|
protected:
|
|
TJvLocalFileUrlGrabber* __fastcall GetGrabber(void);
|
|
virtual void __fastcall Execute(void);
|
|
|
|
public:
|
|
__property TJvLocalFileUrlGrabber* Grabber = {read=GetGrabber};
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomUrlGrabberThread.Create */ inline __fastcall virtual TJvLocalFileUrlGrabberThread(Jvurllistgrabber::TJvCustomUrlGrabber* Grabber) : Jvurllistgrabber::TJvCustomUrlGrabberThread(Grabber) { }
|
|
#pragma option pop
|
|
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TThread.Destroy */ inline __fastcall virtual ~TJvLocalFileUrlGrabberThread(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvLocalFileUrlGrabberProperties;
|
|
class PASCALIMPLEMENTATION TJvLocalFileUrlGrabberProperties : public Jvurllistgrabber::TJvCustomUrlGrabberDefaultProperties
|
|
{
|
|
typedef Jvurllistgrabber::TJvCustomUrlGrabberDefaultProperties inherited;
|
|
|
|
private:
|
|
bool FPreserveAttributes;
|
|
|
|
protected:
|
|
virtual AnsiString __fastcall GetSupportedURLName();
|
|
|
|
public:
|
|
__fastcall virtual TJvLocalFileUrlGrabberProperties(Jvurllistgrabber::TJvUrlGrabberDefaultPropertiesList* AOwner);
|
|
virtual void __fastcall Assign(Classes::TPersistent* Source);
|
|
|
|
__published:
|
|
__property bool PreserveAttributes = {read=FPreserveAttributes, write=FPreserveAttributes, default=1};
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomUrlGrabberDefaultProperties.Destroy */ inline __fastcall virtual ~TJvLocalFileUrlGrabberProperties(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
//-- var, const, procedure ---------------------------------------------------
|
|
|
|
} /* namespace Jvurlgrabbers */
|
|
using namespace Jvurlgrabbers;
|
|
#pragma pack(pop)
|
|
#pragma option pop
|
|
|
|
#pragma delphiheader end.
|
|
//-- end unit ----------------------------------------------------------------
|
|
#endif // Jvurlgrabbers
|