VMime
store Class Referenceabstract

#include <store.hpp>

Inheritance diagram for store:
Collaboration diagram for store:

Public Types

enum  Capabilities {
  CAPABILITY_CREATE_FOLDER = (1 << 0) , CAPABILITY_RENAME_FOLDER = (1 << 1) , CAPABILITY_ADD_MESSAGE = (1 << 2) , CAPABILITY_COPY_MESSAGE = (1 << 3) ,
  CAPABILITY_DELETE_MESSAGE = (1 << 4) , CAPABILITY_PARTIAL_FETCH = (1 << 5) , CAPABILITY_MESSAGE_FLAGS = (1 << 6) , CAPABILITY_EXTRACT_PART = (1 << 7)
}
Public Types inherited from service
enum  Type { TYPE_STORE = 0 , TYPE_TRANSPORT }

Public Member Functions

virtual shared_ptr< foldergetDefaultFolder ()=0
virtual shared_ptr< foldergetRootFolder ()=0
virtual shared_ptr< foldergetFolder (const folder::path &path)=0
virtual bool isValidFolderName (const folder::path::component &name) const =0
virtual int getCapabilities () const =0
Type getType () const
Public Member Functions inherited from service
virtual ~service ()
virtual const string getProtocolName () const =0
shared_ptr< const sessiongetSession () const
shared_ptr< sessiongetSession ()
virtual const serviceInfosgetInfos () const =0
virtual void connect ()=0
virtual void disconnect ()=0
virtual bool isConnected () const =0
virtual void noop ()=0
shared_ptr< const security::authenticatorgetAuthenticator () const
shared_ptr< security::authenticatorgetAuthenticator ()
void setAuthenticator (shared_ptr< security::authenticator > auth)
void setCertificateVerifier (shared_ptr< security::cert::certificateVerifier > cv)
shared_ptr< security::cert::certificateVerifiergetCertificateVerifier ()
void setSocketFactory (shared_ptr< socketFactory > sf)
shared_ptr< socketFactorygetSocketFactory ()
void setTimeoutHandlerFactory (shared_ptr< timeoutHandlerFactory > thf)
shared_ptr< timeoutHandlerFactorygetTimeoutHandlerFactory ()
void setTracerFactory (shared_ptr< tracerFactory > tf)
shared_ptr< tracerFactorygetTracerFactory ()
template<typename TYPE>
void setProperty (const string &name, const TYPE &value)
virtual bool isSecuredConnection () const =0
virtual shared_ptr< connectionInfosgetConnectionInfos () const =0

Protected Member Functions

 store (shared_ptr< session > sess, const serviceInfos &infos, shared_ptr< security::authenticator > auth)
Protected Member Functions inherited from service
 service (shared_ptr< session > sess, const serviceInfos &infos, shared_ptr< security::authenticator > auth)
Protected Member Functions inherited from object
 object ()
 object (const object &)
objectoperator= (const object &)
virtual ~object ()

Detailed Description

A store service.

Encapsulate protocols that provide access to user's mail drop.

Member Enumeration Documentation

◆ Capabilities

Store capabilities.

Enumerator
CAPABILITY_CREATE_FOLDER 

Can create folders.

CAPABILITY_RENAME_FOLDER 

Can rename folders.

CAPABILITY_ADD_MESSAGE 

Can append message to folders.

CAPABILITY_COPY_MESSAGE 

Can copy messages from a folder to another one.

CAPABILITY_DELETE_MESSAGE 

Can delete messages.

CAPABILITY_PARTIAL_FETCH 

Is partial fetch supported?

CAPABILITY_MESSAGE_FLAGS 

Can set flags on messages.

CAPABILITY_EXTRACT_PART 

Can extract a specific part of the message.

Constructor & Destructor Documentation

◆ store()

store ( shared_ptr< session > sess,
const serviceInfos & infos,
shared_ptr< security::authenticator > auth )
protected

Member Function Documentation

◆ getCapabilities()

virtual int getCapabilities ( ) const
pure virtual

Return the features supported by this service.

This is a combination of store::CAPABILITY_xxx flags.

Returns
features supported by this service

Implemented in IMAPStore, maildirStore, and POP3Store.

◆ getDefaultFolder()

virtual shared_ptr< folder > getDefaultFolder ( )
pure virtual

Return the default folder.

This is protocol dependent and usually is the INBOX folder.

Returns
default folder

Implemented in IMAPStore, maildirStore, and POP3Store.

◆ getFolder()

virtual shared_ptr< folder > getFolder ( const folder::path & path)
pure virtual

Return the folder specified by the path.

Parameters
pathabsolute folder path
Returns
folder at the specified path

Implemented in IMAPStore, maildirStore, and POP3Store.

◆ getRootFolder()

virtual shared_ptr< folder > getRootFolder ( )
pure virtual

Return the root folder.

This is protocol dependent and usually is the user's mail drop root folder.

Returns
root folder

Implemented in IMAPStore, maildirStore, and POP3Store.

◆ getType()

Type getType ( ) const
virtual

Return the type of service.

Returns
type of service

Implements service.

References service::TYPE_STORE.

◆ isValidFolderName()

virtual bool isValidFolderName ( const folder::path::component & name) const
pure virtual

Test whether the specified folder name is a syntactically a valid name.

Returns
true if the specified folder name is valid, false otherwise

Implemented in IMAPStore, maildirStore, and POP3Store.

Referenced by IMAPFolder::create(), maildirFolder::create(), IMAPFolder::rename(), and maildirFolder::rename().


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