|
VMime
|
#include <maildirFolder.hpp>


Additional Inherited Members | |
| Public Types inherited from folder | |
| enum | Modes { MODE_READ_ONLY , MODE_READ_WRITE } |
| typedef vmime::utility::path | path |
| Protected Types inherited from folder | |
| enum | PrivateConstants { TYPE_UNDEFINED = 9999 , FLAG_UNDEFINED = 9999 } |
| Protected Member Functions inherited from folder | |
| folder (const folder &) | |
| folder () | |
| void | notifyMessageChanged (shared_ptr< events::messageChangedEvent > event) |
| void | notifyMessageCount (shared_ptr< events::messageCountEvent > event) |
| void | notifyFolder (shared_ptr< events::folderEvent > event) |
| void | notifyEvent (shared_ptr< events::event > event) |
| Protected Member Functions inherited from object | |
| object () | |
| object (const object &) | |
| object & | operator= (const object &) |
| virtual | ~object () |
maildir folder implementation.
| ~maildirFolder | ( | ) |
References close(), and ~maildirFolder().
Referenced by ~maildirFolder().
|
virtual |
Add a message to this folder.
| msg | message to add (data: header + body) |
| flags | flags for the new message (if -1, default flags are used) |
| date | date/time for the new message (if NULL, the current time is used) |
| progress | progress listener, or NULL if not used |
| exceptions::net_exception | if an error occurs |
Implements folder.
References addMessage().
Referenced by addMessage(), and addMessage().
|
virtual |
Add a message to this folder.
| is | message to add (data: header + body) |
| size | size of the message to add (in bytes) |
| flags | flags for the new message (if -1, default flags are used) |
| date | date/time for the new message (if NULL, the current time is used) |
| progress | progress listener, or NULL if not used |
| exceptions::net_exception | if an error occurs |
Implements folder.
References addMessage(), maildirFormat::CUR_DIRECTORY, messageSet::empty(), message::FLAG_RECENT, message::FLAG_SEEN, platform::getHandler(), isOpen(), folder::MODE_READ_ONLY, maildirFormat::NEW_DIRECTORY, folder::notifyMessageCount(), maildirFormat::TMP_DIRECTORY, and messageCountEvent::TYPE_ADDED.
|
virtual |
Close this folder.
| expunge | if set to true, deleted messages are expunged |
| exceptions::net_exception | if an error occurs |
Implements folder.
References close(), expunge(), and isOpen().
Referenced by close(), and ~maildirFolder().
|
virtual |
Copy messages from this folder to another folder.
| dest | destination folder path |
| msgs | index set of messages to copy |
| exceptions::net_exception | if an error occurs |
Implements folder.
References copyMessages(), maildirFormat::CUR_DIRECTORY, messageSet::empty(), platform::getHandler(), isOpen(), and maildirFormat::TMP_DIRECTORY.
Referenced by copyMessages().
|
virtual |
Create this folder.
| attribs | attributes of the new folder |
| exceptions::net_exception | if an error occurs |
Implements folder.
References create(), exists(), isOpen(), store::isValidFolderName(), folder::notifyFolder(), and folderEvent::TYPE_CREATED.
Referenced by create().
|
virtual |
Remove one or more messages from this folder.
| msgs | index set of messages to delete |
| exceptions::net_exception | if an error occurs |
Implements folder.
References deleteMessages(), message::FLAG_DELETED, message::FLAG_MODE_ADD, and setMessageFlags().
Referenced by deleteMessages().
|
virtual |
Delete this folder.
The folder should be closed before attempting to delete it.
| exceptions::net_exception | if an error occurs |
Implements folder.
References destroy(), isOpen(), folder::notifyFolder(), and folderEvent::TYPE_DELETED.
Referenced by destroy().
|
virtual |
|
virtual |
Expunge deleted messages.
| exceptions::net_exception | if an error occurs |
Implements folder.
References maildirFormat::CUR_DIRECTORY, expunge(), message::FLAG_SEEN, platform::getHandler(), isOpen(), folder::MODE_READ_ONLY, folder::notifyMessageCount(), and messageCountEvent::TYPE_REMOVED.
|
virtual |
Fetch objects for the specified message.
| msg | the message |
| attribs | set of attributes to fetch |
| exceptions::net_exception | if an error occurs |
Implements folder.
References fetchMessage(), and isOpen().
Referenced by fetchMessage().
|
virtual |
Fetch objects for the specified messages.
| msg | list of message sequence numbers |
| attribs | set of attributes to fetch |
| progress | progress listener, or NULL if not used |
| exceptions::net_exception | if an error occurs |
Implements folder.
References fetchMessages(), isOpen(), progressListener::progress(), progressListener::start(), and progressListener::stop().
Referenced by fetchMessages(), and getAndFetchMessages().
|
virtual |
Get new references to messages in this folder, given either their sequence numbers or UIDs, and fetch objects for them at the same time.
| msgs | index set of messages to retrieve |
| attribs | set of attributes to fetch |
| exceptions::net_exception | if an error occurs |
Implements folder.
References fetchMessages(), getAndFetchMessages(), getMessages(), and messageSet::isEmpty().
Referenced by getAndFetchMessages().
|
virtual |
Return the attributes of the folder.
Implements folder.
References folderAttributes::FLAG_HAS_CHILDREN, getAttributes(), folderAttributes::setFlags(), folderAttributes::setType(), folderAttributes::TYPE_CONTAINS_FOLDERS, and folderAttributes::TYPE_CONTAINS_MESSAGES.
Referenced by getAttributes().
|
virtual |
Return the list of fetchable objects supported by the underlying protocol (see folder::fetchAttributes).
Implements folder.
References fetchAttributes::CONTENT_INFO, fetchAttributes::ENVELOPE, fetchAttributes::FLAGS, fetchAttributes::FULL_HEADER, getFetchCapabilities(), fetchAttributes::IMPORTANCE, fetchAttributes::SIZE, fetchAttributes::STRUCTURE, and fetchAttributes::UID.
Referenced by getFetchCapabilities().
|
virtual |
Get a new reference to a sub-folder in this folder.
| name | sub-folder name |
| exceptions::net_exception | if an error occurs |
Implements folder.
References getFolder().
Referenced by getFolder().
|
virtual |
Get the list of all sub-folders in this folder.
| recursive | if set to true, all the descendant are returned. If set to false, only the direct children are returned. |
| exceptions::net_exception | if an error occurs |
Implements folder.
References getFolders(), and isOpen().
Referenced by getFolders().
|
virtual |
Return the fully qualified path name of this folder.
Implements folder.
References getFullPath().
Referenced by getFullPath().
Get a new reference to a message in this folder, given its number.
| num | message sequence number |
| exceptions::net_exception | if an error occurs |
Implements folder.
References getMessage(), and isOpen().
Referenced by getMessage().
|
virtual |
Return the number of messages in this folder.
Implements folder.
References getMessageCount().
Referenced by getMessageCount().
|
virtual |
Return the sequence numbers of messages whose UID equal or greater than the specified UID.
| uid | the uid of the first message |
| exceptions::net_exception | if an error occurs |
Implements folder.
References getMessageNumbersStartingOnUID().
Referenced by getMessageNumbersStartingOnUID().
|
virtual |
Get new references to messages in this folder, given either their sequence numbers or UIDs.
To retrieve messages by their number, use:
Or, to retrieve messages by their UID, use:
| msgs | index set of messages to retrieve |
| exceptions::net_exception | if an error occurs |
Implements folder.
References getMessages(), messageSet::isNumberSet(), and isOpen().
Referenced by getAndFetchMessages(), and getMessages().
|
virtual |
Return the mode in which the folder has been open.
Implements folder.
References getMode(), and isOpen().
Referenced by getMode().
|
virtual |
|
virtual |
Return a new folder object referencing the parent folder of this folder.
Implements folder.
References getParent().
Referenced by getParent().
|
virtual |
Request folder status without opening it.
| exceptions::net_exception | if an error occurs |
Implements folder.
References getStatus(), folder::notifyMessageCount(), status(), and messageCountEvent::TYPE_ADDED.
Referenced by getStatus(), and status().
|
virtual |
Return a reference to the store to which this folder belongs.
Implements folder.
References getStore().
|
virtual |
Return a reference to the store to which this folder belongs.
Implements folder.
References getStore().
Referenced by getStore(), and getStore().
|
virtual |
Test whether this folder is open.
Implements folder.
References isOpen().
Referenced by addMessage(), close(), copyMessages(), create(), destroy(), expunge(), fetchMessage(), fetchMessages(), getFolders(), getMessage(), getMessages(), getMode(), isOpen(), open(), and setMessageFlags().
|
virtual |
Open this folder.
| mode | open mode (see folder::Modes) |
| failIfModeIsNotAvailable | if set to false and if the requested mode is not available, a more restricted mode will be selected automatically. If set to true and if the requested mode is not available, the opening will fail. |
| exceptions::net_exception | if an error occurs |
| exceptions::folder_already_open | if the folder is already open in the same session |
Implements folder.
References exists(), isOpen(), and open().
Referenced by open().
|
virtual |
Rename (move) this folder to another location.
| newPath | new path of the folder |
| exceptions::net_exception | if an error occurs |
Implements folder.
References path::getLastComponent(), path::isEmpty(), path::isParentOf(), store::isValidFolderName(), folder::notifyFolder(), rename(), and folderEvent::TYPE_RENAMED.
Referenced by rename().
|
virtual |
Change the flags for one or more messages in this folder.
| msgs | index set of messages on which to set the flags |
| flags | set of flags (see message::Flags) |
| mode | indicate how to treat old and new flags (see message::FlagsModes) |
| exceptions::net_exception | if an error occurs |
Implements folder.
References maildirFormat::CUR_DIRECTORY, message::FLAG_DELETED, message::FLAG_MODE_ADD, message::FLAG_MODE_REMOVE, message::FLAG_MODE_SET, message::FLAG_UNDEFINED, platform::getHandler(), messageSet::isNumberSet(), isOpen(), folder::MODE_READ_ONLY, folder::notifyMessageChanged(), setMessageFlags(), and messageChangedEvent::TYPE_FLAGS.
Referenced by deleteMessages(), and setMessageFlags().
Request folder status without opening it.
| count | will receive the number of messages in the folder |
| unseen | will receive the number of unseen messages in the folder |
| exceptions::net_exception | if an error occurs |
Implements folder.
References vmime::count(), getStatus(), and status().
Referenced by getStatus(), and status().