Qore FtpClientDataProvider Module Reference 1.0
Loading...
Searching...
No Matches
FtpClientDataProvider.qc.dox.h
1// -*- mode: c++; indent-tabs-mode: nil -*-
3
26namespace FtpClientDataProvider {
28class FtpClientDataProvider : public AbstractDataProvider {
29
30public:
32 const ProviderInfo = <DataProviderInfo>{
33 "type": "FtpClientDataProvider",
34 "constructor_options": ConstructorOptions,
35 "supports_children": True,
36 "children_can_support_apis": True,
37 "children_can_support_records": False,
38 "children_can_support_observers": False,
39 };
40
42 const ConstructorOptions = {
43 "timeout": <DataProviderOptionInfo>{
44 "type": AbstractDataProviderType::get(IntType),
45 "desc": "I/O timeout to use in milliseconds",
46 },
47 "url": <DataProviderOptionInfo>{
48 "type": AbstractDataProviderType::get(StringType),
49 "desc": "A URL for an FTP or FTPS connection",
50 "required": True,
51 },
52 };
53
54 FtpClient ftp;
55
56protected:
57 const ChildMap = {
58 "create-file": Class::forName("FtpClientDataProvider::FtpClientCreateFileDataProvider"),
59 "delete": Class::forName("FtpClientDataProvider::FtpClientDeleteDataProvider"),
60 "get-file": Class::forName("FtpClientDataProvider::FtpClientGetFileDataProvider"),
61 "list": Class::forName("FtpClientDataProvider::FtpClientListDataProvider"),
62 "mkdir": Class::forName("FtpClientDataProvider::FtpClientMkdirDataProvider"),
63 "move": Class::forName("FtpClientDataProvider::FtpClientMoveDataProvider"),
64 "stat": Class::forName("FtpClientDataProvider::FtpClientStatDataProvider"),
65 };
66
67public:
68
70 constructor(*hash<auto> options);
71
72
74 constructor(FtpClient ftp);
75
76
78 string getName();
79
80
82 *string getDesc();
83
84
86 *list<hash<DataProviderSummaryInfo>> getChildProviderSummaryInfo();
87
88
90 static FtpClient getFtpClientConnection(hash<auto> options);
91
93 static string getPath(FtpClient ftp, string path1);
94
96
98protected:
100public:
101
102
104
108protected:
109 *AbstractDataProvider getChildProviderImpl(string name);
110public:
111
112
114protected:
115 hash<DataProviderInfo> getStaticInfoImpl();
116public:
117
118};
119};
string getName()
Returns the data provider name.
*list< string > getChildProviderNamesImpl()
Returns a list of child data provider names, if any.
*AbstractDataProvider getChildProviderImpl(string name)
Returns the given child provider or NOTHING if the given child is unknown.
static FtpClient getFtpClientConnection(hash< auto > options)
Returns an FTP connection from constructor options.
hash< DataProviderInfo > getStaticInfoImpl()
Returns data provider static info.
constructor(FtpClient ftp)
Creates the object from an FTP connection.
*string getDesc()
Returns the data provider description.
constructor(*hash< auto > options)
Creates the object from constructor options.
*list< hash< DataProviderSummaryInfo > > getChildProviderSummaryInfo()
Return data provider summary info.
static string getPath(FtpClient ftp, string path1)
Returns the path based on the FtpClient's base path.
Qore FtpClientDataProvider module definition.
Definition: FtpClientCreateFileDataProvider.qc.dox.h:26