VMime
kmailMaildirFormat Class Reference
Inheritance diagram for kmailMaildirFormat:
Collaboration diagram for kmailMaildirFormat:

Public Member Functions

 kmailMaildirFormat (shared_ptr< context > ctx)
 
const string getName () const
 
void createFolder (const folder::path &path)
 
void destroyFolder (const folder::path &path)
 
void renameFolder (const folder::path &oldPath, const folder::path &newPath)
 
bool folderExists (const folder::path &path) const
 
bool folderHasSubfolders (const folder::path &path) const
 
const utility::file::path folderPathToFileSystemPath (const folder::path &path, const DirectoryType type) const
 
const std::vector< folder::pathlistFolders (const folder::path &root, const bool recursive) const
 

Protected Member Functions

bool supports () const
 
void listFoldersImpl (std::vector< folder::path > &list, const folder::path &root, const bool recursive) const
 
- Protected Member Functions inherited from maildirFormat
 maildirFormat (shared_ptr< context > ctx)
 
shared_ptr< contextgetContext ()
 
shared_ptr< const contextgetContext () const
 
- Protected Member Functions inherited from object
 object ()
 
 object (const object &)
 
objectoperator= (const object &)
 
virtual ~object ()
 

Static Protected Member Functions

static bool isSubfolderDirectory (const utility::file &file)
 

Additional Inherited Members

- Public Types inherited from maildirFormat
enum  DirectoryType {
  ROOT_DIRECTORY, NEW_DIRECTORY, CUR_DIRECTORY, TMP_DIRECTORY,
  CONTAINER_DIRECTORY
}
 
- Static Public Member Functions inherited from maildirFormat
static shared_ptr< maildirFormatdetect (shared_ptr< maildirStore > store)
 
- Static Protected Attributes inherited from maildirFormat
static const
utility::file::path::component 
TMP_DIR
 
static const
utility::file::path::component 
CUR_DIR
 
static const
utility::file::path::component 
NEW_DIR
 

Detailed Description

Reads KMail Maildir format.

Constructor & Destructor Documentation

kmailMaildirFormat ( shared_ptr< context ctx)

Member Function Documentation

void createFolder ( const folder::path path)
virtual
void destroyFolder ( const folder::path path)
virtual

Destroy the specified folder.

Parameters
pathvirtual path of the folder
Exceptions
exceptions::filesystem_exception

Implements maildirFormat.

References maildirFormat::CONTAINER_DIRECTORY, kmailMaildirFormat::folderPathToFileSystemPath(), platform::getHandler(), and maildirFormat::ROOT_DIRECTORY.

bool folderExists ( const folder::path path) const
virtual

Test whether the specified folder exists.

Parameters
pathvirtual path of the folder
Returns
true if the folder exists, false otherwise

Implements maildirFormat.

References maildirFormat::CUR_DIRECTORY, kmailMaildirFormat::folderPathToFileSystemPath(), platform::getHandler(), maildirFormat::NEW_DIRECTORY, maildirFormat::ROOT_DIRECTORY, and maildirFormat::TMP_DIRECTORY.

bool folderHasSubfolders ( const folder::path path) const
virtual

Test whether the specified folder has subfolders.

Parameters
pathvirtual path of the folder
Returns
true if the folder has at least one subfolder, false otherwise

Implements maildirFormat.

References maildirFormat::CONTAINER_DIRECTORY, kmailMaildirFormat::folderPathToFileSystemPath(), platform::getHandler(), and kmailMaildirFormat::isSubfolderDirectory().

const utility::file::path folderPathToFileSystemPath ( const folder::path path,
const DirectoryType  type 
) const
virtual

Returns the directory which represents the specified folder on the file system.

Parameters
pathvirtual path of the folder
typetype of directory to return
Returns
corresponding directory on the file system

Implements maildirFormat.

References vmime::count(), word::getBuffer(), path::getLastComponent(), path::getSize(), and word::setBuffer().

Referenced by kmailMaildirFormat::createFolder(), kmailMaildirFormat::destroyFolder(), kmailMaildirFormat::folderExists(), kmailMaildirFormat::folderHasSubfolders(), and kmailMaildirFormat::renameFolder().

const string getName ( ) const
virtual

Return the name of this Maildir format.

Returns
format name

Implements maildirFormat.

bool isSubfolderDirectory ( const utility::file file)
staticprotected

Test whether the specified file system directory corresponds to a maildir subfolder.

The name of the directory should not start with '.' to be listed as a subfolder.

Parameters
filereference to a file system directory
Returns
true if the specified directory is a maildir subfolder, false otherwise

References word::getBuffer(), file::getFullPath(), path::getLastComponent(), and file::isDirectory().

Referenced by kmailMaildirFormat::folderHasSubfolders().

const std::vector< folder::path > listFolders ( const folder::path root,
const bool  recursive 
) const
virtual

List subfolders in the specified folder.

Parameters
rootroot folder in which to start the search
recursiveif set to true, all the descendant are returned; if set to false, only direct children are returned.
Returns
list of subfolders

Implements maildirFormat.

void listFoldersImpl ( std::vector< folder::path > &  list,
const folder::path root,
const bool  recursive 
) const
protected

Recursive implementation of listFolders().

References platform::getHandler(), path::getLastComponent(), and path::isEmpty().

void renameFolder ( const folder::path oldPath,
const folder::path newPath 
)
virtual

Rename the specified folder.

Parameters
oldPathold virtual path of the folder
newPathnew virtual path of the folder
Exceptions
exceptions::filesystem_exception

Implements maildirFormat.

References maildirFormat::CONTAINER_DIRECTORY, kmailMaildirFormat::folderPathToFileSystemPath(), platform::getHandler(), and maildirFormat::ROOT_DIRECTORY.

bool supports ( ) const
protectedvirtual

Quick checks whether this implementation can read the Maildir format in the specified directory.

Returns
true if the implementation supports the specified Maildir, or false otherwise

Implements maildirFormat.


The documentation for this class was generated from the following files: