1 #ifndef BUFFY_MAILFOLDER_H
2 #define BUFFY_MAILFOLDER_H
24 #include <buffy/utils/consumer.h>
25 #include <buffy/utils/smartpointer.h>
36 virtual const std::string&
name()
const throw () = 0;
37 virtual const std::
string&
path() const throw () = 0;
38 virtual std::
string type() const throw () = 0;
42 virtual
int getMsgNew() const throw () = 0;
53 MailFolder() throw () : SmartPointer<MailFolderImpl>() {}
55 MailFolder(MailFolderImpl* otherimpl)
throw () : SmartPointer<MailFolderImpl>(otherimpl) {}
60 bool valid()
const throw () {
return impl; }
65 const std::string&
name()
const throw () {
return impl->name(); }
70 const std::string&
path()
const throw () {
return impl->path(); }
77 std::string
type()
const throw () {
return impl->type(); }
82 int getMsgTotal()
const throw () {
return impl->getMsgTotal(); }
92 int getMsgNew()
const throw () {
return impl->getMsgNew(); }
113 impl->updateStatistics();
127 static void enumerateFolders(
const std::string&
path, Consumer<MailFolder>& cons);
132 static std::vector<MailFolder> enumerateFolders(
const std::string&
path);