511 lines
24 KiB
C++
511 lines
24 KiB
C++
// Borland C++ Builder
|
|
// Copyright (c) 1995, 2005 by Borland Software Corporation
|
|
// All rights reserved
|
|
|
|
// (DO NOT EDIT: machine generated header) 'Jvurllistgrabber.pas' rev: 10.00
|
|
|
|
#ifndef JvurllistgrabberHPP
|
|
#define JvurllistgrabberHPP
|
|
|
|
#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 <Classes.hpp> // Pascal unit
|
|
#include <Sysutils.hpp> // Pascal unit
|
|
#include <Contnrs.hpp> // Pascal unit
|
|
#include <Jvcomponentbase.hpp> // Pascal unit
|
|
#include <Jvtypes.hpp> // Pascal unit
|
|
|
|
//-- user supplied -----------------------------------------------------------
|
|
#pragma link "wininet.lib"
|
|
|
|
namespace Jvurllistgrabber
|
|
{
|
|
//-- type declarations -------------------------------------------------------
|
|
typedef int TJvUrlGrabberIndex;
|
|
|
|
class DELPHICLASS TJvUrlListGrabber;
|
|
class DELPHICLASS TJvCustomUrlGrabber;
|
|
typedef void __fastcall (__closure *TJvGrabberNotifyEvent)(TJvUrlListGrabber* Sender, TJvCustomUrlGrabber* Grabber);
|
|
|
|
typedef void __fastcall (__closure *TJvGrabberDoneFileEvent)(TJvUrlListGrabber* Sender, TJvCustomUrlGrabber* Grabber, AnsiString FileName, int FileSize, AnsiString Url);
|
|
|
|
typedef void __fastcall (__closure *TJvGrabberDoneStreamEvent)(TJvUrlListGrabber* Sender, TJvCustomUrlGrabber* Grabber, Classes::TStream* Stream, int StreamSize, AnsiString Url);
|
|
|
|
typedef void __fastcall (__closure *TJvGrabberProgressEvent)(TJvUrlListGrabber* Sender, TJvCustomUrlGrabber* Grabber, __int64 Position, __int64 TotalSize, AnsiString Url, bool &Continue);
|
|
|
|
typedef void __fastcall (__closure *TJvGrabberErrorEvent)(TJvUrlListGrabber* Sender, TJvCustomUrlGrabber* Grabber, AnsiString ErrorMsg);
|
|
|
|
class DELPHICLASS ENoGrabberForUrl;
|
|
class PASCALIMPLEMENTATION ENoGrabberForUrl : public Sysutils::Exception
|
|
{
|
|
typedef Sysutils::Exception inherited;
|
|
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* Exception.Create */ inline __fastcall ENoGrabberForUrl(const AnsiString Msg) : Sysutils::Exception(Msg) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* Exception.CreateFmt */ inline __fastcall ENoGrabberForUrl(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* Exception.CreateRes */ inline __fastcall ENoGrabberForUrl(int Ident)/* overload */ : Sysutils::Exception(Ident) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* Exception.CreateResFmt */ inline __fastcall ENoGrabberForUrl(int Ident, System::TVarRec const * Args, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* Exception.CreateHelp */ inline __fastcall ENoGrabberForUrl(const AnsiString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* Exception.CreateFmtHelp */ inline __fastcall ENoGrabberForUrl(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* Exception.CreateResHelp */ inline __fastcall ENoGrabberForUrl(int Ident, int AHelpContext)/* overload */ : Sysutils::Exception(Ident, AHelpContext) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* Exception.CreateResFmtHelp */ inline __fastcall ENoGrabberForUrl(System::PResStringRec ResStringRec, System::TVarRec const * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(ResStringRec, Args, Args_Size, AHelpContext) { }
|
|
#pragma option pop
|
|
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TObject.Destroy */ inline __fastcall virtual ~ENoGrabberForUrl(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvUrlGrabberList;
|
|
class PASCALIMPLEMENTATION TJvUrlGrabberList : public Contnrs::TObjectList
|
|
{
|
|
typedef Contnrs::TObjectList inherited;
|
|
|
|
public:
|
|
TJvCustomUrlGrabber* operator[](int Index) { return Items[Index]; }
|
|
|
|
private:
|
|
HIDESBASE TJvCustomUrlGrabber* __fastcall GetItem(int Index);
|
|
HIDESBASE void __fastcall SetItem(int Index, const TJvCustomUrlGrabber* AGrabber);
|
|
|
|
public:
|
|
HIDESBASE int __fastcall Add(TJvCustomUrlGrabber* AGrabber);
|
|
HIDESBASE void __fastcall Insert(int Index, TJvCustomUrlGrabber* AGrabber);
|
|
__property TJvCustomUrlGrabber* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TObjectList.Create */ inline __fastcall TJvUrlGrabberList(void)/* overload */ : Contnrs::TObjectList() { }
|
|
#pragma option pop
|
|
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TList.Destroy */ inline __fastcall virtual ~TJvUrlGrabberList(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvUrlGrabberDefaultPropertiesList;
|
|
class DELPHICLASS TJvCustomUrlGrabberDefaultProperties;
|
|
class PASCALIMPLEMENTATION TJvUrlGrabberDefaultPropertiesList : public Classes::TPersistent
|
|
{
|
|
typedef Classes::TPersistent inherited;
|
|
|
|
public:
|
|
TJvCustomUrlGrabberDefaultProperties* operator[](AnsiString Name) { return ItemsNamed[Name]; }
|
|
|
|
private:
|
|
Contnrs::TObjectList* FItems;
|
|
TJvCustomUrlGrabberDefaultProperties* __fastcall GetItemsNamed(AnsiString Name);
|
|
int __fastcall GetCount(void);
|
|
TJvCustomUrlGrabberDefaultProperties* __fastcall GetItems(int Index);
|
|
void __fastcall SetItems(int Index, const TJvCustomUrlGrabberDefaultProperties* Value);
|
|
|
|
public:
|
|
__fastcall virtual TJvUrlGrabberDefaultPropertiesList(TJvUrlListGrabber* AOwner);
|
|
__fastcall virtual ~TJvUrlGrabberDefaultPropertiesList(void);
|
|
void __fastcall Read(Classes::TReader* Reader);
|
|
void __fastcall Write(Classes::TWriter* Writer);
|
|
void __fastcall Clear(void);
|
|
void __fastcall Add(TJvCustomUrlGrabberDefaultProperties* Item);
|
|
__property int Count = {read=GetCount, nodefault};
|
|
__property TJvCustomUrlGrabberDefaultProperties* Items[int Index] = {read=GetItems, write=SetItems};
|
|
__property TJvCustomUrlGrabberDefaultProperties* ItemsNamed[AnsiString Name] = {read=GetItemsNamed/*, default*/};
|
|
};
|
|
|
|
|
|
class PASCALIMPLEMENTATION TJvUrlListGrabber : public Jvcomponentbase::TJvComponent
|
|
{
|
|
typedef Jvcomponentbase::TJvComponent inherited;
|
|
|
|
private:
|
|
TJvGrabberDoneFileEvent FOnDoneFile;
|
|
TJvGrabberDoneStreamEvent FOnDoneStream;
|
|
TJvGrabberErrorEvent FOnError;
|
|
TJvGrabberProgressEvent FOnProgress;
|
|
TJvGrabberNotifyEvent FOnConnectionClosed;
|
|
TJvGrabberNotifyEvent FOnReceivingResponse;
|
|
TJvGrabberNotifyEvent FOnRequestComplete;
|
|
TJvGrabberNotifyEvent FOnResponseReceived;
|
|
TJvGrabberNotifyEvent FOnConnectingToServer;
|
|
TJvGrabberNotifyEvent FOnResolvingName;
|
|
TJvGrabberNotifyEvent FOnClosingConnection;
|
|
TJvGrabberNotifyEvent FOnConnectedToServer;
|
|
TJvGrabberNotifyEvent FOnRedirect;
|
|
TJvGrabberNotifyEvent FOnNameResolved;
|
|
TJvGrabberNotifyEvent FOnSendingRequest;
|
|
TJvGrabberNotifyEvent FOnRequestSent;
|
|
TJvGrabberNotifyEvent FOnStatusChange;
|
|
unsigned FCleanupThreshold;
|
|
TJvUrlGrabberList* FGrabbers;
|
|
Classes::TStringList* FURLs;
|
|
TJvUrlGrabberIndex FDefaultGrabberIndex;
|
|
TJvUrlGrabberDefaultPropertiesList* FDefaultGrabbersProperties;
|
|
Classes::TStrings* __fastcall GetURLs(void);
|
|
void __fastcall SetURLs(const Classes::TStrings* Value);
|
|
void __fastcall SetDefaultGrabberIndex(const TJvUrlGrabberIndex Value);
|
|
TJvCustomUrlGrabber* __fastcall GetGrabbers(const int Index);
|
|
void __fastcall URLsChange(System::TObject* Sender);
|
|
void __fastcall SetGrabberEvents(TJvCustomUrlGrabber* Grabber);
|
|
void __fastcall GrabberDoneFile(System::TObject* Grabber, AnsiString FileName, int FileSize, AnsiString Url);
|
|
void __fastcall GrabberDoneStream(System::TObject* Grabber, Classes::TStream* Stream, int StreamSize, AnsiString Url);
|
|
void __fastcall GrabberProgress(System::TObject* Grabber, __int64 Position, __int64 TotalSize, AnsiString Url, bool &Continue);
|
|
void __fastcall GrabberError(System::TObject* Grabber, AnsiString ErrorMsg);
|
|
void __fastcall GrabberConnectionClosed(System::TObject* Grabber);
|
|
void __fastcall GrabberReceivingResponse(System::TObject* Grabber);
|
|
void __fastcall GrabberRequestComplete(System::TObject* Grabber);
|
|
void __fastcall GrabberResponseReceived(System::TObject* Grabber);
|
|
void __fastcall GrabberConnectingToServer(System::TObject* Grabber);
|
|
void __fastcall GrabberResolvingName(System::TObject* Grabber);
|
|
void __fastcall GrabberClosingConnection(System::TObject* Grabber);
|
|
void __fastcall GrabberConnectedToServer(System::TObject* Grabber);
|
|
void __fastcall GrabberRedirect(System::TObject* Grabber);
|
|
void __fastcall GrabberNameResolved(System::TObject* Grabber);
|
|
void __fastcall GrabberSendingRequest(System::TObject* Grabber);
|
|
void __fastcall GrabberRequestSent(System::TObject* Grabber);
|
|
void __fastcall GrabberStatusChange(System::TObject* Grabber);
|
|
|
|
protected:
|
|
virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
|
|
|
|
public:
|
|
__fastcall virtual TJvUrlListGrabber(Classes::TComponent* AOwner);
|
|
__fastcall virtual ~TJvUrlListGrabber(void);
|
|
void __fastcall Cleanup(void);
|
|
void __fastcall StartAll(void);
|
|
void __fastcall StopAll(void);
|
|
__property TJvCustomUrlGrabber* Grabbers[int Index] = {read=GetGrabbers};
|
|
|
|
__published:
|
|
__property TJvUrlGrabberIndex DefaultGrabberIndex = {read=FDefaultGrabberIndex, write=SetDefaultGrabberIndex, default=-1};
|
|
__property unsigned CleanupThreshold = {read=FCleanupThreshold, write=FCleanupThreshold, default=10};
|
|
__property Classes::TStrings* URLs = {read=GetURLs, write=SetURLs};
|
|
__property TJvUrlGrabberDefaultPropertiesList* DefaultGrabbersProperties = {read=FDefaultGrabbersProperties};
|
|
__property TJvGrabberDoneFileEvent OnDoneFile = {read=FOnDoneFile, write=FOnDoneFile};
|
|
__property TJvGrabberDoneStreamEvent OnDoneStream = {read=FOnDoneStream, write=FOnDoneStream};
|
|
__property TJvGrabberErrorEvent OnError = {read=FOnError, write=FOnError};
|
|
__property TJvGrabberProgressEvent OnProgress = {read=FOnProgress, write=FOnProgress};
|
|
__property TJvGrabberNotifyEvent OnResolvingName = {read=FOnResolvingName, write=FOnResolvingName};
|
|
__property TJvGrabberNotifyEvent OnNameResolved = {read=FOnNameResolved, write=FOnNameResolved};
|
|
__property TJvGrabberNotifyEvent OnConnectingToServer = {read=FOnConnectingToServer, write=FOnConnectingToServer};
|
|
__property TJvGrabberNotifyEvent OnConnectedToServer = {read=FOnConnectedToServer, write=FOnConnectedToServer};
|
|
__property TJvGrabberNotifyEvent OnSendingRequest = {read=FOnSendingRequest, write=FOnSendingRequest};
|
|
__property TJvGrabberNotifyEvent OnRequestSent = {read=FOnRequestSent, write=FOnRequestSent};
|
|
__property TJvGrabberNotifyEvent OnRequestComplete = {read=FOnRequestComplete, write=FOnRequestComplete};
|
|
__property TJvGrabberNotifyEvent OnReceivingResponse = {read=FOnReceivingResponse, write=FOnReceivingResponse};
|
|
__property TJvGrabberNotifyEvent OnResponseReceived = {read=FOnResponseReceived, write=FOnResponseReceived};
|
|
__property TJvGrabberNotifyEvent OnClosingConnection = {read=FOnClosingConnection, write=FOnClosingConnection};
|
|
__property TJvGrabberNotifyEvent OnConnectionClosed = {read=FOnConnectionClosed, write=FOnConnectionClosed};
|
|
__property TJvGrabberNotifyEvent OnRedirect = {read=FOnRedirect, write=FOnRedirect};
|
|
__property TJvGrabberNotifyEvent OnStatusChange = {read=FOnStatusChange, write=FOnStatusChange};
|
|
};
|
|
|
|
|
|
typedef TMetaClass* TJvCustomUrlGrabberThreadClass;
|
|
|
|
class DELPHICLASS TJvUrlGrabberDefPropEdTrick;
|
|
class PASCALIMPLEMENTATION TJvUrlGrabberDefPropEdTrick : public Classes::TPersistent
|
|
{
|
|
typedef Classes::TPersistent inherited;
|
|
|
|
private:
|
|
TJvCustomUrlGrabberDefaultProperties* FDefaultProperties;
|
|
|
|
public:
|
|
__fastcall virtual TJvUrlGrabberDefPropEdTrick(TJvCustomUrlGrabberDefaultProperties* GrabberDefaults);
|
|
|
|
__published:
|
|
__property TJvCustomUrlGrabberDefaultProperties* DefaultProperties = {read=FDefaultProperties};
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TPersistent.Destroy */ inline __fastcall virtual ~TJvUrlGrabberDefPropEdTrick(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class PASCALIMPLEMENTATION TJvCustomUrlGrabberDefaultProperties : public Classes::TPersistent
|
|
{
|
|
typedef Classes::TPersistent inherited;
|
|
|
|
private:
|
|
TJvUrlGrabberDefPropEdTrick* FEditorTrick;
|
|
AnsiString FAgent;
|
|
unsigned FPort;
|
|
AnsiString FUserName;
|
|
AnsiString FPassword;
|
|
AnsiString FFileName;
|
|
Jvtypes::TJvOutputMode FOutputMode;
|
|
|
|
protected:
|
|
virtual AnsiString __fastcall GetSupportedURLName(void) = 0 ;
|
|
__property AnsiString Agent = {read=FAgent, write=FAgent};
|
|
__property unsigned Port = {read=FPort, write=FPort, nodefault};
|
|
__property AnsiString UserName = {read=FUserName, write=FUserName};
|
|
__property AnsiString Password = {read=FPassword, write=FPassword};
|
|
|
|
public:
|
|
__fastcall virtual TJvCustomUrlGrabberDefaultProperties(TJvUrlGrabberDefaultPropertiesList* AOwner);
|
|
__fastcall virtual ~TJvCustomUrlGrabberDefaultProperties(void);
|
|
virtual void __fastcall Assign(Classes::TPersistent* Source);
|
|
__property TJvUrlGrabberDefPropEdTrick* EditorTrick = {read=FEditorTrick};
|
|
__property AnsiString SupportedURLName = {read=GetSupportedURLName};
|
|
|
|
__published:
|
|
__property AnsiString FileName = {read=FFileName, write=FFileName};
|
|
__property Jvtypes::TJvOutputMode OutputMode = {read=FOutputMode, write=FOutputMode, default=1};
|
|
};
|
|
|
|
|
|
typedef TMetaClass* TJvCustomUrlGrabberDefaultPropertiesClass;
|
|
|
|
#pragma option push -b-
|
|
enum TJvGrabberStatus { gsStopped, gsConnecting, gsGrabbing, gsStopping };
|
|
#pragma option pop
|
|
|
|
class DELPHICLASS EGrabberNotStopped;
|
|
class PASCALIMPLEMENTATION EGrabberNotStopped : public Sysutils::Exception
|
|
{
|
|
typedef Sysutils::Exception inherited;
|
|
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* Exception.Create */ inline __fastcall EGrabberNotStopped(const AnsiString Msg) : Sysutils::Exception(Msg) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* Exception.CreateFmt */ inline __fastcall EGrabberNotStopped(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* Exception.CreateRes */ inline __fastcall EGrabberNotStopped(int Ident)/* overload */ : Sysutils::Exception(Ident) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* Exception.CreateResFmt */ inline __fastcall EGrabberNotStopped(int Ident, System::TVarRec const * Args, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* Exception.CreateHelp */ inline __fastcall EGrabberNotStopped(const AnsiString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* Exception.CreateFmtHelp */ inline __fastcall EGrabberNotStopped(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* Exception.CreateResHelp */ inline __fastcall EGrabberNotStopped(int Ident, int AHelpContext)/* overload */ : Sysutils::Exception(Ident, AHelpContext) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* Exception.CreateResFmtHelp */ inline __fastcall EGrabberNotStopped(System::PResStringRec ResStringRec, System::TVarRec const * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(ResStringRec, Args, Args_Size, AHelpContext) { }
|
|
#pragma option pop
|
|
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TObject.Destroy */ inline __fastcall virtual ~EGrabberNotStopped(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
typedef void __fastcall (__closure *TJvUrlGrabberProgressEvent)(System::TObject* Sender, __int64 Position, __int64 TotalSize, AnsiString Url, bool &Continue);
|
|
|
|
class DELPHICLASS TJvCustomUrlGrabberThread;
|
|
class PASCALIMPLEMENTATION TJvCustomUrlGrabberThread : public Classes::TThread
|
|
{
|
|
typedef Classes::TThread inherited;
|
|
|
|
private:
|
|
AnsiString FErrorText;
|
|
unsigned FStatus;
|
|
bool FContinue;
|
|
|
|
protected:
|
|
TJvCustomUrlGrabber* FGrabber;
|
|
void __fastcall Error(void);
|
|
void __fastcall Ended(void);
|
|
void __fastcall UpdateGrabberProgress(void);
|
|
void __fastcall UpdateGrabberStatus(void);
|
|
void __fastcall SetGrabberStatus(TJvGrabberStatus Status);
|
|
__property AnsiString ErrorText = {read=FErrorText, write=FErrorText};
|
|
__property bool Continue = {read=FContinue, write=FContinue, nodefault};
|
|
|
|
public:
|
|
__fastcall virtual TJvCustomUrlGrabberThread(TJvCustomUrlGrabber* Grabber);
|
|
void __fastcall DoProgress(void);
|
|
void __fastcall DoStatus(void);
|
|
__property unsigned Status = {read=FStatus, write=FStatus, nodefault};
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TThread.Destroy */ inline __fastcall virtual ~TJvCustomUrlGrabberThread(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class PASCALIMPLEMENTATION TJvCustomUrlGrabber : public Jvcomponentbase::TJvComponent
|
|
{
|
|
typedef Jvcomponentbase::TJvComponent inherited;
|
|
|
|
private:
|
|
int FId;
|
|
TJvCustomUrlGrabberThread* FUrlGrabberThread;
|
|
Jvtypes::TJvDoneFileEvent FOnDoneFile;
|
|
Jvtypes::TJvDoneStreamEvent FOnDoneStream;
|
|
Jvtypes::TJvErrorEvent FOnError;
|
|
TJvUrlGrabberProgressEvent FOnProgress;
|
|
Classes::TNotifyEvent FOnClosed;
|
|
Classes::TNotifyEvent FOnReceiving;
|
|
Classes::TNotifyEvent FOnReceived;
|
|
Classes::TNotifyEvent FOnConnecting;
|
|
Classes::TNotifyEvent FOnResolving;
|
|
Classes::TNotifyEvent FOnRedirect;
|
|
Classes::TNotifyEvent FOnConnected;
|
|
Classes::TNotifyEvent FOnResolved;
|
|
Classes::TNotifyEvent FOnClosing;
|
|
Classes::TNotifyEvent FOnRequest;
|
|
Classes::TNotifyEvent FOnSent;
|
|
Classes::TNotifyEvent FOnSending;
|
|
Classes::TNotifyEvent FOnStatusChange;
|
|
TJvGrabberStatus FStatus;
|
|
AnsiString FUrl;
|
|
Classes::TMemoryStream* FStream;
|
|
AnsiString FAgent;
|
|
unsigned FPort;
|
|
AnsiString FUserName;
|
|
AnsiString FPassword;
|
|
AnsiString FFileName;
|
|
Jvtypes::TJvOutputMode FOutputMode;
|
|
__int64 FSize;
|
|
__int64 FBytesRead;
|
|
|
|
protected:
|
|
void __fastcall DoError(AnsiString ErrorMsg);
|
|
void __fastcall DoProgress(int Position, bool &Continue);
|
|
virtual void __fastcall DoStatus(void);
|
|
void __fastcall DoEnded(void);
|
|
void __fastcall DoClosed(void);
|
|
void __fastcall SetSize(__int64 Value);
|
|
void __fastcall SetBytesRead(__int64 Value);
|
|
virtual TMetaClass* __fastcall GetGrabberThreadClass(void) = 0 ;
|
|
virtual void __fastcall SetUrl(AnsiString Value);
|
|
__property TJvCustomUrlGrabberThread* UrlGrabberThread = {read=FUrlGrabberThread};
|
|
__property Classes::TMemoryStream* Stream = {read=FStream, write=FStream};
|
|
|
|
public:
|
|
__fastcall virtual TJvCustomUrlGrabber(Classes::TComponent* AOwner)/* overload */;
|
|
__fastcall TJvCustomUrlGrabber(Classes::TComponent* AOwner, AnsiString AUrl, TJvCustomUrlGrabberDefaultProperties* DefaultProperties)/* overload */;
|
|
__fastcall virtual ~TJvCustomUrlGrabber(void);
|
|
#pragma option push -w-inl
|
|
/* virtual class method */ virtual bool __fastcall CanGrab(const AnsiString Url) { return CanGrab(__classid(TJvCustomUrlGrabber), 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(TJvCustomUrlGrabber)); }
|
|
#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(TJvCustomUrlGrabber)); }
|
|
#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(TJvCustomUrlGrabber)); }
|
|
#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);
|
|
virtual void __fastcall Start(void);
|
|
virtual void __fastcall Stop(void);
|
|
__property TJvGrabberStatus Status = {read=FStatus, nodefault};
|
|
__property __int64 Size = {read=FSize};
|
|
__property __int64 BytesRead = {read=FBytesRead};
|
|
__property AnsiString Url = {read=FUrl, write=SetUrl};
|
|
__property unsigned Port = {read=FPort, write=FPort, nodefault};
|
|
__property AnsiString UserName = {read=FUserName, write=FUserName};
|
|
__property AnsiString Password = {read=FPassword, write=FPassword};
|
|
__property AnsiString FileName = {read=FFileName, write=FFileName};
|
|
__property Jvtypes::TJvOutputMode OutputMode = {read=FOutputMode, write=FOutputMode, default=0};
|
|
__property AnsiString Agent = {read=FAgent, write=FAgent};
|
|
__property int Id = {read=FId, write=FId, nodefault};
|
|
__property Jvtypes::TJvDoneFileEvent OnDoneFile = {read=FOnDoneFile, write=FOnDoneFile};
|
|
__property Jvtypes::TJvDoneStreamEvent OnDoneStream = {read=FOnDoneStream, write=FOnDoneStream};
|
|
__property Jvtypes::TJvErrorEvent OnError = {read=FOnError, write=FOnError};
|
|
__property TJvUrlGrabberProgressEvent OnProgress = {read=FOnProgress, write=FOnProgress};
|
|
__property Classes::TNotifyEvent OnResolvingName = {read=FOnResolving, write=FOnResolving};
|
|
__property Classes::TNotifyEvent OnNameResolved = {read=FOnResolved, write=FOnResolved};
|
|
__property Classes::TNotifyEvent OnConnectingToServer = {read=FOnConnecting, write=FOnConnecting};
|
|
__property Classes::TNotifyEvent OnConnectedToServer = {read=FOnConnected, write=FOnConnected};
|
|
__property Classes::TNotifyEvent OnSendingRequest = {read=FOnSending, write=FOnSending};
|
|
__property Classes::TNotifyEvent OnRequestSent = {read=FOnSent, write=FOnSent};
|
|
__property Classes::TNotifyEvent OnRequestComplete = {read=FOnRequest, write=FOnRequest};
|
|
__property Classes::TNotifyEvent OnReceivingResponse = {read=FOnReceiving, write=FOnReceiving};
|
|
__property Classes::TNotifyEvent OnResponseReceived = {read=FOnReceived, write=FOnReceived};
|
|
__property Classes::TNotifyEvent OnClosingConnection = {read=FOnClosing, write=FOnClosing};
|
|
__property Classes::TNotifyEvent OnConnectionClosed = {read=FOnClosed, write=FOnClosed};
|
|
__property Classes::TNotifyEvent OnRedirect = {read=FOnRedirect, write=FOnRedirect};
|
|
__property Classes::TNotifyEvent OnStatusChange = {read=FOnStatusChange, write=FOnStatusChange};
|
|
};
|
|
|
|
|
|
typedef TMetaClass* TJvCustomUrlGrabberClass;
|
|
|
|
class DELPHICLASS TJvUrlGrabberClassList;
|
|
class PASCALIMPLEMENTATION TJvUrlGrabberClassList : public Contnrs::TClassList
|
|
{
|
|
typedef Contnrs::TClassList inherited;
|
|
|
|
public:
|
|
TMetaClass* operator[](int Index) { return Items[Index]; }
|
|
|
|
private:
|
|
TMetaClass* __fastcall GetItem(int Index);
|
|
void __fastcall SetItem(int Index, const TMetaClass* AGrabberClass);
|
|
|
|
public:
|
|
void __fastcall Populate(TJvUrlGrabberDefaultPropertiesList* DefaultPropertiesList);
|
|
HIDESBASE int __fastcall Add(TMetaClass* AGrabberClass);
|
|
HIDESBASE void __fastcall Insert(int Index, TMetaClass* AGrabberClass);
|
|
TJvCustomUrlGrabber* __fastcall CreateFor(Classes::TComponent* Owner, AnsiString Url, TJvUrlGrabberDefaultPropertiesList* DefaultPropertiesList);
|
|
__property TMetaClass* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TList.Destroy */ inline __fastcall virtual ~TJvUrlGrabberClassList(void) { }
|
|
#pragma option pop
|
|
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TObject.Create */ inline __fastcall TJvUrlGrabberClassList(void) : Contnrs::TClassList() { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
//-- var, const, procedure ---------------------------------------------------
|
|
extern PACKAGE TJvUrlGrabberClassList* __fastcall JvUrlGrabberClassList(void);
|
|
|
|
} /* namespace Jvurllistgrabber */
|
|
using namespace Jvurllistgrabber;
|
|
#pragma pack(pop)
|
|
#pragma option pop
|
|
|
|
#pragma delphiheader end.
|
|
//-- end unit ----------------------------------------------------------------
|
|
#endif // Jvurllistgrabber
|