OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ossimFileWalker Class Reference

Utility class to walk through directories and get a list of files to process. More...

#include <ossimFileWalker.h>

Classes

class  ossimFileWalkerJob
 Private ossimJob class. More...
 
class  ossimFileWalkerJobCallback
 Private ossimJobCallback class. More...
 

Public Member Functions

 ossimFileWalker ()
 default constructor More...
 
 ~ossimFileWalker ()
 destructor More...
 
void walk (const std::vector< ossimFilename > &files)
 Takes an array of files. More...
 
void walk (const ossimFilename &root)
 This will walk "root" and execute a callback for each file found. More...
 
void setFileProcessor (ossimFileProcessorInterface *fpi)
 Sets ossimFileProcessorInterfacecallback method to process files. More...
 
const std::vector< std::string > & getFilteredExtensions () const
 
std::vector< std::string > & getFilteredExtensions ()
 Non const method to allow access for adding or deleting extensions from the list. More...
 
void dumpFilteredExtensionList () const
 Dumps filtered image extenstions to std out. More...
 
void initializeDefaultFilterList ()
 Initializes the filter list with a default set of filtered out file names. More...
 
void setRecurseFlag (bool flag)
 Sets recurse flag. More...
 
void setWaitOnDirFlag (bool flag)
 Sets waitOnDir flag. More...
 
void setAbortFlag (bool flag)
 If set to true this stops files walking (aborts). More...
 
void setNumberOfThreads (ossim_uint32 nThreads)
 Sets the max number of threads(jobs) to run at one time. More...
 

Private Member Functions

void walkDir (const ossimFilename &dir)
 Processes files in directory. More...
 
bool isFiltered (const ossimFilename &f) const
 Convenience method for file walker code to check file to see is it should be processed. More...
 
bool isDotFile (const ossimFilename &f) const
 isDotFile method. More...
 

Private Attributes

ossimFileProcessorInterfacem_fileProcessor
 Callback to method to process a file. More...
 
std::shared_ptr< ossimJobMultiThreadQueuem_jobQueue
 
std::vector< std::string > m_filteredExtensions
 
bool m_recurseFlag
 
bool m_waitOnDirFlag
 
bool m_abortFlag
 
std::mutex m_mutex
 

Detailed Description

Utility class to walk through directories and get a list of files to process.

For each file found the ossimFileProcessorInterface::processFile method is excecuted. Internally the processFile calls are placed in a job queue.

Typical usage (snip from ossimTiledElevationDatabase):

ossimFileWalker* fw = new ossimFileWalker(); fw->initializeDefaultFilterList(); fw->setFileProcessor( this ); fw->walk(f);

Definition at line 46 of file ossimFileWalker.h.

Constructor & Destructor Documentation

◆ ossimFileWalker()

ossimFileWalker::ossimFileWalker ( )

default constructor

Definition at line 28 of file ossimFileWalker.cpp.

29  : m_fileProcessor(0),
30  m_jobQueue(std::make_shared<ossimJobMultiThreadQueue>(std::make_shared<ossimJobQueue>(), 1)),
32  m_recurseFlag(true),
33  m_waitOnDirFlag(false),
34  m_abortFlag(false),
35  m_mutex()
36 {
37 }
ossimFileProcessorInterface * m_fileProcessor
Callback to method to process a file.
std::shared_ptr< ossimJobMultiThreadQueue > m_jobQueue
std::mutex m_mutex
std::vector< std::string > m_filteredExtensions

◆ ~ossimFileWalker()

ossimFileWalker::~ossimFileWalker ( )

destructor

Definition at line 39 of file ossimFileWalker.cpp.

References m_jobQueue.

40 {
41  m_jobQueue = 0; // Not a leak, ref pointer.
42 }
std::shared_ptr< ossimJobMultiThreadQueue > m_jobQueue

Member Function Documentation

◆ dumpFilteredExtensionList()

void ossimFileWalker::dumpFilteredExtensionList ( ) const

Dumps filtered image extenstions to std out.

Definition at line 406 of file ossimFileWalker.cpp.

References m_filteredExtensions, ossimNotify(), and ossimNotifyLevel_NOTICE.

