Qore FtpClientDataProvider Module Reference  1.0
FtpClientDataProvider.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3 
26 namespace FtpClientDataProvider {
28 class FtpClientDataProvider : public AbstractDataProvider {
29 
30 public:
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 
56 protected:
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 
67 public:
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 
98 protected:
99  *list<string> getChildProviderNamesImpl();
100 public:
101 
102 
104 
108 protected:
109  *AbstractDataProvider getChildProviderImpl(string name);
110 public:
111 
112 
114 protected:
115  hash<DataProviderInfo> getStaticInfoImpl();
116 public:
117 
118 };
119 };
string getName()
Returns the data provider name.
*list< string > getChildProviderNamesImpl()
Returns a list of child data provider names, if any.
*list< hash< DataProviderSummaryInfo > > getChildProviderSummaryInfo()
Return data provider summary info.
*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.
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.
hash< DataProviderInfo > getStaticInfoImpl()
Returns data provider static info.
static string getPath(FtpClient ftp, string path1)
Returns the path based on the FtpClient's base path.
const True
const False
Qore FtpClientDataProvider module definition.
Definition: FtpClientCreateFileDataProvider.qc.dox.h:26