49 #include "ftplibpp/ftplib.h" 50 #include "storage/third_party_storage.h" 64 int p_addRef()
const {
return ++m_count; }
66 int p_releaseRef()
const 68 int new_count = --m_count;
70 delete static_cast<const P*
>(
this);
75 mutable std::atomic<int> m_count;
102 typedef std::shared_ptr<ftplib> implPtrType;
117 const std::string &storageUrl,
118 const std::string &uname,
119 const std::string &upasswd
122 virtual uint32_t STORAGE_METHOD_CALL
write(
128 virtual uint32_t STORAGE_METHOD_CALL
read(
134 virtual int STORAGE_METHOD_CALL
seek(
139 virtual int STORAGE_METHOD_CALL
getMode()
const override;
140 virtual uint32_t STORAGE_METHOD_CALL
size(
int* ecode)
const override;
145 virtual int addRef()
const override;
156 mutable int64_t m_pos;
161 long long m_localsize;
164 std::string m_implurl;
166 std::string m_passwd;
178 typedef std::vector<std::string> FileListType;
179 typedef FileListType::const_iterator FileListIteratorType;
183 FileListType &&fileList,
184 const std::string &baseDir
187 virtual FileInfo* STORAGE_METHOD_CALL
next(
int* ecode)
const override;
192 virtual int addRef()
const override;
198 int fileInfoFromMLSDString(
207 mutable std::vector<char> m_urlData;
210 FileListType m_fileList;
212 FileListIteratorType m_curFile;
226 int getAvail()
const {
return m_available;}
229 virtual int STORAGE_METHOD_CALL
isAvailable()
const override;
237 virtual uint64_t STORAGE_METHOD_CALL
getFreeSpace(
int* ecode)
const override;
238 virtual uint64_t STORAGE_METHOD_CALL
getTotalSpace(
int* ecode)
const override;
246 virtual void STORAGE_METHOD_CALL
removeDir(
267 virtual int STORAGE_METHOD_CALL
dirExists(
272 virtual uint64_t STORAGE_METHOD_CALL
fileSize(
280 virtual int addRef()
const override;
289 std::string m_implurl;
291 std::string m_passwd;
292 mutable std::mutex m_mutex;
293 mutable int m_available;
305 virtual const char** STORAGE_METHOD_CALL
findAvailable()
const override;
312 virtual const char* STORAGE_METHOD_CALL
storageType()
const override;
318 virtual int addRef()
const override;
virtual int releaseRef() const override
Decrement reference counter.
Definition: ftp_library.cpp:1364
Definition: ftp_library.h:57
Definition: ftp_library.h:171
virtual int STORAGE_METHOD_CALL getCapabilities() const override
Definition: ftp_library.cpp:753
virtual int addRef() const override
Increment reference counter.
Definition: ftp_library.cpp:998
virtual void STORAGE_METHOD_CALL renameFile(const char *oldUrl, const char *newUrl, int *ecode) override
Definition: ftp_library.cpp:820
File information iterator abstraction.
Definition: third_party_storage.h:138
virtual void STORAGE_METHOD_CALL removeDir(const char *url, int *ecode) override
Definition: ftp_library.cpp:807
Definition: ftp_library.h:296
Definition: ftp_library.h:107
Storage factory abstraction.
Definition: third_party_storage.h:273
virtual int STORAGE_METHOD_CALL isAvailable() const override
Definition: ftp_library.cpp:712
virtual IODevice *STORAGE_METHOD_CALL open(const char *uri, int flags, int *ecode) const override
Definition: ftp_library.cpp:937
virtual const char **STORAGE_METHOD_CALL findAvailable() const override
Definition: ftp_library.cpp:1044
virtual const char * lastErrorMessage(int ecode) const override
Definition: ftp_library.cpp:1100
virtual uint64_t STORAGE_METHOD_CALL getTotalSpace(int *ecode) const override
Definition: ftp_library.cpp:742
virtual int STORAGE_METHOD_CALL seek(uint64_t pos, int *ecode) override
Definition: ftp_library.cpp:1300
Common file information.
Definition: third_party_storage.h:126
virtual Storage *STORAGE_METHOD_CALL createStorage(const char *url, int *ecode) override
Definition: ftp_library.cpp:1050
Storage plugin namespace.
Definition: ftp_library.cpp:28
virtual int addRef() const override
Increment reference counter.
Definition: ftp_library.cpp:668
virtual uint64_t STORAGE_METHOD_CALL getFreeSpace(int *ecode) const override
Definition: ftp_library.cpp:731
virtual int releaseRef() const override
Decrement reference counter.
Definition: ftp_library.cpp:1039
virtual int STORAGE_METHOD_CALL dirExists(const char *url, int *ecode) const override
Definition: ftp_library.cpp:899
Definition: ftp_library.h:216
GUID of plugin interface.
Definition: plugin_api.h:26
Definition: ftp_library.h:94
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Cast to type, specified by interfaceID.
Definition: ftp_library.cpp:1015
Storage abstraction.
Definition: third_party_storage.h:155
virtual int STORAGE_METHOD_CALL fileExists(const char *url, int *ecode) const override
Definition: ftp_library.cpp:876
virtual FileInfo *STORAGE_METHOD_CALL next(int *ecode) const override
Definition: ftp_library.cpp:629
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Cast to type, specified by interfaceID.
Definition: ftp_library.cpp:1340
virtual FileInfoIterator *STORAGE_METHOD_CALL getFileIterator(const char *dirUrl, int *ecode) const override
Definition: ftp_library.cpp:834
virtual const char *STORAGE_METHOD_CALL storageType() const override
Definition: ftp_library.cpp:1082
virtual uint32_t STORAGE_METHOD_CALL size(int *ecode) const override
Definition: ftp_library.cpp:1324
Definition: ftp_library.h:78
virtual int addRef() const override
Increment reference counter.
Definition: ftp_library.cpp:1034
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Cast to type, specified by interfaceID.
Definition: ftp_library.cpp:979
virtual uint64_t STORAGE_METHOD_CALL fileSize(const char *url, int *ecode) const override
Definition: ftp_library.cpp:917
virtual int releaseRef() const override
Decrement reference counter.
Definition: ftp_library.cpp:1003
virtual void STORAGE_METHOD_CALL removeFile(const char *url, int *ecode) override
Definition: ftp_library.cpp:795
virtual int STORAGE_METHOD_CALL getMode() const override
Definition: ftp_library.cpp:1319
virtual uint32_t STORAGE_METHOD_CALL read(void *dst, const uint32_t size, int *ecode) const override
Definition: ftp_library.cpp:1262
virtual uint32_t STORAGE_METHOD_CALL write(const void *src, const uint32_t size, int *ecode) override
Definition: ftp_library.cpp:1225
virtual int releaseRef() const override
Decrement reference counter.
Definition: ftp_library.cpp:673
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Cast to type, specified by interfaceID.
Definition: ftp_library.cpp:649
virtual int addRef() const override
Increment reference counter.
Definition: ftp_library.cpp:1359
IO device abstraction.
Definition: third_party_storage.h:73