stlab.adobe.com Adobe Systems Incorporated

file_monitor.hpp

Go to the documentation of this file.
00001 /*
00002     Copyright 2005-2007 Adobe Systems Incorporated
00003     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
00004     or a copy at http://stlab.adobe.com/licenses.html)
00005 */
00006 
00007 /****************************************************************************************************/
00008 
00009 #ifndef ADOBE_FILE_MONITOR_HPP
00010 #define ADOBE_FILE_MONITOR_HPP
00011 
00012 /****************************************************************************************************/
00013 
00014 #include <adobe/config.hpp>
00015 
00016 #include <boost/filesystem/path.hpp>
00017 #include <boost/function.hpp>
00018 
00019 /****************************************************************************************************/
00020 
00021 namespace adobe {
00022 
00023 /****************************************************************************************************/
00024 
00025 enum file_monitor_event_t
00026 {
00027     file_monitor_contents_changed_k = 0,
00028     file_monitor_other_k // later expand this to deleted, moved, renamed, etc.
00029 };
00030 
00031 typedef boost::filesystem::path file_monitor_path_type;
00032 
00033 typedef boost::function<void (const file_monitor_path_type& path, file_monitor_event_t what)> file_monitor_callback_t;
00034 
00035 /****************************************************************************************************/
00036 
00037 } // namespace adobe
00038 
00039 /****************************************************************************************************/
00040 
00041 #include <adobe/future/platform_file_monitor_impl.hpp>
00042 
00043 /****************************************************************************************************/
00044 
00045 namespace adobe {
00046 
00047 /****************************************************************************************************/
00048 
00049 class file_monitor_t
00050 {
00051 public:
00052     file_monitor_t();
00053 
00054     file_monitor_t(const file_monitor_path_type& path, const file_monitor_callback_t& proc);
00055 
00056     void set_path(const file_monitor_path_type& path);
00057 
00058     void monitor(const file_monitor_callback_t& proc);
00059 
00060 private:
00061     file_monitor_platform_data_t plat_m;
00062 };
00063 
00064 /****************************************************************************************************/
00065 
00066 } // namespace adobe
00067 
00068 /****************************************************************************************************/
00069 
00070 #endif
00071 
00072 /****************************************************************************************************/

Copyright © 2006-2007 Adobe Systems Incorporated.

Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy.

Search powered by Google