nx_storage_sdk  1.0
Storage SDK
test_file_info_iterator.h
1 // Copyright 2018-present Network Optix, Inc. Licensed under MPL 2.0: www.mozilla.org/MPL/2.0/
2 
3 #pragma once
4 
5 #include <string>
6 #include <storage/third_party_storage.h>
7 #include <common.h>
8 #include <detail/fs_stub.h>
9 
12  public PluginRefCounter<TestFileInfoIterator>
13 {
14 public:
15  TestFileInfoIterator(FsStubNode* node, const std::string& prefix);
16 public:
17  virtual nx_spl::FileInfo* STORAGE_METHOD_CALL next(int* ecode) const override;
18 
19 public: // plugin interface implementation
20  virtual void* queryInterface(const nxpl::NX_GUID& interfaceID) override;
21 
22  virtual int addRef() const override;
23  virtual int releaseRef() const override;
24 
25 private:
26  mutable nx_spl::FileInfo m_fInfo;
27  mutable FsStubNode* m_cur;
28  std::string m_prefix;
29  mutable char m_urlBuf[4096];
30 };
31 
Definition: common.h:17
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Cast to type, specified by interfaceID.
Definition: test_file_info_iterator.cpp:40
Definition: test_file_info_iterator.h:10
File information iterator abstraction.
Definition: third_party_storage.h:138
Definition: fs_stub.h:16
virtual int releaseRef() const override
Decrement reference counter.
Definition: test_file_info_iterator.cpp:65
Common file information.
Definition: third_party_storage.h:126
virtual int addRef() const override
Increment reference counter.
Definition: test_file_info_iterator.cpp:60
GUID of plugin interface.
Definition: plugin_api.h:26
virtual nx_spl::FileInfo *STORAGE_METHOD_CALL next(int *ecode) const override
Definition: test_file_info_iterator.cpp:15