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

  • On-demand Event Event Date: September 10, 2014 Modern mobile applications connect systems-of-engagement (mobile apps) with systems-of-record (traditional IT) to deliver new and innovative business value. But the lifecycle for development of mobile apps is also new and different. Emerging trends in mobile development call for faster delivery of incremental features, coupled with feedback from the users of the app "in the wild." This loop of continuous delivery and continuous feedback is how the best mobile …

  • It's hardly surprising that half of small businesses fail within the first 1-5 years. It's not easy to launch a new product, single-handedly manage everything from IT to accounting, fend off the competition, and grow a customer base – all at the same time – even with a great concept. Offering awesome customer service can make the difference between a startup that flies and a startup that dies. Read this white paper to learn nine ways customer support can help you beat the competition and grow your …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds