// 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 // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // 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