Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

FileWatch.h

Go to the documentation of this file.
00001 /*  FileWatch.h - class for monitoring file changes.
00002 
00003     Copyright (C) 2001-2004 Mark Weaver
00004     Written by Mark Weaver <mark@npsl.co.uk>
00005 
00006     Part of the Open-Win32 library.
00007     This library is free software; you can redistribute it and/or
00008     modify it under the terms of the GNU Library General Public
00009     License as published by the Free Software Foundation; either
00010     version 2 of the License, or (at your option) any later version.
00011 
00012     This library is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015     Library General Public License for more details.
00016 
00017     You should have received a copy of the GNU Library General Public
00018     License along with this library; if not, write to the
00019     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00020     Boston, MA  02111-1307, USA.
00021 */
00022 
00028 #ifndef OW32_FileWatch_h
00029 #define OW32_FileWatch_h
00030 
00031 #include <stl/ci_string.h>
00032 #include <OW32/RefCounted.h>
00033 #include <OW32/SyncObjects.h>
00034 
00035 namespace OW32
00036 {
00037 
00039 class OW32_LIB_EXPORT CFileWatchCallback;
00040 
00041 #ifdef _MSC_VER
00042 #pragma warning(disable: 4251)
00043 #endif
00044 
00050 class OW32_LIB_EXPORT CFileWatch : public CRefCounted
00051 {
00052 public:
00059     CFileWatch(LPCWSTR fileName, CFileWatchCallback *pCallback) :
00060         m_fileName(fileName),
00061         m_callback(pCallback)
00062     {
00063     }
00064 
00068     virtual ~CFileWatch();
00069 
00073     const ci_wstring& getFileName() const { return m_fileName; }
00074     
00078     CFileWatchCallback* getCallback() const { return m_callback; }
00079 
00080 private:
00082     ci_wstring              m_fileName;
00084     CFileWatchCallback      *m_callback;
00085 };
00086 
00087 #ifdef _MSC_VER
00088 #pragma warning(default: 4251)
00089 #endif
00090 
00092 typedef CAutoRefCountedPtr<CFileWatch> CFileWatchPtr;
00093 
00094 } // namespace OW32
00095 
00096 #endif // OW32_FileWatch_h

Generated on Sun Jun 5 01:29:17 2005 for OW32 by  doxygen 1.3.9.1