407 {
408  ossimNotify(ossimNotifyLevel_NOTICE) << "Filtered extension list:\n";
409  std::vector<std::string>::const_iterator i = m_filteredExtensions.begin();
410  while ( i != m_filteredExtensions.end() )
411  {
412  ossimNotify(ossimNotifyLevel_NOTICE) << (*i) << "\n";
413  ++i;
414  }
415  ossimNotify(ossimNotifyLevel_NOTICE) << std::endl;
416 }
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
std::vector< std::string > m_filteredExtensions

◆ getFilteredExtensions() [1/2]

const std::vector< std::string > & ossimFileWalker::getFilteredExtensions ( ) const
Returns
The list of filtered out files.

Definition at line 396 of file ossimFileWalker.cpp.

References m_filteredExtensions.

397 {
398  return m_filteredExtensions;
399 }
std::vector< std::string > m_filteredExtensions

◆ getFilteredExtensions() [2/2]

std::vector< std::string > & ossimFileWalker::getFilteredExtensions ( )

Non const method to allow access for adding or deleting extensions from the list.

The list is used by the private isFiltered method to avoid trying to process unwanted files.

Definition at line 401 of file ossimFileWalker.cpp.

References m_filteredExtensions.

402 {
403  return m_filteredExtensions;
404 }
std::vector< std::string > m_filteredExtensions

◆ initializeDefaultFilterList()

void ossimFileWalker::initializeDefaultFilterList ( )

Initializes the filter list with a default set of filtered out file names.

Definition at line 418 of file ossimFileWalker.cpp.

References m_filteredExtensions, and m_mutex.

Referenced by ossimImageElevationDatabase::loadFileMap().

419 {
420  m_mutex.lock();
421 
422  // Common extensions to filter out, most common first.
423  m_filteredExtensions.push_back(std::string("ovr"));
424  m_filteredExtensions.push_back(std::string("omd"));
425  m_filteredExtensions.push_back(std::string("his"));
426  m_filteredExtensions.push_back(std::string("geom"));
427 
428  // The rest alphabetical.
429  m_filteredExtensions.push_back(std::string("aux"));
430  m_filteredExtensions.push_back(std::string("bin"));
431  m_filteredExtensions.push_back(std::string("dbf"));
432  m_filteredExtensions.push_back(std::string("h5"));
433  m_filteredExtensions.push_back(std::string("hdr"));
434  m_filteredExtensions.push_back(std::string("jgw"));
435  m_filteredExtensions.push_back(std::string("jpw"));
436  m_filteredExtensions.push_back(std::string("kwl"));
437  m_filteredExtensions.push_back(std::string("log"));
438  m_filteredExtensions.push_back(std::string("man"));
439  m_filteredExtensions.push_back(std::string("ocg"));
440  m_filteredExtensions.push_back(std::string("out"));
441  m_filteredExtensions.push_back(std::string("prj"));
442  m_filteredExtensions.push_back(std::string("save"));
443  m_filteredExtensions.push_back(std::string("sdw"));
444  m_filteredExtensions.push_back(std::string("sh"));
445  m_filteredExtensions.push_back(std::string("shp"));
446  m_filteredExtensions.push_back(std::string("shx"));
447  m_filteredExtensions.push_back(std::string("spec"));
448  m_filteredExtensions.push_back(std::string("statistics"));
449  m_filteredExtensions.push_back(std::string("tar"));
450  m_filteredExtensions.push_back(std::string("til"));
451  m_filteredExtensions.push_back(std::string("tfw"));
452  m_filteredExtensions.push_back(std::string("tgz"));
453  m_filteredExtensions.push_back(std::string("tmp"));
454  m_filteredExtensions.push_back(std::string("txt"));
455 
456  m_mutex.unlock();
457 }
std::mutex m_mutex
std::vector< std::string > m_filteredExtensions

◆ isDotFile()

bool ossimFileWalker::isDotFile ( const ossimFilename f) const
private

isDotFile method.

Parameters
fFile/directory to check.
Returns
true if file is a dot file.

Definition at line 354 of file ossimFileWalker.cpp.

References ossimString::find(), ossimString::find_last_of(), and ossimString::size().

Referenced by isFiltered().

