1//************************************************************************* 2//* 3//* Copyright (c) 2000 Data Access Corporation, Miami Florida, 4//* All rights reserved. 5//* DataFlex is a registered trademark of Data Access Corporation. 6//* 7//************************************************************************* 8//* 9//* Module Name: 10//* InetTransfer.plg 11//* 12//* Creator: 13//* Sonny Falk 14//* 15//* 16//* Purpose: 17//* VDF internet transfer class definitions. 18//* 19//************************************************************************* 20// This should be USEd by Winbase.pkg or DfBase.pkg 21// Note that the class and message replacements are in DFmsg.pkg 22 23// constants for the RemotePort property... 24Define rpFtp for 21 25Define rpHttp for 80 26Define rpHttpSSL for 443 // Usual SSL port, must also set peTransferFlag to ifSecure 27 28// constants for the TransferType property... 29Define ttAscii for 1 30Define ttBinary for 2 31 32Register_Function psUsername Returns String 33Register_Procedure Set psUsername String sUser 34Register_Function psPassword Returns String 35Register_Procedure Set psPassword String sPassword 36Register_Function psRemoteHost Returns String 37Register_Procedure Set psRemoteHost String sHost 38Register_Function psAgent Returns String 39Register_Procedure Set psAgent String sAgent 40Register_Function psProxy Returns String 41Register_Procedure Set psProxy String sProxyServer 42Register_Function piRemotePort Returns Integer 43Register_Procedure Set piRemotePort Integer iPort 44Register_Function peTransferFlags Returns Integer 45Register_Procedure Set peTransferFlags Integer dwFlags 46Register_Function piBufferSize Returns Integer 47Register_Procedure Set piBufferSize Integer iSize 48Register_Function RootHandle Returns Integer 49Register_Function LastErrorCode Returns Integer 50 51Register_Function peTransferType Returns Integer 52Register_Procedure Set peTransferType Integer iType 53Register_Function pbPassiveMode Returns Integer 54Register_Procedure Set pbPassiveMode Integer bPassiveMode 55Register_Function ConnectionHandle Returns Integer 56 57Register_Function Connect Returns Integer 58Register_Function Disconnect Returns Integer 59Register_Function CurrentDirectory Returns String 60Register_Function ChangeDirectory String sPath Returns Integer 61Register_Function UploadFile String sLocalFile String sRemoteFile Returns Integer 62Register_Function DownloadFile String sRemoteFile String sLocalFile Returns Integer 63Register_Function FileSize String sFilename Returns Integer 64Register_Function FileAttributes String sFilename Returns Integer 65Register_Function CreateFtpDirectory String sDir Returns Integer 66Register_Function RemoveFtpDirectory String sDir Returns Integer 67Register_Function RenameFtpFile String sExistingName String sNewName Returns Integer 68Register_Function DeleteFtpFile String sFile Returns Integer 69Register_Function FindFirstFtpFile String sSearchStr Returns String 70Register_Function FindNextFtpFile Returns String 71Register_Procedure EndFtpFileFind 72Register_Function FtpFileExist String sFilename Returns Integer 73Register_Procedure DirectoryList String sPattern 74Register_Procedure CancelTransfer 75 76Register_Procedure OnTransferStatus Integer iBytesTransferred Integer iFileSize 77Register_Procedure OnDirectoryList String sFilename Integer iSize Integer iFileAttr 78 79Register_Procedure Set psAcceptTypes String sTypes 80Register_Function psAcceptTypes Returns String 81Register_Function psProtocolVersion Returns String 82Register_Procedure Set psProtocolVersion String sProtocol 83Register_Function psSaveAsFile Returns String 84Register_Procedure Set psSaveAsFile String sFilename 85 86Register_Function AddHeader String sHeader String sValue Returns integer 87Register_Procedure ClearHeaders 88Register_Function HttpGetRequest String sFilePath Returns Integer 89Register_Function HttpPostAddrRequest String sFilePath Address aData Integer iDataLen Integer bDataIsFile Returns Integer 90Register_Function HttpPutAddrRequest String sFilePath Address aData Integer iDataLen Integer bDataIsFile Returns Integer 91Register_Procedure OnDataReceived String sContentType String sData 92Register_Function SelectClientCertificate string sCertificateStore String sCertificateSubject returns boolean 93Register_Procedure Set pbShowErrorDialog Boolean bShow 94Register_Function pbShowErrorDialog returns Boolean 95 96 97Define ifReload for |CI$80000000 // retrieve the original item 98Define ifNoCacheWrite for |CI$04000000 // don't write this item to the cache 99Define ifMakePersistent for |CI$02000000 // make this item persistent in cache 100Define ifFromCache for |CI$01000000 // use offline semantics 101Define ifSecure for |CI$00800000 // use PCT/SSL if applicable (HTTP) 102Define ifKeepConnection for |CI$00400000 // use keep-alive semantics 103Define ifNoAutoRedirect for |CI$00200000 // don't handle redirections automatically 104Define ifReadPrefetch for |CI$00100000 // do background read prefetch 105Define ifNoCookies for |CI$00080000 // no automatic cookie handling 106Define ifNoAuth for |CI$00040000 // no automatic authentication handling 107Define ifCacheIfNetFail for |CI$00010000 // return cache file if net request fails 108Define ifIgnoreRedirectToHttp for |CI$00008000 // ex: https:// to http:// 109Define IfIgnoreRedirectToHttps for |CI$00004000 // ex: http:// to https:// 110Define IfIgnoreCertDateInvalid for |CI$00002000 // expired X509 Cert. 111Define IfIgnoreCertCnInvalid for |CI$00001000 // bad common name in X509 Cert. 112Define ifResynchronize for |CI$00000800 // asking wininet to update an item if it is newer 113Define ifHyperlink for |CI$00000400 // asking wininet to do hyperlinking semantic which works right for scripts 114Define ifNoUi for |CI$00000200 // no cookie popup 115Define ifPragmaNocache for |CI$00000100 // asking wininet to add "pragma: no-cache" 116Define ifCacheAsync for |CI$00000080 // ok to perform lazy cache-write 117Define ifFormsSubmit for |CI$00000040 // this is a forms submit 118Define ifNeedFile for |CI$00000010 // need a file for this request 119 120// The file or directory is an archive file or directory. 121// Applications use this attribute to mark files for backup or removal. 122Define faArchive for |CI$00000020 123 124// The file or directory is compressed. 125// For a file, this means that all of the data in the file is compressed. 126// For a directory, this means that compression is the default for newly created files and subdirectories. 127Define faCompressed for |CI$00000800 128 129// The handle identifies a directory. 130Define faDirectory for |CI$00000010 131 132// The file or directory is encrypted. 133// For a file, this means that all data in the file is encrypted. 134// For a directory, this means that encryption is the default for newly created files and subdirectories. 135Define faEncrypted for |CI$00000040 136 137// The file or directory is hidden. 138// It is not included in an ordinary directory listing. 139Define faHidden for |CI$00000002 140 141// The file or directory has no other attributes set. 142// This attribute is valid only if used alone. 143Define faNormal for |CI$00000080 144 145// The file data is not immediately available. 146// This attribute indicates that the file data has been physically moved to offline storage. 147// This attribute is used by Remote Storage, the hierarchical storage management software in Windows 2000. 148// Applications should not arbitrarily change this attribute. 149Define faOffline for |CI$00001000 150 151// The file or directory is read-only. 152// Applications can read the file but cannot write to it or delete it. 153// In the case of a directory, applications cannot delete it. 154Define faReadOnly for |CI$00000001 155 156// The file has an associated reparse point. 157Define faReparsePoint for |CI$00000400 158 159// The file is a sparse file. 160Define faSparseFile for |CI$00000200 161 162// The file or directory is part of the operating system, 163// or is used exclusively by the operating system. 164Define faSystem for |CI$00000004 165 166// The file is being used for temporary storage. 167// File systems attempt to keep all of the data in memory for quicker access, rather than flushing it back to mass storage. A temporary file should be deleted by the application as soon as it is no longer needed. 168Define faTemporary for |CI$00000100 169