5 #include "unimailemail.h"
6 #include "uniconfgen.h"
8 #include "wvscatterhash.h"
10 class UniMaildirGen
: public UniConfGen
21 DirCache(WvStringParm _name
, time_t _mtime
)
22 : filename(_name
), mtime(_mtime
)
25 typedef WvMap
<WvString
,DirCache
*,OpEqComp
,WvScatterHash
> DirCacheMap
;
31 friend class ItemIter
;
34 WvString
filename(const UniConfKey
&key
);
36 virtual void flush_buffers() { }
39 UniMaildirGen(WvStringParm _dir
);
40 virtual ~UniMaildirGen();
42 /***** Overridden members *****/
43 virtual WvString
get(const UniConfKey
&key
);
44 virtual void set(const UniConfKey
&key
, WvStringParm value
);
45 virtual void setv(const UniConfPairList
&pairs
);
46 virtual bool haschildren(const UniConfKey
&key
);
47 virtual bool refresh();
48 virtual Iter
*iterator(const UniConfKey
&key
);
53 * Iterate through the items in your maildir.
55 class UniMaildirGen::ItemIter
: public UniConfGen::Iter
63 ItemIter(UniMaildirGen
&dir
);
66 /***** Overridden members *****/
67 virtual void rewind();
69 virtual UniConfKey
key() const;
70 virtual WvString
value() const;
75 * Iterate through the items in your maildir.
77 class UniMaildirGen::HeaderIter
: public UniConfGen::Iter
83 WvList
<UniMailEmail::Header
>::Iter i
;
87 HeaderIter(UniMaildirGen
&dir
, WvStringParm _filename
);
90 /***** Overridden members *****/
91 virtual void rewind();
93 virtual UniConfKey
key() const;
94 virtual WvString
value() const;
98 #endif // __UNIMAILDIR_H