355 {
356  bool result = false;
357 
358  // Get the size in bytes.
359  if ( f.size() )
360  {
361  std::string::size_type firstDotPos = f.find('.');
362  if ( firstDotPos == 0 )
363  {
364  result = true;
365  }
366  else if ( firstDotPos != std::string::npos ) // Dot in file.
367  {
368  // Get the position of first dot from the end.
369  std::string::size_type lastDotPos = f.find_last_of('.');
370  if ( lastDotPos != std::string::npos )
371  {
372  // Make copy.
373  ossimFilename f2 = f;
374 
375  // Convert an '\'s to '/'s.
376  // f2.convertBackToForwardSlashes();
377 
378  // Find the first slash from end.
379  std::string::size_type lastSlashPos = f2.find_last_of('/');
380 
381  if (lastSlashPos != std::string::npos) // Found a slash.
382  {
383  if ( (lastSlashPos+1) == lastDotPos )
384  {
385  // dot in front of slash like /home/foo/.xemacs
386  result = true;
387  }
388  }
389  }
390  }
391  }
392 
393  return result;
394 }
std::string::size_type size() const
Definition: ossimString.h:405
std::string::size_type find_last_of(char c, std::string::size_type pos=std::string::npos) const
Equivalent to rfind(c, pos).
Definition: ossimString.h:825
std::string::size_type find(const std::string &s, std::string::size_type pos=0) const
Searches for s as a substring of *this, beginning at character pos of *this.
Definition: ossimString.h:753

◆ isFiltered()

bool ossimFileWalker::isFiltered ( const ossimFilename f) const
private

Convenience method for file walker code to check file to see is it should be processed.

Parameters
fFile to check.
Returns
true if f is in filter list, false if not.

Definition at line 311 of file ossimFileWalker.cpp.

References ossimString::c_str(), ossimString::downcase(), ossimFilename::ext(), isDotFile(), m_filteredExtensions, and ossimString::size().

312 {
313  bool result = false;
314  if ( file.size() )
315  {
316  if ( isDotFile(file) )
317  {
318  result = true;
319  }
320  else if ( file[file.size()-1] == '~' )
321  {
322  result = true;
323  }
324  else
325  {
326  std::string ext = file.ext().downcase().c_str();
327  if ( ext.size() )
328  {
329  std::vector<std::string>::const_iterator i = m_filteredExtensions.begin();
330  while ( i != m_filteredExtensions.end() )
331  {
332  if ( ext == (*i) )
333  {
334  result = true;
335  break;
336  }
337  ++i;
338  }
339  }
340  }
341  }
342 #if 0 /* Please leave for debug. (drb) */
343  if(traceDebug())
344  {
346  << "ossimFileWalker::isFiltered file " << (result?"filtered: ":"not filtered: ")
347  << file << "\n";
348  }
349 #endif
350 
351  return result;
352 }
bool isDotFile(const ossimFilename &f) const
isDotFile method.
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
std::vector< std::string > m_filteredExtensions

◆ setAbortFlag()

void ossimFileWalker::setAbortFlag ( bool  flag)

If set to true this stops files walking (aborts).

Parameters
flagTrue to abort current "walk".

Definition at line 473 of file ossimFileWalker.cpp.

References m_abortFlag, and m_mutex.

474 {
475  m_mutex.lock();
476  m_abortFlag = flag;
477  m_mutex.unlock();
478 }
std::mutex m_mutex

◆ setFileProcessor()

void ossimFileWalker::setFileProcessor ( ossimFileProcessorInterface fpi)

Sets ossimFileProcessorInterfacecallback method to process files.

Parameters
fpiossimFileProcessorInterface pointer

Definition at line 487 of file ossimFileWalker.cpp.

References m_fileProcessor, and m_mutex.

Referenced by ossimImageElevationDatabase::loadFileMap().

488 {
489  m_mutex.lock();
490  m_fileProcessor = fpi;
491  m_mutex.unlock();
492 }
ossimFileProcessorInterface * m_fileProcessor
Callback to method to process a file.
std::mutex m_mutex

◆ setNumberOfThreads()

void ossimFileWalker::setNumberOfThreads ( ossim_uint32  nThreads)

Sets the max number of threads(jobs) to run at one time.

Definition at line 480 of file ossimFileWalker.cpp.

References m_jobQueue, and m_mutex.

481 {
482  m_mutex.lock();
483  m_jobQueue->setNumberOfThreads(nThreads);
484  m_mutex.unlock();
485 }
std::shared_ptr< ossimJobMultiThreadQueue > m_jobQueue
std::mutex m_mutex

◆ setRecurseFlag()

void ossimFileWalker::setRecurseFlag ( bool  flag)

Sets recurse flag.

If set to true this stops recursing of the current directory. Defaulted to true in the constructor. Typically used to indicate the directory being processed holds a directory based image, e.g. RPF data.

Parameters
flagTrue to recurse, false to stop recursion of current directory.

Definition at line 459 of file ossimFileWalker.cpp.

References m_mutex, and m_recurseFlag.

460 {
461  m_mutex.lock();
462  m_recurseFlag = flag;
463  m_mutex.unlock();
464 }
std::mutex m_mutex

◆ setWaitOnDirFlag()

void ossimFileWalker::setWaitOnDirFlag ( bool  flag)

Sets waitOnDir flag.

If set to true each directory is processed in entirety before sub directories are recursed. This allows callers of setRecurseFlag to disable directory walking. If your code is calling setRecurseFlag this flag should be set to true.

Parameters
flagtrue to wait, false to not wait. Defaulted to false in the constructor.

Definition at line 466 of file ossimFileWalker.cpp.

References m_mutex, and m_waitOnDirFlag.

467 {
468  m_mutex.lock();
469  m_waitOnDirFlag = flag;
470  m_mutex.unlock();
471 }
std::mutex m_mutex

◆ walk() [1/2]

void ossimFileWalker::walk ( const std::vector< ossimFilename > &  files)

Takes an array of files.

For each file in array: If files is a directory, it will walk it. Files found in walk or files(not directories) in the array will be processed via a job queue.

Files are filter prior to the callback execution. The filtering is to eliminate sending unwanted files to the callback. There is a default filter table. This can be edited by calling the non-const getFilteredExtensions method.

Each callback is placed in a threaded job queue. So users should ensure their callback is thread safe.

Definition at line 44 of file ossimFileWalker.cpp.

Referenced by ossimImageElevationDatabase::loadFileMap().

45 {
46  static const char M[] = "ossimFileWalker::walk";
47  if(traceDebug())
48  {
49  ossimNotify(ossimNotifyLevel_DEBUG) << M << " entered\n";
50  }
51 
52  if ( files.size() )
53  {
54  std::vector<ossimFilename>::const_iterator i = files.begin();
55  while ( i != files.end() )
56  {
57  // Must have call back set at this point.
58  if ( !m_abortFlag && m_fileProcessor )
59  {
60  ossimFilename file = (*i).expand();
61  if ( file.size() && file.exists() )
62  {
63  if ( file.isDir() ) // Directory:
64  {
65  walkDir(file);
66  }
67  else // File:
68  {
69  if ( isFiltered(file) == false )
70  {
71  if(traceDebug())
72  {
74  << "Making the job for: " << (*i) << std::endl;
75  }
76 
77  // Make the job:
78  std::shared_ptr<ossimFileWalkerJob> job =
79  std::make_shared<ossimFileWalkerJob>( m_fileProcessor, file );
80 
81  job->setName( ossimString( file.string() ) );
82 
83  job->setCallback( std::make_shared<ossimFileWalkerJobCallback>() );
84 
85  // Set the state to ready:
86  job->ready();
87 
88  // Add job to the queue:
89  m_jobQueue->getJobQueue()->add( job );
90 
91  m_mutex.lock();
92  if ( m_abortFlag )
93  {
94  // Clear out the queue.
95  m_jobQueue->getJobQueue()->clear();
96 
97  break; // Callee set our abort flag so break out of loop.
98  }
99  m_mutex.unlock();
100  }
101  }
102  }
103  else
104  {
106  << M << " WARNING: file: \""<< file << "\" does not exist" << std::endl;
107  }
108  }
109 
110  ++i;
111 
112  } // while ( i != files.end() )
113 
114  // FOREVER loop until all jobs are completed.
115  while (1)
116  {
118  if ( m_jobQueue->hasJobsToProcess() == false )
119  {
120  break;
121  }
122  }
123 
124  } // if ( files.size() )
125 
126  if(traceDebug())
127  {
128  ossimNotify(ossimNotifyLevel_DEBUG) << M << " exiting...\n";
129  }
130 }
ossimFilename expand() const
Method to do file name expansion.
ossimFileProcessorInterface * m_fileProcessor
Callback to method to process a file.
bool isDir() const
bool isFiltered(const ossimFilename &f) const
Convenience method for file walker code to check file to see is it should be processed.
static void sleepInMicroSeconds(ossim_uint64 micros)
Utility method to allow one to sleep in microseconds.
Definition: Thread.cpp:83
std::shared_ptr< ossimJobMultiThreadQueue > m_jobQueue
void walkDir(const ossimFilename &dir)
Processes files in directory.
std::mutex m_mutex
bool exists() const
std::string::size_type size() const
Definition: ossimString.h:405
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
const std::string & string() const
Definition: ossimString.h:414

