Aegis  4.25.D505
libaegis/file/event.h
Go to the documentation of this file.
00001 //
00002 //      aegis - project change supervisor
00003 //      Copyright (C) 2006-2008 Peter Miller
00004 //
00005 //      This program is free software; you can redistribute it and/or modify
00006 //      it under the terms of the GNU General Public License as published by
00007 //      the Free Software Foundation; either version 3 of the License, or
00008 //      (at your option) any later version.
00009 //
00010 //      This program is distributed in the hope that it will be useful,
00011 //      but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 //      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 //      GNU General Public License for more details.
00014 //
00015 //      You should have received a copy of the GNU General Public License
00016 //      along with this program. If not, see
00017 //      <http://www.gnu.org/licenses/>.
00018 //
00019 
00020 #ifndef LIBAEGIS_FILE_EVENT_H
00021 #define LIBAEGIS_FILE_EVENT_H
00022 
00023 #include <common/ac/time.h>
00024 
00025 #include <libaegis/change.h>
00026 
00027 struct fstate_src_ty; // forward
00028 
00033 class file_event
00034 {
00035 public:
00039     virtual ~file_event();
00040 
00044     file_event();
00045 
00049     file_event(time_t when, change::pointer cp, fstate_src_ty *src);
00050 
00054     file_event(const file_event &);
00055 
00059     file_event &operator=(const file_event &);
00060 
00061     time_t get_when() const { return when; }
00062     change::pointer get_change() const { return cp; }
00063     fstate_src_ty *get_src() const { return src; }
00064 
00065 private:
00066     time_t when;
00067     change::pointer cp;
00068     fstate_src_ty *src;
00069 };
00070 
00071 #endif // LIBAEGIS_FILE_EVENT_H