524 lines
24 KiB
C++
524 lines
24 KiB
C++
// Borland C++ Builder
|
|
// Copyright (c) 1995, 2005 by Borland Software Corporation
|
|
// All rights reserved
|
|
|
|
// (DO NOT EDIT: machine generated header) 'Jvprogramversioncheck.pas' rev: 10.00
|
|
|
|
#ifndef JvprogramversioncheckHPP
|
|
#define JvprogramversioncheckHPP
|
|
|
|
#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 <Classes.hpp> // Pascal unit
|
|
#include <Idhttp.hpp> // Pascal unit
|
|
#include <Idftp.hpp> // Pascal unit
|
|
#include <Jvpropertystore.hpp> // Pascal unit
|
|
#include <Jvappstorage.hpp> // Pascal unit
|
|
#include <Jvappinistorage.hpp> // Pascal unit
|
|
#include <Jvcomponent.hpp> // Pascal unit
|
|
#include <Jvparameterlist.hpp> // Pascal unit
|
|
#include <Jvthread.hpp> // Pascal unit
|
|
#include <Jvurllistgrabber.hpp> // Pascal unit
|
|
#include <Jvurlgrabbers.hpp> // Pascal unit
|
|
#include <Jvthreaddialog.hpp> // Pascal unit
|
|
|
|
//-- user supplied -----------------------------------------------------------
|
|
|
|
namespace Jvprogramversioncheck
|
|
{
|
|
//-- type declarations -------------------------------------------------------
|
|
#pragma option push -b-
|
|
enum TJvProgramReleaseType { prtProduction, prtBeta, prtAlpha };
|
|
#pragma option pop
|
|
|
|
#pragma option push -b-
|
|
enum TJvRemoteVersionOperation { rvoIgnore, rvoCopy, rvoCopyInstall };
|
|
#pragma option pop
|
|
|
|
class DELPHICLASS TJvProgramVersionsStringList;
|
|
class PASCALIMPLEMENTATION TJvProgramVersionsStringList : public Classes::TStringList
|
|
{
|
|
typedef Classes::TStringList inherited;
|
|
|
|
public:
|
|
virtual void __fastcall Sort(void);
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TStringList.Destroy */ inline __fastcall virtual ~TJvProgramVersionsStringList(void) { }
|
|
#pragma option pop
|
|
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TObject.Create */ inline __fastcall TJvProgramVersionsStringList(void) : Classes::TStringList() { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvProgramVersionInfo;
|
|
class PASCALIMPLEMENTATION TJvProgramVersionInfo : public Jvpropertystore::TJvCustomPropertyStore
|
|
{
|
|
typedef Jvpropertystore::TJvCustomPropertyStore inherited;
|
|
|
|
private:
|
|
bool FDownloadPasswordRequired;
|
|
Classes::TStringList* FVersionDescription;
|
|
int FProgramSize;
|
|
AnsiString FProgramVersion;
|
|
AnsiString FProgramLocationPath;
|
|
AnsiString FProgramLocationFileName;
|
|
TJvProgramReleaseType FProgramReleaseType;
|
|
System::TDateTime FProgramReleaseDate;
|
|
Classes::TStrings* __fastcall GetVersionDescription(void);
|
|
void __fastcall SetVersionDescription(Classes::TStrings* Value);
|
|
|
|
public:
|
|
__fastcall virtual TJvProgramVersionInfo(Classes::TComponent* AOwner);
|
|
__fastcall virtual ~TJvProgramVersionInfo(void);
|
|
virtual void __fastcall Clear(void);
|
|
AnsiString __fastcall ProgramVersionReleaseType();
|
|
AnsiString __fastcall ProgramSizeString();
|
|
AnsiString __fastcall ProgramVersionInfo();
|
|
|
|
__published:
|
|
__property bool DownloadPasswordRequired = {read=FDownloadPasswordRequired, write=FDownloadPasswordRequired, default=0};
|
|
__property AnsiString ProgramLocationPath = {read=FProgramLocationPath, write=FProgramLocationPath};
|
|
__property AnsiString ProgramLocationFileName = {read=FProgramLocationFileName, write=FProgramLocationFileName};
|
|
__property AnsiString ProgramVersion = {read=FProgramVersion, write=FProgramVersion};
|
|
__property Classes::TStrings* VersionDescription = {read=GetVersionDescription, write=SetVersionDescription};
|
|
__property TJvProgramReleaseType ProgramReleaseType = {read=FProgramReleaseType, write=FProgramReleaseType, nodefault};
|
|
__property int ProgramSize = {read=FProgramSize, write=FProgramSize, nodefault};
|
|
__property System::TDateTime ProgramReleaseDate = {read=FProgramReleaseDate, write=FProgramReleaseDate};
|
|
};
|
|
|
|
|
|
typedef TJvProgramVersionInfo* TJvProgramVersionInfoReleaseArray[3];
|
|
|
|
class DELPHICLASS TJvProgramVersionHistory;
|
|
class PASCALIMPLEMENTATION TJvProgramVersionHistory : public Jvpropertystore::TJvCustomPropertyListStore
|
|
{
|
|
typedef Jvpropertystore::TJvCustomPropertyListStore inherited;
|
|
|
|
private:
|
|
AnsiString FCurrentProductionVersion;
|
|
AnsiString FCurrentBetaVersion;
|
|
AnsiString FCurrentAlphaVersion;
|
|
TJvProgramVersionInfo* FCurrentProgramVersion[3];
|
|
|
|
protected:
|
|
virtual System::TObject* __fastcall CreateObject(void);
|
|
virtual Classes::TStringList* __fastcall CreateItemList(void);
|
|
TJvProgramVersionInfo* __fastcall GetProgramVersion(int Index);
|
|
TJvProgramVersionInfo* __fastcall GetCurrentProgramVersion(TJvProgramReleaseType Index);
|
|
TJvProgramVersionInfo* __fastcall SearchCurrentProgramVersion(TJvProgramReleaseType AProgramReleaseType);
|
|
AnsiString __fastcall GetCurrentProductionProgramVersion();
|
|
AnsiString __fastcall GetCurrentBetaProgramVersion();
|
|
AnsiString __fastcall GetCurrentAlphaProgramVersion();
|
|
__property TJvProgramVersionInfo* ProgramVersion[int Index] = {read=GetProgramVersion};
|
|
|
|
public:
|
|
__fastcall virtual TJvProgramVersionHistory(Classes::TComponent* AOwner);
|
|
virtual void __fastcall LoadData(void);
|
|
void __fastcall RecalculateCurrentProgramVersions(void);
|
|
TJvProgramVersionInfo* __fastcall AllowedCurrentProgramVersion(TJvProgramReleaseType AAllowedReleaseType);
|
|
AnsiString __fastcall GetVersionsDescription(const AnsiString AFromVersion, const AnsiString AToVersion);
|
|
__property TJvProgramVersionInfo* CurrentProgramVersion[TJvProgramReleaseType Index] = {read=GetCurrentProgramVersion};
|
|
|
|
__published:
|
|
__property AnsiString CurrentProductionProgramVersion = {read=GetCurrentProductionProgramVersion, write=FCurrentProductionVersion};
|
|
__property AnsiString CurrentBetaProgramVersion = {read=GetCurrentBetaProgramVersion, write=FCurrentBetaVersion};
|
|
__property AnsiString CurrentAlphaProgramVersion = {read=GetCurrentAlphaProgramVersion, write=FCurrentAlphaVersion};
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomPropertyListStore.Destroy */ inline __fastcall virtual ~TJvProgramVersionHistory(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvCustomProgramVersionLocation;
|
|
class PASCALIMPLEMENTATION TJvCustomProgramVersionLocation : public Jvpropertystore::TJvCustomPropertyStore
|
|
{
|
|
typedef Jvpropertystore::TJvCustomPropertyStore inherited;
|
|
|
|
private:
|
|
AnsiString FDownloadError;
|
|
AnsiString FDownloadStatus;
|
|
bool FDownloadThreaded;
|
|
|
|
protected:
|
|
void __fastcall SetDownloadStatus(AnsiString Value);
|
|
virtual AnsiString __fastcall LoadFileFromRemoteInt(const AnsiString ARemotePath, const AnsiString ARemoteFileName, const AnsiString ALocalPath, const AnsiString ALocalFileName, Jvthread::TJvBaseThread* ABaseThread);
|
|
__property AnsiString DownloadStatus = {read=FDownloadStatus, write=FDownloadStatus};
|
|
__property AnsiString DownloadError = {read=FDownloadError, write=FDownloadError};
|
|
__property bool DownloadThreaded = {read=FDownloadThreaded, write=FDownloadThreaded, default=0};
|
|
|
|
public:
|
|
__fastcall virtual TJvCustomProgramVersionLocation(Classes::TComponent* AOwner);
|
|
virtual AnsiString __fastcall LoadFileFromRemote(const AnsiString ARemotePath, const AnsiString ARemoteFileName, const AnsiString ALocalPath, const AnsiString ALocalFileName, Jvthread::TJvBaseThread* ABaseThread);
|
|
virtual AnsiString __fastcall LoadInstallerFileFromRemote(const AnsiString ARemotePath, const AnsiString ARemoteFileName, const AnsiString ALocalPath, const AnsiString ALocalFileName, Jvthread::TJvBaseThread* ABaseThread);
|
|
virtual AnsiString __fastcall LoadVersionInfoFromRemote(const AnsiString ALocalDirectory, const AnsiString ALocalVersionInfoFileName, Jvthread::TJvBaseThread* ABaseThread);
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomPropertyStore.Destroy */ inline __fastcall virtual ~TJvCustomProgramVersionLocation(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvCustomProgramVersionFileBasedLocation;
|
|
class PASCALIMPLEMENTATION TJvCustomProgramVersionFileBasedLocation : public TJvCustomProgramVersionLocation
|
|
{
|
|
typedef TJvCustomProgramVersionLocation inherited;
|
|
|
|
private:
|
|
Classes::TStringList* FVersionInfoLocationPathList;
|
|
AnsiString FVersionInfoFileName;
|
|
AnsiString FValidLocationPath;
|
|
Classes::TStrings* __fastcall GetVersionInfoLocationPathList(void);
|
|
void __fastcall SetVersionInfoLocationPathList(Classes::TStrings* Value);
|
|
__property AnsiString ValidLocationPath = {read=FValidLocationPath};
|
|
__property Classes::TStrings* VersionInfoLocationPathList = {read=GetVersionInfoLocationPathList, write=SetVersionInfoLocationPathList};
|
|
__property AnsiString VersionInfoFileName = {read=FVersionInfoFileName, write=FVersionInfoFileName};
|
|
|
|
public:
|
|
__fastcall virtual TJvCustomProgramVersionFileBasedLocation(Classes::TComponent* AOwner);
|
|
__fastcall virtual ~TJvCustomProgramVersionFileBasedLocation(void);
|
|
virtual AnsiString __fastcall LoadVersionInfoFromRemote(const AnsiString ALocalDirectory, const AnsiString ALocalVersionInfoFileName, Jvthread::TJvBaseThread* ABaseThread);
|
|
virtual AnsiString __fastcall LoadInstallerFileFromRemote(const AnsiString ARemotePath, const AnsiString ARemoteFileName, const AnsiString ALocalPath, const AnsiString ALocalFileName, Jvthread::TJvBaseThread* ABaseThread);
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvProgramVersionNetworkLocation;
|
|
class PASCALIMPLEMENTATION TJvProgramVersionNetworkLocation : public TJvCustomProgramVersionFileBasedLocation
|
|
{
|
|
typedef TJvCustomProgramVersionFileBasedLocation inherited;
|
|
|
|
protected:
|
|
virtual AnsiString __fastcall LoadFileFromRemoteInt(const AnsiString ARemotePath, const AnsiString ARemoteFileName, const AnsiString ALocalPath, const AnsiString ALocalFileName, Jvthread::TJvBaseThread* ABaseThread);
|
|
|
|
__published:
|
|
__property VersionInfoLocationPathList ;
|
|
__property VersionInfoFileName ;
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomProgramVersionFileBasedLocation.Create */ inline __fastcall virtual TJvProgramVersionNetworkLocation(Classes::TComponent* AOwner) : TJvCustomProgramVersionFileBasedLocation(AOwner) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* TJvCustomProgramVersionFileBasedLocation.Destroy */ inline __fastcall virtual ~TJvProgramVersionNetworkLocation(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvProgramVersionProxySettings;
|
|
class PASCALIMPLEMENTATION TJvProgramVersionProxySettings : public Classes::TPersistent
|
|
{
|
|
typedef Classes::TPersistent inherited;
|
|
|
|
private:
|
|
AnsiString FServer;
|
|
int FPort;
|
|
AnsiString FUserName;
|
|
AnsiString FPassword;
|
|
|
|
public:
|
|
__fastcall TJvProgramVersionProxySettings(void);
|
|
|
|
__published:
|
|
__property AnsiString Server = {read=FServer, write=FServer};
|
|
__property int Port = {read=FPort, write=FPort, default=80};
|
|
__property AnsiString UserName = {read=FUserName, write=FUserName};
|
|
__property AnsiString Password = {read=FPassword, write=FPassword};
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TPersistent.Destroy */ inline __fastcall virtual ~TJvProgramVersionProxySettings(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvCustomProgramVersionInternetLocation;
|
|
class PASCALIMPLEMENTATION TJvCustomProgramVersionInternetLocation : public TJvCustomProgramVersionFileBasedLocation
|
|
{
|
|
typedef TJvCustomProgramVersionFileBasedLocation inherited;
|
|
|
|
private:
|
|
TJvProgramVersionProxySettings* FProxySettings;
|
|
bool FPasswordRequired;
|
|
AnsiString FUserName;
|
|
AnsiString FPassword;
|
|
int FPort;
|
|
|
|
protected:
|
|
__property TJvProgramVersionProxySettings* ProxySettings = {read=FProxySettings};
|
|
__property AnsiString UserName = {read=FUserName, write=FUserName};
|
|
__property AnsiString Password = {read=FPassword, write=FPassword};
|
|
__property bool PasswordRequired = {read=FPasswordRequired, write=FPasswordRequired, default=0};
|
|
__property int Port = {read=FPort, write=FPort, default=80};
|
|
|
|
public:
|
|
__fastcall virtual TJvCustomProgramVersionInternetLocation(Classes::TComponent* AOwner);
|
|
__fastcall virtual ~TJvCustomProgramVersionInternetLocation(void);
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvProgramVersionHTTPLocation;
|
|
typedef AnsiString __fastcall (__closure *TJvLoadFileFromRemoteHTTPEvent)(TJvProgramVersionHTTPLocation* AProgramVersionLocation, const AnsiString ARemotePath, const AnsiString ARemoteFileName, const AnsiString ALocalPath, const AnsiString ALocalFileName);
|
|
|
|
class PASCALIMPLEMENTATION TJvProgramVersionHTTPLocation : public TJvCustomProgramVersionInternetLocation
|
|
{
|
|
typedef TJvCustomProgramVersionInternetLocation inherited;
|
|
|
|
private:
|
|
TJvLoadFileFromRemoteHTTPEvent FOnLoadFileFromRemote;
|
|
|
|
protected:
|
|
virtual AnsiString __fastcall LoadFileFromRemoteInt(const AnsiString ARemotePath, const AnsiString ARemoteFileName, const AnsiString ALocalPath, const AnsiString ALocalFileName, Jvthread::TJvBaseThread* ABaseThread);
|
|
|
|
__published:
|
|
__property TJvLoadFileFromRemoteHTTPEvent OnLoadFileFromRemote = {read=FOnLoadFileFromRemote, write=FOnLoadFileFromRemote};
|
|
__property ProxySettings ;
|
|
__property UserName ;
|
|
__property Password ;
|
|
__property PasswordRequired = {default=0};
|
|
__property Port = {default=80};
|
|
__property VersionInfoLocationPathList ;
|
|
__property VersionInfoFileName ;
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomProgramVersionInternetLocation.Create */ inline __fastcall virtual TJvProgramVersionHTTPLocation(Classes::TComponent* AOwner) : TJvCustomProgramVersionInternetLocation(AOwner) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* TJvCustomProgramVersionInternetLocation.Destroy */ inline __fastcall virtual ~TJvProgramVersionHTTPLocation(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvProgramVersionHTTPLocationIndy;
|
|
class PASCALIMPLEMENTATION TJvProgramVersionHTTPLocationIndy : public TJvProgramVersionHTTPLocation
|
|
{
|
|
typedef TJvProgramVersionHTTPLocation inherited;
|
|
|
|
private:
|
|
Idhttp::TIdHTTP* FIdHttp;
|
|
|
|
protected:
|
|
virtual AnsiString __fastcall LoadFileFromRemoteInt(const AnsiString ARemotePath, const AnsiString ARemoteFileName, const AnsiString ALocalPath, const AnsiString ALocalFileName, Jvthread::TJvBaseThread* ABaseThread);
|
|
AnsiString __fastcall LoadFileFromRemoteIndy(const AnsiString ARemotePath, const AnsiString ARemoteFileName, const AnsiString ALocalPath, const AnsiString ALocalFileName, Jvthread::TJvBaseThread* ABaseThread);
|
|
|
|
public:
|
|
__fastcall virtual TJvProgramVersionHTTPLocationIndy(Classes::TComponent* AOwner);
|
|
__fastcall virtual ~TJvProgramVersionHTTPLocationIndy(void);
|
|
|
|
__published:
|
|
__property ProxySettings ;
|
|
__property UserName ;
|
|
__property Password ;
|
|
__property PasswordRequired = {default=0};
|
|
__property Port = {default=80};
|
|
__property VersionInfoLocationPathList ;
|
|
__property VersionInfoFileName ;
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvProgramVersionFTPLocation;
|
|
typedef AnsiString __fastcall (__closure *TJvLoadFileFromRemoteFTPEvent)(TJvProgramVersionFTPLocation* AProgramVersionLocation, const AnsiString ARemotePath, const AnsiString ARemoteFileName, const AnsiString ALocalPath, const AnsiString ALocalFileName);
|
|
|
|
class PASCALIMPLEMENTATION TJvProgramVersionFTPLocation : public TJvCustomProgramVersionInternetLocation
|
|
{
|
|
typedef TJvCustomProgramVersionInternetLocation inherited;
|
|
|
|
private:
|
|
TJvLoadFileFromRemoteFTPEvent FOnLoadFileFromRemote;
|
|
|
|
protected:
|
|
virtual AnsiString __fastcall LoadFileFromRemoteInt(const AnsiString ARemotePath, const AnsiString ARemoteFileName, const AnsiString ALocalPath, const AnsiString ALocalFileName, Jvthread::TJvBaseThread* ABaseThread);
|
|
|
|
__published:
|
|
__property TJvLoadFileFromRemoteFTPEvent OnLoadFileFromRemote = {read=FOnLoadFileFromRemote, write=FOnLoadFileFromRemote};
|
|
__property ProxySettings ;
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomProgramVersionInternetLocation.Create */ inline __fastcall virtual TJvProgramVersionFTPLocation(Classes::TComponent* AOwner) : TJvCustomProgramVersionInternetLocation(AOwner) { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* TJvCustomProgramVersionInternetLocation.Destroy */ inline __fastcall virtual ~TJvProgramVersionFTPLocation(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvProgramVersionFTPLocationIndy;
|
|
class PASCALIMPLEMENTATION TJvProgramVersionFTPLocationIndy : public TJvProgramVersionFTPLocation
|
|
{
|
|
typedef TJvProgramVersionFTPLocation inherited;
|
|
|
|
private:
|
|
Idftp::TIdFTP* FIdFtp;
|
|
|
|
protected:
|
|
virtual AnsiString __fastcall LoadFileFromRemoteInt(const AnsiString ARemotePath, const AnsiString ARemoteFileName, const AnsiString ALocalPath, const AnsiString ALocalFileName, Jvthread::TJvBaseThread* ABaseThread);
|
|
AnsiString __fastcall LoadFileFromRemoteIndy(const AnsiString ARemotePath, const AnsiString ARemoteFileName, const AnsiString ALocalPath, const AnsiString ALocalFileName, Jvthread::TJvBaseThread* ABaseThread);
|
|
|
|
public:
|
|
__fastcall virtual TJvProgramVersionFTPLocationIndy(Classes::TComponent* AOwner);
|
|
__fastcall virtual ~TJvProgramVersionFTPLocationIndy(void);
|
|
|
|
__published:
|
|
__property ProxySettings ;
|
|
__property UserName ;
|
|
__property Password ;
|
|
__property PasswordRequired = {default=0};
|
|
__property Port = {default=80};
|
|
__property VersionInfoLocationPathList ;
|
|
__property VersionInfoFileName ;
|
|
};
|
|
|
|
|
|
class DELPHICLASS TJvProgramVersionDatabaseLocation;
|
|
typedef AnsiString __fastcall (__closure *TJvLoadFileFromRemoteDatabaseEvent)(TJvProgramVersionDatabaseLocation* AProgramVersionLocation, const AnsiString ARemotePath, const AnsiString ARemoteFileName, const AnsiString ALocalPath, const AnsiString ALocalFileName);
|
|
|
|
class PASCALIMPLEMENTATION TJvProgramVersionDatabaseLocation : public TJvCustomProgramVersionLocation
|
|
{
|
|
typedef TJvCustomProgramVersionLocation inherited;
|
|
|
|
private:
|
|
AnsiString FServerName;
|
|
AnsiString FUserName;
|
|
AnsiString FPassword;
|
|
AnsiString FSelectStatementVersion;
|
|
TJvLoadFileFromRemoteDatabaseEvent FOnLoadFileFromRemote;
|
|
|
|
protected:
|
|
virtual AnsiString __fastcall LoadFileFromRemoteInt(const AnsiString ARemotePath, const AnsiString ARemoteFileName, const AnsiString ALocalPath, const AnsiString ALocalFileName, Jvthread::TJvBaseThread* ABaseThread);
|
|
|
|
public:
|
|
virtual AnsiString __fastcall LoadVersionInfoFromRemote(const AnsiString ALocalDirectory, const AnsiString ALocalVersionInfoFileName, Jvthread::TJvBaseThread* ABaseThread);
|
|
|
|
__published:
|
|
__property AnsiString ServerName = {read=FServerName, write=FServerName};
|
|
__property AnsiString UserName = {read=FUserName, write=FUserName};
|
|
__property AnsiString Password = {read=FPassword, write=FPassword};
|
|
__property AnsiString SelectStatementVersion = {read=FSelectStatementVersion, write=FSelectStatementVersion};
|
|
__property TJvLoadFileFromRemoteDatabaseEvent OnLoadFileFromRemote = {read=FOnLoadFileFromRemote, write=FOnLoadFileFromRemote};
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomProgramVersionLocation.Create */ inline __fastcall virtual TJvProgramVersionDatabaseLocation(Classes::TComponent* AOwner) : TJvCustomProgramVersionLocation(AOwner) { }
|
|
#pragma option pop
|
|
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TJvCustomPropertyStore.Destroy */ inline __fastcall virtual ~TJvProgramVersionDatabaseLocation(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
#pragma option push -b-
|
|
enum TJvProgramVersionLocationType { pvltNetwork, pvltDatabase, pvltFTP, pvltHTTP };
|
|
#pragma option pop
|
|
|
|
typedef Set<TJvProgramVersionLocationType, pvltNetwork, pvltHTTP> TJvProgramVersionLocationTypes;
|
|
|
|
#pragma option push -b-
|
|
enum TJvProgramVersionUserOption { uoCheckFrequency, uoLocalDirectory, uoAllowedReleaseType, uoLocationType, uoLocationNetwork, uoLocationHTTP, uoLocationFTP, uoLocationDatabase };
|
|
#pragma option pop
|
|
|
|
typedef Set<TJvProgramVersionUserOption, uoCheckFrequency, uoLocationDatabase> TJvProgramVersionUserOptions;
|
|
|
|
class DELPHICLASS TJvProgramVersionCheck;
|
|
class PASCALIMPLEMENTATION TJvProgramVersionCheck : public Jvpropertystore::TJvCustomPropertyStore
|
|
{
|
|
typedef Jvpropertystore::TJvCustomPropertyStore inherited;
|
|
|
|
private:
|
|
TJvProgramReleaseType FAllowedReleaseType;
|
|
int FCheckFrequency;
|
|
AnsiString FDownloadError;
|
|
AnsiString FExecuteDownloadInstallFileName;
|
|
TJvRemoteVersionOperation FExecuteOperation;
|
|
TJvProgramVersionInfo* FExecuteVersionInfo;
|
|
System::TDateTime FLastCheck;
|
|
AnsiString FLocalDirectory;
|
|
AnsiString FLocalInstallerFileName;
|
|
AnsiString FLocalVersionInfoFileName;
|
|
TJvProgramVersionDatabaseLocation* FLocationDatabase;
|
|
TJvProgramVersionFTPLocation* FLocationFTP;
|
|
TJvProgramVersionHTTPLocation* FLocationHTTP;
|
|
TJvProgramVersionNetworkLocation* FLocationNetwork;
|
|
TJvProgramVersionLocationType FLocationType;
|
|
Jvappinistorage::TJvAppIniFileStorage* FRemoteAppStorage;
|
|
TJvProgramVersionHistory* FRemoteProgramVersionHistory;
|
|
Jvthread::TJvThread* FThread;
|
|
Jvthreaddialog::TJvThreadAnimateDialog* FThreadDialog;
|
|
TJvProgramVersionUserOptions FUserOptions;
|
|
|
|
protected:
|
|
void __fastcall CheckLocalDirectory(void);
|
|
AnsiString __fastcall CurrentApplicationName();
|
|
AnsiString __fastcall CurrentFileVersion();
|
|
void __fastcall DownloadThreadOnExecute(System::TObject* Sender, void * Params);
|
|
void __fastcall DownloadThreadOnFinishAll(System::TObject* Sender);
|
|
AnsiString __fastcall GetAllowedRemoteProgramVersion();
|
|
AnsiString __fastcall GetAllowedRemoteProgramVersionReleaseType();
|
|
TJvProgramVersionLocationTypes __fastcall GetLocationTypesSupported(void);
|
|
bool __fastcall IsRemoteProgramVersionNewer(void);
|
|
bool __fastcall IsRemoteProgramVersionReleaseTypeNewer(TJvProgramReleaseType AReleaseType);
|
|
virtual void __fastcall LoadData(void);
|
|
AnsiString __fastcall LoadRemoteInstallerFile(const AnsiString ALocalDirectory, const AnsiString ALocalInstallerFileName, TJvProgramVersionInfo* AProgramVersionInfo, Jvthread::TJvBaseThread* ABaseThread);
|
|
AnsiString __fastcall LoadRemoteVersionInfoFile(const AnsiString ALocalDirectory, const AnsiString ALocalVersionInfoFileName);
|
|
virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
|
|
void __fastcall SetThreadInfo(const AnsiString Info);
|
|
void __fastcall SetUserOptions(TJvProgramVersionUserOptions Value);
|
|
virtual void __fastcall StoreData(void);
|
|
void __fastcall StoreRemoteVersionInfoToFile(void);
|
|
void __fastcall VersionInfoButtonClick(const Jvparameterlist::TJvParameterList* ParameterList, const Jvparameterlist::TJvBaseParameter* Parameter);
|
|
__property Jvappinistorage::TJvAppIniFileStorage* RemoteAppStorage = {read=FRemoteAppStorage};
|
|
|
|
public:
|
|
__fastcall virtual TJvProgramVersionCheck(Classes::TComponent* AOwner);
|
|
__fastcall virtual ~TJvProgramVersionCheck(void);
|
|
void __fastcall DownloadInstallerFromRemote(void);
|
|
void __fastcall Execute(void);
|
|
TJvRemoteVersionOperation __fastcall GetRemoteVersionOperation(TJvProgramReleaseType &ReleaseType);
|
|
TJvCustomProgramVersionLocation* __fastcall SelectedLocation(void);
|
|
void __fastcall ShowProgramVersionsDescription(const AnsiString AFromVersion, const AnsiString AToVersion);
|
|
__property System::TDateTime LastCheck = {read=FLastCheck, write=FLastCheck};
|
|
__property TJvProgramVersionLocationTypes LocationTypesSupported = {read=GetLocationTypesSupported, nodefault};
|
|
__property TJvProgramVersionHistory* RemoteProgramVersionHistory = {read=FRemoteProgramVersionHistory, write=FRemoteProgramVersionHistory};
|
|
|
|
__published:
|
|
__property TJvProgramReleaseType AllowedReleaseType = {read=FAllowedReleaseType, write=FAllowedReleaseType, default=0};
|
|
__property AppStorage ;
|
|
__property AppStoragePath ;
|
|
__property int CheckFrequency = {read=FCheckFrequency, write=FCheckFrequency, nodefault};
|
|
__property AnsiString LocalDirectory = {read=FLocalDirectory, write=FLocalDirectory};
|
|
__property AnsiString LocalInstallerFileName = {read=FLocalInstallerFileName, write=FLocalInstallerFileName};
|
|
__property AnsiString LocalVersionInfoFileName = {read=FLocalVersionInfoFileName, write=FLocalVersionInfoFileName};
|
|
__property TJvProgramVersionDatabaseLocation* LocationDatabase = {read=FLocationDatabase, write=FLocationDatabase};
|
|
__property TJvProgramVersionFTPLocation* LocationFTP = {read=FLocationFTP, write=FLocationFTP};
|
|
__property TJvProgramVersionHTTPLocation* LocationHTTP = {read=FLocationHTTP, write=FLocationHTTP};
|
|
__property TJvProgramVersionNetworkLocation* LocationNetwork = {read=FLocationNetwork, write=FLocationNetwork};
|
|
__property TJvProgramVersionLocationType LocationType = {read=FLocationType, write=FLocationType, nodefault};
|
|
__property TJvProgramVersionUserOptions UserOptions = {read=FUserOptions, write=SetUserOptions, default=255};
|
|
};
|
|
|
|
|
|
//-- var, const, procedure ---------------------------------------------------
|
|
|
|
} /* namespace Jvprogramversioncheck */
|
|
using namespace Jvprogramversioncheck;
|
|
#pragma pack(pop)
|
|
#pragma option pop
|
|
|
|
#pragma delphiheader end.
|
|
//-- end unit ----------------------------------------------------------------
|
|
#endif // Jvprogramversioncheck
|