◆ walk() [2/2]

void ossimFileWalker::walk ( const ossimFilename root)

This will walk "root" and execute a callback for each file found.

Files are filter prior to the callback execution. The filtering is to eliminate sending unwanted files to the callback. There is a default filter table. This can be edited by calling the non-const getFilteredExtensions method.

Each callback is placed in a threaded job queue. So users should ensure their callback is thread safe.

Definition at line 132 of file ossimFileWalker.cpp.

133 {
134  static const char M[] = "ossimFileWalker::walk";
135  if(traceDebug())
136  {
137  ossimNotify(ossimNotifyLevel_DEBUG) << M << " entered root=" << root << "\n";
138  }
139 
140  // Must have call back set at this point.
141  if ( !m_abortFlag && m_fileProcessor )
142  {
143  ossimFilename rootFile = root.expand();
144  if ( rootFile.size() && rootFile.exists() )
145  {
146  if ( rootFile.isDir() )
147  {
148  walkDir(rootFile);
149 
150  // FOREVER loop until all jobs are completed.
151  while (1)
152  {
154  if ( m_jobQueue->hasJobsToProcess() == false )
155  {
156  break;
157  }
158  }
159  }
160  else
161  {
162  // Single file no job queue needed.
163  if ( isFiltered( rootFile ) == false )
164  {
165  m_fileProcessor->processFile( rootFile );
166  }
167  }
168  }
169  else
170  {
172  << M << " WARNING: file: \""<< rootFile << "\" does not exist" << std::endl;
173  }
174  }
175 
176  if(traceDebug())
177  {
178  ossimNotify(ossimNotifyLevel_DEBUG) << M << " exiting...\n";
179  }
180 }
ossimFilename expand() const
Method to do file name expansion.
ossimFileProcessorInterface * m_fileProcessor
Callback to method to process a file.
bool isDir() const
bool isFiltered(const ossimFilename &f) const
Convenience method for file walker code to check file to see is it should be processed.
static void sleepInMicroSeconds(ossim_uint64 micros)
Utility method to allow one to sleep in microseconds.
Definition: Thread.cpp:83
std::shared_ptr< ossimJobMultiThreadQueue > m_jobQueue
void walkDir(const ossimFilename &dir)
Processes files in directory.
bool exists() const
std::string::size_type size() const
Definition: ossimString.h:405
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
virtual void processFile(const ossimFilename &file)=0
Pure virtual processFile method.

◆ walkDir()

void ossimFileWalker::walkDir ( const ossimFilename dir)
private

Processes files in directory.

If a file in the directory is itself a directory this will do a recursive call to itself. Individual files are processed in a job queue...

Definition at line 182 of file ossimFileWalker.cpp.

