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()

kmailMaildirFormat ( shared_ptr< context ctx)

Member Function Documentation

◆ createFolder()

void createFolder ( const folder::path path)
virtual

◆ destroyFolder()

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.

◆ folderExists()

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.

◆ folderHasSubfolders()

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().

◆ folderPathToFileSystemPath()

◆ getName()

const string getName ( ) const
virtual

Return the name of this Maildir format.

Returns
format name

Implements maildirFormat.

◆ isSubfolderDirectory()

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(), and kmailMaildirFormat::listFoldersImpl().

◆ listFolders()

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.

References kmailMaildirFormat::listFoldersImpl().

Referenced by kmailMaildirFormat::folderPathToFileSystemPath().

◆ listFoldersImpl()

◆ renameFolder()

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.

◆ supports()

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: