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

  • Enterprise cloud adoption has evolved rapidly from fringe curiosity to the mainstream. As enterprises increasingly move mission-critical workloads to the cloud, it's important to track best practices to ensure a seamless migration process. While CIOs are becoming increasingly mature and pragmatic in their approach to cloud, surprises and challenges still need to be addressed. Read this eBook to learn the key best practices for cloud deployment success, the importance of SLAs in choosing a cloud provider, and …

  • Thanks to the pervasive use of virtualization, hybrid cloud, and software–defined architectures — enterprise IT infrastructures are impossibly complex. Performance monitoring solutions are critical for enabling IT teams to identify key bottlenecks and emergent issues, for understanding which workloads are more demanding in terms of resource contention, and for cost effective capacity and resource planning. Read this IDC Customer Spotlight for a glimpse into real–world implementations and use …

Most Popular Programming Stories

More for Developers

RSS Feeds

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