183 {
184  static const char M[] = "ossimFileWalker::walkDir";
185  if(traceDebug())
186  {
188  << M << " entered...\n" << "processing dir: " << dir << "\n";
189  }
190 
191  // List of directories in this directory...
192  std::vector<ossimFilename> dirs;
193 
194  // List of files in this directory...
195  std::vector<ossimFilename> files;
196 
197  m_mutex.lock();
198  ossimDirectory d;
199  bool ossimDirectoryStatus = d.open(dir);
200  m_mutex.unlock();
201 
202  if ( ossimDirectoryStatus )
203  {
204  // Loop to get the list of files and directories in this directory.
205  m_mutex.lock();
206  ossimFilename f;
207  bool valid_file = d.getFirst(f);
208  while ( valid_file )
209  {
210  if ( isFiltered(f) == false )
211  {
212  if (f.isDir())
213  {
214  dirs.push_back(f);
215  }
216  else
217  {
218  files.push_back(f);
219  }
220  }
221  valid_file = d.getNext(f);
222  }
223  m_mutex.unlock();
224 
225  //---
226  // Process files first before recursing directories. If a file is a directory base image,
227  // e.g. RPF, then the callee should call ossimFileWalker::setRecurseFlag to false to
228  // stop us from going into sub directories.
229  //---
230  std::vector<ossimFilename>::const_iterator i = files.begin();
231  while (i != files.end())
232  {
233  if(traceDebug())
234  {
235  ossimNotify(ossimNotifyLevel_DEBUG) << "Making the job for: " << (*i) << std::endl;
236  }
237 
238  // Make the job:
239  std::shared_ptr<ossimFileWalkerJob> job =
240  std::make_shared<ossimFileWalkerJob>( m_fileProcessor, (*i) );
241 
242  job->setName( ossimString( (*i).string() ) );
243 
244  job->setCallback( std::make_shared<ossimFileWalkerJobCallback>() );
245 
246  // Set the state to ready:
247  job->ready();
248 
249  // Add job to the queue:
250  m_jobQueue->getJobQueue()->add( job );
251 
252  m_mutex.lock();
253  if ( m_abortFlag )
254  {
255  // Clear out the queue.
256  m_jobQueue->getJobQueue()->clear();
257 
258  break; // Callee set our abort flag so break out of loop.
259  }
260  m_mutex.unlock();
261 
262  ++i;
263  }
264 
265  if ( m_waitOnDirFlag )
266  {
267  // FOREVER loop until all jobs are completed.
268  while (1)
269  {
271  if ( m_jobQueue->hasJobsToProcess() == false )
272  {
273  break;
274  }
275  }
276  }
277 
278  m_mutex.lock();
279  if ( !m_abortFlag && m_recurseFlag )
280  {
281  // Process sub directories...
282  i = dirs.begin();
283  while (i != dirs.end())
284  {
285  m_mutex.unlock();
286  walkDir( (*i) );
287  m_mutex.lock();
288 
289  if ( m_abortFlag )
290  {
291  break; // Callee set our abort flag so break out of loop.
292  }
293  ++i;
294  }
295  }
296  m_mutex.unlock();
297 
298  } // if ( ossimDirectoryOpenStatus )
299 
300  // Reset the m_recurseFlag.
301  m_mutex.lock();
302  m_recurseFlag = true;
303  m_mutex.unlock();
304 
305  if(traceDebug())
306  {
307  ossimNotify(ossimNotifyLevel_DEBUG) << M << " exited...\n";
308  }
309 }
bool getFirst(ossimFilename &filename, int flags=OSSIM_DIR_DEFAULT)
ossimFileProcessorInterface * m_fileProcessor
Callback to method to process a file.
bool isDir() const
bool isFiltered(const ossimFilename &f) const
Convenience method for file walker code to check file to see is it should be processed.
static void sleepInMicroSeconds(ossim_uint64 micros)
Utility method to allow one to sleep in microseconds.
Definition: Thread.cpp:83
bool getNext(ossimFilename &filename) const
std::shared_ptr< ossimJobMultiThreadQueue > m_jobQueue
void walkDir(const ossimFilename &dir)
Processes files in directory.
std::mutex m_mutex
bool open(const ossimFilename &dir)
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

Member Data Documentation

◆ m_abortFlag

bool ossimFileWalker::m_abortFlag
private

Definition at line 221 of file ossimFileWalker.h.

Referenced by setAbortFlag().

◆ m_fileProcessor

ossimFileProcessorInterface* ossimFileWalker::m_fileProcessor
private

Callback to method to process a file.

Parameters
constossimFilename& First parameter(argument) file to process.

Definition at line 216 of file ossimFileWalker.h.

Referenced by ossimFileWalker::ossimFileWalkerJob::run(), and setFileProcessor().

◆ m_filteredExtensions

std::vector<std::string> ossimFileWalker::m_filteredExtensions
private

◆ m_jobQueue

std::shared_ptr<ossimJobMultiThreadQueue> ossimFileWalker::m_jobQueue
private

Definition at line 217 of file ossimFileWalker.h.

Referenced by setNumberOfThreads(), and ~ossimFileWalker().

◆ m_mutex

std::mutex ossimFileWalker::m_mutex
private

◆ m_recurseFlag

bool ossimFileWalker::m_recurseFlag
private

Definition at line 219 of file ossimFileWalker.h.

Referenced by setRecurseFlag().

◆ m_waitOnDirFlag

bool ossimFileWalker::m_waitOnDirFlag
private

Definition at line 220 of file ossimFileWalker.h.

Referenced by setWaitOnDirFlag().


The documentation for this class was generated from the following files: