CFileChangeEvent Class

This article is based on another article found here on Codeguru : Alerting the user when an open file has been changed by another application (from Bernd Wib ler). This article showed us how a CDocument-class can be notified when the file is changed by another application. My problem is that my CDocument-class is like a projectfile: It has a collection of files. I want my CDocument-class to be notified if one of these files is changed.

I've created a new class called CFileChangeEvent. This class has following methodes :

void addFile(const std::string &sFileName)

Use this method when you want to be notified of changes of a file. When the notification thread is running it will be stopped and restarted.

void removeFile(const std::string &sFileName)

Use this method when you don't want to be notified anymore. When the notification thread is running it will be stopped and restarted.

void startWatch(void)

This method starts the notification thread.

void stopWatch(void)

This method stops the notification thread. It's also called in the destructor, so you the thread will allways stop.

virtual void OnFileAlarm(FileAlarm nAlarm, const std::string &sFileName)

Override this method. This method is called when a file is changed or deleted. FileAlarm is an enum with following attributes : FA_CHANGED, FA_REMOVED.

How to use this class ?

Derive a class (for example your CDocument-class) from CFileChangeEvent and override the OnFileAlarm. That's all.

Download demo project - 37 KB

Download source - 4 KB

Date Last Updated: May 17, 1999



Comments

  • A Lot of Compilation Warnings

    Posted by Legacy on 09/15/1999 12:00am

    Originally posted by: Stefano Modolo

    I try to compile CFileChangeEvent object with Visual C++ 6.0 but arise a lot of warning (using level 4) such as C4786, C4018, etc. And overall Why? Thank you for your reply.

    Reply
  • Missing FileChange.dsp?

    Posted by Legacy on 06/16/1999 12:00am

    Originally posted by: Janice Gallant

    This looks interesting but I can't open the project because there is no FileChange.dsp file. I can only view files individually.

    Reply
  • CFileChangeEvent Class

    Posted by Legacy on 05/11/1999 12:00am

    Originally posted by: Tim Walsh

    can it be made to watch a set of files on one server, and update a set of files on another server if there is a change?

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: September 23, 2015 @ 1:00 p.m. ET / 10:00 a.m. PT The cloud is not just about a runtime platform for your projects – now, you can do your development in the cloud, too. Check out this upcoming eseminar to learn how the cloud improves your development experience and team collaboration. Join Dana Singleterry, Principal Product Manager for Oracle Dev Tools, as he discusses how to simplify every aspect of the development lifecycle, including requirements gathering, version management, code …

  • U.S. companies are desperately trying to recruit and hire skilled software engineers and developers, but there's simply not enough quality talent to go around. In response, companies often resort to inferior solutions -- hiring substandard developers and engineers, recruiting talent on a part-time or temporary basis, poaching people from competitors, or burdening an already stressed IT staff for more of their labor. Fortunately, there's a better solution. Read this white paper to learn the business value of …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date