47 #include "storage/third_party_storage.h" 48 #include "ftplib/ftplib.h" 62 int p_addRef()
const {
return ++m_count; }
64 int p_releaseRef()
const 66 int new_count = --m_count;
68 delete static_cast<const P*
>(
this);
73 mutable std::atomic<int> m_count;
100 typedef std::shared_ptr<ftplib> implPtrType;
115 const std::string &storageUrl,
116 const std::string &uname,
117 const std::string &upasswd
120 virtual uint32_t STORAGE_METHOD_CALL
write(
126 virtual uint32_t STORAGE_METHOD_CALL
read(
132 virtual int STORAGE_METHOD_CALL
seek(
137 virtual int STORAGE_METHOD_CALL
getMode()
const override;
138 virtual uint32_t STORAGE_METHOD_CALL
size(
int* ecode)
const override;
143 virtual int addRef()
const override;
154 mutable int64_t m_pos;
159 long long m_localsize;
162 std::string m_implurl;
164 std::string m_passwd;
176 typedef std::vector<std::string> FileListType;
177 typedef FileListType::const_iterator FileListIteratorType;
181 FileListType &&fileList,
182 const std::string &baseDir
185 virtual FileInfo* STORAGE_METHOD_CALL
next(
int* ecode)
const override;
190 virtual int addRef()
const override;
196 int fileInfoFromMLSDString(
205 mutable std::vector<char> m_urlData;
208 FileListType m_fileList;
210 FileListIteratorType m_curFile;
224 int getAvail()
const {
return m_available;}
227 virtual int STORAGE_METHOD_CALL
isAvailable()
const override;
235 virtual uint64_t STORAGE_METHOD_CALL
getFreeSpace(
int* ecode)
const;
236 virtual uint64_t STORAGE_METHOD_CALL
getTotalSpace(
int* ecode)
const;
244 virtual void STORAGE_METHOD_CALL
removeDir(
265 virtual int STORAGE_METHOD_CALL
dirExists(
270 virtual uint64_t STORAGE_METHOD_CALL
fileSize(
278 virtual int addRef()
const override;
287 std::string m_implurl;
289 std::string m_passwd;
290 mutable std::mutex m_mutex;
291 mutable int m_available;
303 virtual const char** STORAGE_METHOD_CALL
findAvailable()
const override;
310 virtual const char* STORAGE_METHOD_CALL
storageType()
const override;
316 virtual int addRef()
const override;
virtual int releaseRef() const override
Decrement reference counter.
Definition: ftp_library.cpp:1364
Definition: ftp_library.h:55
Definition: ftp_library.h:169
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:294
Definition: ftp_library.h:105
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:214
GUID of plugin interface.
Definition: plugin_api.h:26
Definition: ftp_library.h:92
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:76
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