nx_video_source_sdk  1.0
Video Source SDK
dir_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 
7 #include <stdint.h>
8 
9 namespace FsEntryType
10 {
11  enum Value
12  {
13  etRegularFile = 0x01,
14  etDirectory = 0x02,
15  etOther = 0x04
16  };
17 
18  const char* toString( Value val );
19 }
20 
21 
22 
23 class DirIteratorImpl;
24 
26 
39 {
40 public:
45  DirIterator( const std::string& dirPath );
46  ~DirIterator();
47 
49  void setRecursive( bool _recursive );
54  void setWildCardMask( const std::string& wildcardMask );
56 
60  void setEntryTypeFilter( unsigned int entryTypeMask );
61 
63 
66  bool next();
67 
69  std::string entryPath() const;
71  std::string entryFullPath() const;
72  FsEntryType::Value entryType() const;
73  uint64_t entrySize() const;
74 
75 private:
76  DirIteratorImpl* m_impl;
77 };
Iterates through contents of specified directory.
Definition: dir_iterator.h:38
Definition: dir_iterator.cpp:42
void setWildCardMask(const std::string &wildcardMask)
Definition: dir_iterator.cpp:297
bool next()
Moves iterator to the next entry.
Definition: dir_iterator.cpp:307
void setRecursive(bool _recursive)
Enable/disable reading child directories. By default recursive mode is off.
Definition: dir_iterator.cpp:292
std::string entryFullPath() const
Returns "search dir path" / "entry path".
Definition: dir_iterator.cpp:328
DirIterator(const std::string &dirPath)
Definition: dir_iterator.cpp:279
Definition: dir_iterator.cpp:22
std::string entryPath() const
Returns path to current entry (path relative to dirPath, specified at initialization) ...
Definition: dir_iterator.cpp:323
void setEntryTypeFilter(unsigned int entryTypeMask)
Filter found entries by entry type.
Definition: dir_iterator.cpp:302