4 #include "funfscommon.h"
7 #include <wvscatterhash.h>
9 #define UTD_READ (1 << 0)
10 #define UTD_ATTR (1 << 1)
11 #define UTD_LINK (1 << 2)
12 #define UTD_LIST (1 << 3)
14 #define FILEMASK (UTD_READ & UTD_ATTR & UTD_LINK)
15 #define DIRMASK (UTD_LIST)
19 friend class CacheInfoMgr
;
21 CacheInfo(CacheInfoMgr
*_cim
, WvStringParm _path
, bool _root
= false);
24 void mark_uptodate(uint8 _uptodate
);
25 bool is_uptodate(uint8 _uptodate
);
26 void invalidate(bool thisfile
);
43 DeclareWvScatterDict2(FI_by_path
, CacheInfo
, WvString
, path
);
47 friend class CacheInfo
;
50 virtual ~CacheInfoMgr() {};
52 void cim_mark_uptodate(WvStringParm file
, JobType jobtype
);
53 void cim_do_open(WvStringParm file
, int fd
);
54 void cim_do_close(int fd
);
57 CacheInfo
*get_fileinfo(WvStringParm path
);
59 virtual void file_changed(WvStringParm path
) = 0;
60 virtual void file_deleted(WvStringParm path
) = 0;
61 virtual void file_created(WvStringParm path
) = 0;
63 void fam_callback(WvStringParm file
, WvFamEvent event
, bool fromdir
);
67 FI_by_path fi_by_path
;
68 WvMap
<int, WvString
> fdmap
;