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;
99 typedef std::shared_ptr<ftplib> implPtrType;
114 const std::string &storageUrl,
115 const std::string &uname,
116 const std::string &upasswd
119 virtual uint32_t STORAGE_METHOD_CALL
write(
125 virtual uint32_t STORAGE_METHOD_CALL
read(
131 virtual int STORAGE_METHOD_CALL
seek(
136 virtual int STORAGE_METHOD_CALL
getMode()
const override;
137 virtual uint32_t STORAGE_METHOD_CALL
size(
int* ecode)
const override;
142 virtual int addRef()
const override;
153 mutable int64_t m_pos;
156 std::string m_localfile;
158 long long m_localsize;
161 std::string m_implurl;
163 std::string m_passwd;
175 typedef std::vector<std::string> FileListType;
176 typedef FileListType::const_iterator FileListIteratorType;
180 FileListType &&fileList,
181 const std::string &baseDir
184 virtual FileInfo* STORAGE_METHOD_CALL
next(
int* ecode)
const override;
189 virtual int addRef()
const override;
195 int fileInfoFromMLSDString(
204 mutable std::vector<char> m_urlData;
207 FileListType m_fileList;
209 FileListIteratorType m_curFile;
223 int getAvail()
const {
return m_available;}
226 virtual int STORAGE_METHOD_CALL
isAvailable()
const override;
234 virtual uint64_t STORAGE_METHOD_CALL
getFreeSpace(
int* ecode)
const;
235 virtual uint64_t STORAGE_METHOD_CALL
getTotalSpace(
int* ecode)
const;
243 virtual void STORAGE_METHOD_CALL
removeDir(
264 virtual int STORAGE_METHOD_CALL
dirExists(
269 virtual uint64_t STORAGE_METHOD_CALL
fileSize(
277 virtual int addRef()
const override;
286 std::string m_implurl;
288 std::string m_passwd;
289 mutable std::mutex m_mutex;
290 mutable int m_available;
302 virtual const char** STORAGE_METHOD_CALL
findAvailable()
const override;
309 virtual const char* STORAGE_METHOD_CALL
storageType()
const override;
315 virtual int addRef()
const override;
320 #endif // __FTP_THIRD_PARTY_LIBRARY_H__ virtual int releaseRef() const override
Decrement reference counter.
Definition: ftp_library.cpp:1331
Definition: ftp_library.h:66
Definition: ftp_library.h:168
virtual int addRef() const override
Increment reference counter.
Definition: ftp_library.cpp:965
virtual void STORAGE_METHOD_CALL renameFile(const char *oldUrl, const char *newUrl, int *ecode) override
Definition: ftp_library.cpp:787
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:774
Definition: ftp_library.h:293
Definition: ftp_library.h:104
Storage factory abstraction.
Definition: third_party_storage.h:273
virtual int STORAGE_METHOD_CALL isAvailable() const override
Definition: ftp_library.cpp:678
virtual IODevice *STORAGE_METHOD_CALL open(const char *uri, int flags, int *ecode) const override
Definition: ftp_library.cpp:904
virtual const char **STORAGE_METHOD_CALL findAvailable() const override
Definition: ftp_library.cpp:1011
virtual const char * lastErrorMessage(int ecode) const override
Definition: ftp_library.cpp:1067
virtual int STORAGE_METHOD_CALL seek(uint64_t pos, int *ecode) override
Definition: ftp_library.cpp:1267
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:1017
Storage plugin namespace.
Definition: ftp_library.cpp:27
virtual int addRef() const override
Increment reference counter.
Definition: ftp_library.cpp:634
virtual int releaseRef() const override
Decrement reference counter.
Definition: ftp_library.cpp:1006
virtual int STORAGE_METHOD_CALL dirExists(const char *url, int *ecode) const override
Definition: ftp_library.cpp:866
Definition: ftp_library.h:213
GUID of plugin interface.
Definition: plugin_api.h:26
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Cast to type, specified by interfaceID.
Definition: ftp_library.cpp:982
Storage abstraction.
Definition: third_party_storage.h:155
virtual uint64_t STORAGE_METHOD_CALL getTotalSpace(int *ecode) const
Definition: ftp_library.cpp:706
virtual uint64_t STORAGE_METHOD_CALL getFreeSpace(int *ecode) const
Definition: ftp_library.cpp:695
virtual int STORAGE_METHOD_CALL fileExists(const char *url, int *ecode) const override
Definition: ftp_library.cpp:843
virtual FileInfo *STORAGE_METHOD_CALL next(int *ecode) const override
Definition: ftp_library.cpp:595
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Cast to type, specified by interfaceID.
Definition: ftp_library.cpp:1307
virtual FileInfoIterator *STORAGE_METHOD_CALL getFileIterator(const char *dirUrl, int *ecode) const override
Definition: ftp_library.cpp:801
virtual const char *STORAGE_METHOD_CALL storageType() const override
Definition: ftp_library.cpp:1049
virtual uint32_t STORAGE_METHOD_CALL size(int *ecode) const override
Definition: ftp_library.cpp:1291
Definition: ftp_library.h:87
virtual int addRef() const override
Increment reference counter.
Definition: ftp_library.cpp:1001
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Cast to type, specified by interfaceID.
Definition: ftp_library.cpp:946
virtual uint64_t STORAGE_METHOD_CALL fileSize(const char *url, int *ecode) const override
Definition: ftp_library.cpp:884
virtual int releaseRef() const override
Decrement reference counter.
Definition: ftp_library.cpp:970
virtual void STORAGE_METHOD_CALL removeFile(const char *url, int *ecode) override
Definition: ftp_library.cpp:762
virtual int STORAGE_METHOD_CALL getMode() const override
Definition: ftp_library.cpp:1286
virtual int STORAGE_METHOD_CALL getCapabilities() const
Definition: ftp_library.cpp:717
virtual uint32_t STORAGE_METHOD_CALL read(void *dst, const uint32_t size, int *ecode) const override
Definition: ftp_library.cpp:1229
virtual uint32_t STORAGE_METHOD_CALL write(const void *src, const uint32_t size, int *ecode) override
Definition: ftp_library.cpp:1192
virtual int releaseRef() const override
Decrement reference counter.
Definition: ftp_library.cpp:639
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Cast to type, specified by interfaceID.
Definition: ftp_library.cpp:615
virtual int addRef() const override
Increment reference counter.
Definition: ftp_library.cpp:1326
IO device abstraction.
Definition: third_party_storage.h:73