00001 /* 00002 FALCON - The Falcon Programming Language. 00003 FILE: filestat.h 00004 00005 Directory and file specific statistic accounting 00006 ------------------------------------------------------------------- 00007 Author: Giancarlo Niccolai 00008 Begin: gio giu 21 2007 00009 00010 ------------------------------------------------------------------- 00011 (C) Copyright 2004: the FALCON developers (see list in AUTHORS file) 00012 00013 See LICENSE file for licensing details. 00014 */ 00015 00020 #ifndef flc_filestat_H 00021 #define flc_filestat_H 00022 00023 #include <falcon/setup.h> 00024 #include <falcon/types.h> 00025 #include <falcon/falcondata.h> 00026 00027 namespace Falcon { 00028 00029 class String; 00030 class TimeStamp; 00031 class MemPool; 00032 00034 class FALCON_DYN_CLASS FileStat: public FalconData 00035 { 00036 public: 00037 typedef enum { 00038 t_notFound = -1, 00039 t_unknown = 0, 00040 t_normal = 1, 00041 t_dir = 2, 00042 t_pipe = 3, 00043 t_link = 4, 00044 t_device = 5, 00045 t_socket = 6 00046 } e_fileType; 00047 00048 e_fileType m_type; 00049 int64 m_size; 00050 int32 m_owner; 00051 int32 m_group; 00052 int32 m_access; 00054 int32 m_attribs; 00056 TimeStamp *m_ctime; 00058 TimeStamp *m_mtime; 00060 TimeStamp *m_atime; 00061 00062 FileStat(); 00063 FileStat( const FileStat &other ); 00064 virtual ~FileStat(); 00065 00066 virtual FalconData * clone() const; 00067 virtual void gcMark( uint32 mark ) {} 00068 }; 00069 00070 } 00071 00072 #endif 00073 00074 /* end of filestat.h */