3 #ifndef __FTP_THIRD_PARTY_LIBRARY_H__ 4 #define __FTP_THIRD_PARTY_LIBRARY_H__ 12 #include "storage/third_party_storage.h" 13 #include "ftplib/ftplib.h" 73 int p_addRef()
const {
return ++m_count; }
75 int p_releaseRef()
const 77 int new_count = --m_count;
79 delete static_cast<const P*
>(
this);
84 mutable std::atomic<int> m_count;
106 std::string fullPath;
111 typedef std::shared_ptr<ftplib> implPtrType;
126 const std::string &storageUrl,
127 const std::string &uname,
128 const std::string &upasswd
131 virtual uint32_t STORAGE_METHOD_CALL
write(
137 virtual uint32_t STORAGE_METHOD_CALL
read(
143 virtual int STORAGE_METHOD_CALL
seek(
148 virtual int STORAGE_METHOD_CALL
getMode()
const override;
149 virtual uint32_t STORAGE_METHOD_CALL
size(
int* ecode)
const override;
154 virtual int addRef()
const override;
165 mutable int64_t m_pos;
170 long long m_localsize;
173 std::string m_implurl;
175 std::string m_passwd;
187 typedef std::vector<std::string> FileListType;
188 typedef FileListType::const_iterator FileListIteratorType;
192 FileListType &&fileList,
193 const std::string &baseDir
196 virtual FileInfo* STORAGE_METHOD_CALL
next(
int* ecode)
const override;
201 virtual int addRef()
const override;
207 int fileInfoFromMLSDString(
216 mutable std::vector<char> m_urlData;
219 FileListType m_fileList;
221 FileListIteratorType m_curFile;
235 int getAvail()
const {
return m_available;}
238 virtual int STORAGE_METHOD_CALL
isAvailable()
const override;
246 virtual uint64_t STORAGE_METHOD_CALL
getFreeSpace(
int* ecode)
const;
247 virtual uint64_t STORAGE_METHOD_CALL
getTotalSpace(
int* ecode)
const;
255 virtual void STORAGE_METHOD_CALL
removeDir(
276 virtual int STORAGE_METHOD_CALL
dirExists(
281 virtual uint64_t STORAGE_METHOD_CALL
fileSize(
289 virtual int addRef()
const override;
298 std::string m_implurl;
300 std::string m_passwd;
301 mutable std::mutex m_mutex;
302 mutable int m_available;
314 virtual const char** STORAGE_METHOD_CALL
findAvailable()
const override;
321 virtual const char* STORAGE_METHOD_CALL
storageType()
const override;
327 virtual int addRef()
const override;
332 #endif // __FTP_THIRD_PARTY_LIBRARY_H__ virtual int releaseRef() const override
Decrement reference counter.
Definition: ftp_library.cpp:1364
Definition: ftp_library.h:66
Definition: ftp_library.h:180
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:305
Definition: ftp_library.h:116
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 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 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:225
GUID of plugin interface.
Definition: plugin_api.h:26
Definition: ftp_library.h:103
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 uint64_t STORAGE_METHOD_CALL getTotalSpace(int *ecode) const
Definition: ftp_library.cpp:742
virtual uint64_t STORAGE_METHOD_CALL getFreeSpace(int *ecode) const
Definition: ftp_library.cpp:731
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:87
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 int STORAGE_METHOD_CALL getCapabilities() const
Definition: ftp_library.cpp:753
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