152 const RequiredKeys = ...;
156 const RequiredKeysWithHost = RequiredKeys +
"host";
159 const Defaults = ...;
163 const OptionalKeys = ...;
167 const AllKeys = RequiredKeysWithHost + keys Defaults + OptionalKeys;
170 const ErrorDelay = 1m;
195 softlist<string> path =
".";
226 bool runflag = False;
381 setup(FtpClient ftp);
502 hash<FtpPollerFileEventInfo>
retrieveFile(hash<FtpPollerFileEventInfo> event);
548 static checkPath(
string path,
string type,
bool write = False);
616 hash<DataProviderInfo> getStaticInfoImpl();
650 hash<DataProviderInfo> getStaticInfoImpl();
661 static Class
cls =
new Class(
"FtpDelayedPollerDataProvider");
695class EmbeddedFtpPoller :
public FtpPoller {
700 Observable observable;
704 constructor(FtpPollerDataProviderBase provider, hash<auto> options) ;
707 singleFileEvent(hash<FtpPollerFileEventInfo> event);
710 postSingleFileEvent(hash<FtpPollerFileEventInfo> event);
714const FtpWhiteLogo = ...;
717const FtpBlackLogo = ...;
Event-based data provider for FTP polling events.
Definition FtpPoller.qm.dox.h:626
stopEvents()
Called to stop generating events.
const ProviderInfo
Provider info.
Definition FtpPoller.qm.dox.h:630
constructor(*hash< auto > options)
Creates the object from constructor options.
observersReady()
Called when all observers have been added to the object.
Event-based data provider for FTP polling events.
Definition FtpPoller.qm.dox.h:554
*string getDesc()
Returns the data provider description.
hash< string, hash< DataProviderMessageInfo > > getEventTypesImpl()
Returns a hash of all supported event types.
constructor(*hash< auto > options)
Creates the object from constructor options.
const ConstructorOptions
Constructor options.
Definition FtpPoller.qm.dox.h:558
updateConnectionObjects(object conn, object connobj)
Update any connection used by the data provider.
EmbeddedFtpPoller poller
The file poller itself.
Definition FtpPoller.qm.dox.h:563
The FTP poller data provider factory.
Definition FtpPoller.qm.dox.h:656
const FactoryInfo
Factory info.
Definition FtpPoller.qm.dox.h:664
Class getClassImpl()
Returns the class for the data provider object.
static Class cls
Data provider type info.
Definition FtpPoller.qm.dox.h:661
hash< DataProviderFactoryInfo > getInfoImpl()
Returns static factory information without provider_info.
hash< DataProviderInfo > getProviderInfoImpl()
Returns static provider information.
Event-based data provider for FTP polling events.
Definition FtpPoller.qm.dox.h:604
const ProviderInfo
Provider info.
Definition FtpPoller.qm.dox.h:608
constructor(*hash< auto > options)
Creates the object from constructor options.
static checkPath(string path, string type, bool write=False)
checks a path on the local file system
string local_dir
Local directory to transfer file.
Definition FtpPoller.qm.dox.h:207
logInfo(string fmt,...)
calls the "log_info" closure or call reference with important information
const SortNone
no sorting
Definition FtpPoller.qm.dox.h:146
hash< FtpPollerFileEventInfo > getRemoteFileData(hash< FtpPollerFileEventInfo > event)
Retrieves remote file data and adds it to the event data.
*string move_remote_file
Remote target directory for moving the file on the remote FTP server after processing.
Definition FtpPoller.qm.dox.h:223
int port
port
Definition FtpPoller.qm.dox.h:180
getStoreFile(string remote_path, string local_path)
retrieves a remote file and stores it to a local path
*code sleep
optional sleep closure
Definition FtpPoller.qm.dox.h:271
list< hash< FtpPollerFileEventInfo > > getFiles(string subdir, int sort=FtpPoller::SortNone, int order=FtpPoller::OrderAsc)
returns a list of regular file hashes matching any file name mask set for the object
int start()
starts polling in the background; returns the thread ID of the polling thread
*code log_debug
optional debug log closure
Definition FtpPoller.qm.dox.h:265
stopNoWait()
stops the polling operation, returns immediately
destructor()
stops the polling operation if in progress and destroys the object
*string mask
file glob name mask (ignored if "regex_mask" also set)
Definition FtpPoller.qm.dox.h:201
rename(string old, string nnew)
renames a file on the server
int tid
polling tid
Definition FtpPoller.qm.dox.h:241
*string pass
password
Definition FtpPoller.qm.dox.h:192
*code start_thread
optional start thread closure
Definition FtpPoller.qm.dox.h:268
hash< FtpPollerFileEventInfo > retrieveTempFile(hash< FtpPollerFileEventInfo > event)
Retrieves the remote file to local_dir using a temporary file.
constructor(hash< auto > nconf)
creates the FtpPoller object from the configuration hash argument passed
binary getFile(string path)
retrieves a binary file and returns the file's contents
bool delete_remote_file
Delete file on remote FTP server after processing?
Definition FtpPoller.qm.dox.h:218
string host
host or address name
Definition FtpPoller.qm.dox.h:177
*code log_detail
optional detail log closure
Definition FtpPoller.qm.dox.h:262
*bool fileEvent(list< hash< FtpPollerFileEventInfo > > l)
called for each poll with a list of all files matched before transfer
bool atomic_transfer
Atomic transfer flag for use with local_dir.
Definition FtpPoller.qm.dox.h:213
logDetail(string fmt,...)
calls the "log_detail" closure or call reference with detail information
abstract postSingleFileEvent(hash< FtpPollerFileEventInfo > event)
called after singleFileEvent() for each matching file individually
string url
url
Definition FtpPoller.qm.dox.h:186
*code log_info
optional info log closure
Definition FtpPoller.qm.dox.h:259
*softint minage
minimum file age
Definition FtpPoller.qm.dox.h:256
hash< FtpPollerFileEventInfo > retrieveFile(hash< FtpPollerFileEventInfo > event)
Retrieves the remote file to local_dir directly.
string tempfile_template
The temporary filename template when local_dir is set.
Definition FtpPoller.qm.dox.h:210
stop()
stops the polling operation, returns when the polling operation has been stopped
bool runOnce()
runs a single poll (useful for checking for errors inline before starting a background thread)
ftpSleep(softint secs)
sleeps for the specificed number of seconds
updateOptions(FtpClient ftp)
Updates options.
run()
starts the polling operation
string getTextFile(string path)
retrieves a text file and returns the file's contents
int poll_interval
poll interval in seconds
Definition FtpPoller.qm.dox.h:204
constructor(Qore::FtpClient n_ftp, hash< auto > nconf)
creates the FtpPoller object from the FtpClient argument and configuration hash argument passed
bool get_files
internal "get files" flag
Definition FtpPoller.qm.dox.h:229
timeout timeout
timeout in ms
Definition FtpPoller.qm.dox.h:244
waitStop()
waits indefinitely for the polling operation to stop
int getPollCount()
returns the current poll count
removeFile(string fn)
deletes a file on the server
setMask()
converts a glob mask into a regex
FtpClient new_ftp
Connection to update while polling.
Definition FtpPoller.qm.dox.h:274
Qore::FtpClient ftp
FtpClient object.
Definition FtpPoller.qm.dox.h:250
abstract singleFileEvent(hash< FtpPollerFileEventInfo > event)
called for each matching file individually whenever matching files are polled
const OrderAsc
ascending sort order
Definition FtpPoller.qm.dox.h:141
string user
user
Definition FtpPoller.qm.dox.h:183
logDebug(string fmt,...)
calls the "log_debug" closure or call reference with verbose debugging information
hash< UrlInfo > urlh
url hash
Definition FtpPoller.qm.dox.h:189
string protocol
Protocol ("ftp" or "ftps")
Definition FtpPoller.qm.dox.h:174
startInline()
starts the polling operation inline (not in a background thread)
string rootFtpPath
path after connecting to Ftp server
Definition FtpPoller.qm.dox.h:198
const EVENT_FTP_FILE
FTP file event constant.
Definition FtpPoller.qm.dox.h:126
const AppName
Generic FTP server app name.
Definition FtpPoller.qm.dox.h:123