Apply the utility from https://github.com/codespell-project/codespell/ to fix spelling issues in the headers under both include and interface directories and add a file with a couple of exceptions. The exact command line used was: $ codespell -w -I misc/scripts/codespell.ignore -i 3 in*
		
			
				
	
	
		
			116 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        wx/private/fswatcher.h
 | |
| // Purpose:     File system watcher impl classes
 | |
| // Author:      Bartosz Bekier
 | |
| // Created:     2009-05-26
 | |
| // Copyright:   (c) 2009 Bartosz Bekier <bartosz.bekier@gmail.com>
 | |
| // Licence:     wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef WX_PRIVATE_FSWATCHER_H_
 | |
| #define WX_PRIVATE_FSWATCHER_H_
 | |
| 
 | |
| #include "wx/sharedptr.h"
 | |
| 
 | |
| #ifdef wxHAS_INOTIFY
 | |
|     class wxFSWatchEntryUnix;
 | |
|     #define wxFSWatchEntry wxFSWatchEntryUnix
 | |
|     WX_DECLARE_STRING_HASH_MAP(wxSharedPtr<wxFSWatchEntry>,wxFSWatchEntries);
 | |
|     #include "wx/unix/private/fswatcher_inotify.h"
 | |
| #elif defined(wxHAS_KQUEUE)
 | |
|     class wxFSWatchEntryKq;
 | |
|     #define wxFSWatchEntry wxFSWatchEntryKq
 | |
|     WX_DECLARE_STRING_HASH_MAP(wxSharedPtr<wxFSWatchEntry>,wxFSWatchEntries);
 | |
|     #include "wx/unix/private/fswatcher_kqueue.h"
 | |
| #elif defined(__WINDOWS__)
 | |
|     class wxFSWatchEntryMSW;
 | |
|     #define wxFSWatchEntry wxFSWatchEntryMSW
 | |
|     WX_DECLARE_STRING_HASH_MAP(wxSharedPtr<wxFSWatchEntry>,wxFSWatchEntries);
 | |
|     #include "wx/msw/private/fswatcher.h"
 | |
| #else
 | |
|     #define wxFSWatchEntry wxFSWatchEntryPolling
 | |
| #endif
 | |
| 
 | |
| class wxFSWatcherImpl
 | |
| {
 | |
| public:
 | |
|     wxFSWatcherImpl(wxFileSystemWatcherBase* watcher) :
 | |
|         m_watcher(watcher)
 | |
|     {
 | |
|     }
 | |
| 
 | |
|     virtual ~wxFSWatcherImpl()
 | |
|     {
 | |
|         (void) RemoveAll();
 | |
|     }
 | |
| 
 | |
|     virtual bool Init() = 0;
 | |
| 
 | |
|     virtual bool Add(const wxFSWatchInfo& winfo)
 | |
|     {
 | |
|         if ( m_watches.find(winfo.GetPath()) != m_watches.end() )
 | |
|         {
 | |
|             wxLogTrace(wxTRACE_FSWATCHER,
 | |
|                        "Path '%s' is already watched", winfo.GetPath());
 | |
|             // This can happen if a dir is watched, then a parent tree added
 | |
|             return true;
 | |
|         }
 | |
| 
 | |
|         // construct watch entry
 | |
|         wxSharedPtr<wxFSWatchEntry> watch(new wxFSWatchEntry(winfo));
 | |
| 
 | |
|         if (!DoAdd(watch))
 | |
|             return false;
 | |
| 
 | |
|         // add watch to our map (always succeeds, checked above)
 | |
|         wxFSWatchEntries::value_type val(watch->GetPath(), watch);
 | |
|         return m_watches.insert(val).second;
 | |
|     }
 | |
| 
 | |
|     virtual bool Remove(const wxFSWatchInfo& winfo)
 | |
|     {
 | |
|         wxFSWatchEntries::iterator it = m_watches.find(winfo.GetPath());
 | |
|         if ( it == m_watches.end() )
 | |
|         {
 | |
|             wxLogTrace(wxTRACE_FSWATCHER,
 | |
|                        "Path '%s' is not watched", winfo.GetPath());
 | |
|             // This can happen if a dir is watched, then a parent tree added
 | |
|             return true;
 | |
|         }
 | |
|         wxSharedPtr<wxFSWatchEntry> watch = it->second;
 | |
|         m_watches.erase(it);
 | |
|         return DoRemove(watch);
 | |
|     }
 | |
| 
 | |
|     virtual bool RemoveAll()
 | |
|     {
 | |
|         bool ret = true;
 | |
|         for ( wxFSWatchEntries::iterator it = m_watches.begin();
 | |
|               it != m_watches.end();
 | |
|               ++it )
 | |
|         {
 | |
|             if ( !DoRemove(it->second) )
 | |
|                ret = false;
 | |
|         }
 | |
|         m_watches.clear();
 | |
|         return ret;
 | |
|     }
 | |
| 
 | |
|     // Check whether any filespec matches the file's ext (if present)
 | |
|     bool MatchesFilespec(const wxFileName& fn, const wxString& filespec) const
 | |
|     {
 | |
|         return filespec.empty() || wxMatchWild(filespec, fn.GetFullName());
 | |
|     }
 | |
| 
 | |
| protected:
 | |
|     virtual bool DoAdd(wxSharedPtr<wxFSWatchEntry> watch) = 0;
 | |
| 
 | |
|     virtual bool DoRemove(wxSharedPtr<wxFSWatchEntry> watch) = 0;
 | |
| 
 | |
|     wxFSWatchEntries m_watches;
 | |
|     wxFileSystemWatcherBase* m_watcher;
 | |
| };
 | |
| 
 | |
| 
 | |
| #endif /* WX_PRIVATE_FSWATCHER_H_ */
 |