50 #include "ftplibpp/ftplib.h" 51 #include "storage/third_party_storage.h" 65 int p_addRef()
const {
return ++m_count; }
67 int p_releaseRef()
const 69 int new_count = --m_count;
71 delete static_cast<const P*
>(
this);
76 mutable std::atomic<int> m_count;
105 using FtpImplPtr = std::shared_ptr<aux::FtpLibWrapper>;
117 FtpIODevice(FtpImplPtr ftpImplPtr,
const char *uri,
int mode);
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;
154 mutable int64_t m_pos;
158 long long m_localsize;
159 mutable std::mutex m_mutex;
160 std::string m_implurl;
162 std::string m_passwd;
174 typedef std::vector<std::string> FileListType;
175 typedef FileListType::const_iterator FileListIteratorType;
178 virtual FileInfo* STORAGE_METHOD_CALL
next(
int* ecode)
const override;
183 virtual int addRef()
const override;
192 FileListType m_fileList;
193 mutable FileListIteratorType m_curFile;
207 virtual int STORAGE_METHOD_CALL
isAvailable()
const override;
215 virtual uint64_t STORAGE_METHOD_CALL
getFreeSpace(
int* ecode)
const override;
216 virtual uint64_t STORAGE_METHOD_CALL
getTotalSpace(
int* ecode)
const override;
224 virtual void STORAGE_METHOD_CALL
removeDir(
245 virtual int STORAGE_METHOD_CALL
dirExists(
250 virtual uint64_t STORAGE_METHOD_CALL
fileSize(
258 virtual int addRef()
const override;
267 mutable std::mutex m_mutex;
268 mutable int m_capabilities = 0;
280 virtual const char** STORAGE_METHOD_CALL
findAvailable()
const override;
287 virtual const char* STORAGE_METHOD_CALL
storageType()
const override;
293 virtual int addRef()
const override;
virtual void STORAGE_METHOD_CALL removeDir(const char *url, int *ecode) override
Definition: ftp_library.cpp:807
virtual int releaseRef() const override
Decrement reference counter.
Definition: ftp_library.cpp:1198
virtual FileInfoIterator *STORAGE_METHOD_CALL getFileIterator(const char *dirUrl, int *ecode) const override
Definition: ftp_library.cpp:819
Definition: ftp_library.h:58
virtual void STORAGE_METHOD_CALL removeFile(const char *url, int *ecode) override
Definition: ftp_library.cpp:801
Definition: ftp_library.h:167
virtual int addRef() const override
Increment reference counter.
Definition: ftp_library.cpp:902
virtual int STORAGE_METHOD_CALL dirExists(const char *url, int *ecode) const override
Definition: ftp_library.cpp:846
File information iterator abstraction.
Definition: third_party_storage.h:138
Definition: ftp_library.h:271
Definition: ftp_library.h:110
Storage factory abstraction.
Definition: third_party_storage.h:273
virtual Storage *STORAGE_METHOD_CALL createStorage(const char *url, int *ecode) override
Definition: ftp_library.cpp:953
virtual const char * lastErrorMessage(int ecode) const override
Definition: ftp_library.cpp:988
virtual int STORAGE_METHOD_CALL seek(uint64_t pos, int *ecode) override
Definition: ftp_library.cpp:1134
Definition: ftp_library.cpp:394
Common file information.
Definition: third_party_storage.h:126
Storage plugin namespace.
Definition: ftp_library.cpp:29
virtual int addRef() const override
Increment reference counter.
Definition: ftp_library.cpp:726
virtual int STORAGE_METHOD_CALL fileExists(const char *url, int *ecode) const override
Definition: ftp_library.cpp:835
virtual uint64_t STORAGE_METHOD_CALL getFreeSpace(int *ecode) const override
Definition: ftp_library.cpp:751
virtual int STORAGE_METHOD_CALL isAvailable() const override
Definition: ftp_library.cpp:746
virtual int releaseRef() const override
Decrement reference counter.
Definition: ftp_library.cpp:942
Definition: ftp_library.h:196
virtual uint64_t STORAGE_METHOD_CALL getTotalSpace(int *ecode) const override
Definition: ftp_library.cpp:759
GUID of plugin interface.
Definition: plugin_api.h:26
Definition: ftp_library.h:95
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Cast to type, specified by interfaceID.
Definition: ftp_library.cpp:918
Storage abstraction.
Definition: third_party_storage.h:155
virtual uint32_t STORAGE_METHOD_CALL write(const void *src, const uint32_t size, int *ecode) override
Definition: ftp_library.cpp:1063
virtual int STORAGE_METHOD_CALL getCapabilities() const override
Definition: ftp_library.cpp:767
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Cast to type, specified by interfaceID.
Definition: ftp_library.cpp:1174
virtual FileInfo *STORAGE_METHOD_CALL next(int *ecode) const override
Definition: ftp_library.cpp:689
virtual const char *STORAGE_METHOD_CALL storageType() const override
Definition: ftp_library.cpp:970
virtual IODevice *STORAGE_METHOD_CALL open(const char *uri, int flags, int *ecode) const override
Definition: ftp_library.cpp:870
virtual uint32_t STORAGE_METHOD_CALL size(int *ecode) const override
Definition: ftp_library.cpp:1158
Definition: ftp_library.h:79
virtual int addRef() const override
Increment reference counter.
Definition: ftp_library.cpp:937
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Cast to type, specified by interfaceID.
Definition: ftp_library.cpp:884
virtual void STORAGE_METHOD_CALL renameFile(const char *oldUrl, const char *newUrl, int *ecode) override
Definition: ftp_library.cpp:813
virtual int releaseRef() const override
Decrement reference counter.
Definition: ftp_library.cpp:907
virtual uint64_t STORAGE_METHOD_CALL fileSize(const char *url, int *ecode) const override
Definition: ftp_library.cpp:857
virtual int STORAGE_METHOD_CALL getMode() const override
Definition: ftp_library.cpp:1153
virtual uint32_t STORAGE_METHOD_CALL read(void *dst, const uint32_t size, int *ecode) const override
Definition: ftp_library.cpp:1096
virtual int releaseRef() const override
Decrement reference counter.
Definition: ftp_library.cpp:731
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Cast to type, specified by interfaceID.
Definition: ftp_library.cpp:707
virtual int addRef() const override
Increment reference counter.
Definition: ftp_library.cpp:1193
IO device abstraction.
Definition: third_party_storage.h:73
virtual const char **STORAGE_METHOD_CALL findAvailable() const override
Definition: ftp_library.cpp:947