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

Public Member Functions

 IMAPStore (shared_ptr< session > sess, shared_ptr< security::authenticator > auth, const bool secured=false)
 
 ~IMAPStore ()
 
const string getProtocolName () const
 
shared_ptr< foldergetDefaultFolder ()
 
shared_ptr< foldergetRootFolder ()
 
shared_ptr< foldergetFolder (const folder::path &path)
 
bool isValidFolderName (const folder::path::component &name) const
 
const serviceInfosgetInfos () const
 
void connect ()
 
bool isConnected () const
 
void disconnect ()
 
void noop ()
 
int getCapabilities () const
 
bool isIMAPS () const
 
bool isSecuredConnection () const
 
shared_ptr< connectionInfosgetConnectionInfos () const
 
shared_ptr< IMAPConnectiongetConnection ()
 
- Public Member Functions inherited from store
Type getType () const
 
- Public Member Functions inherited from service
virtual ~service ()
 
shared_ptr< const sessiongetSession () const
 
shared_ptr< sessiongetSession ()
 
shared_ptr< const
security::authenticator
getAuthenticator () const
 
shared_ptr
< security::authenticator
getAuthenticator ()
 
void setAuthenticator (shared_ptr< security::authenticator > auth)
 
void setCertificateVerifier (shared_ptr< security::cert::certificateVerifier > cv)
 
shared_ptr
< security::cert::certificateVerifier
getCertificateVerifier ()
 
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)
 

Static Public Member Functions

static const serviceInfosgetInfosInstance ()
 

Protected Member Functions

shared_ptr< IMAPConnectionconnection ()
 
void registerFolder (IMAPFolder *folder)
 
void unregisterFolder (IMAPFolder *folder)
 
- Protected Member Functions inherited from store
 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 ()
 

Protected Attributes

shared_ptr< IMAPConnectionm_connection
 
std::list< IMAPFolder * > m_folders
 
const bool m_isIMAPS
 

Static Protected Attributes

static IMAPServiceInfos sm_infos
 

Additional Inherited Members

- Public Types inherited from store
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 }
 

Detailed Description

IMAP store service.

Constructor & Destructor Documentation

IMAPStore ( shared_ptr< session sess,
shared_ptr< security::authenticator auth,
const bool  secured = false 
)

Member Function Documentation

void connect ( )
virtual

Connect to service.

Implements service.

References service::getAuthenticator(), IMAPStore::isConnected(), and IMAPStore::m_connection.

shared_ptr< IMAPConnection > connection ( )
protected
void disconnect ( )
virtual

Disconnect from service.

Implements service.

References IMAPStore::isConnected(), IMAPStore::m_connection, and IMAPStore::m_folders.

Referenced by IMAPStore::~IMAPStore().

int getCapabilities ( ) const
virtual

Return the features supported by this service.

This is a combination of store::CAPABILITY_xxx flags.

Returns
features supported by this service

Implements store.

References store::CAPABILITY_ADD_MESSAGE, store::CAPABILITY_COPY_MESSAGE, store::CAPABILITY_CREATE_FOLDER, store::CAPABILITY_DELETE_MESSAGE, store::CAPABILITY_EXTRACT_PART, store::CAPABILITY_MESSAGE_FLAGS, store::CAPABILITY_PARTIAL_FETCH, and store::CAPABILITY_RENAME_FOLDER.

shared_ptr< IMAPConnection > getConnection ( )
shared_ptr< connectionInfos > getConnectionInfos ( ) const
virtual

Get information about the connection.

Returns
information about the connection

Implements service.

References IMAPStore::m_connection.

shared_ptr< folder > getDefaultFolder ( )
virtual

Return the default folder.

This is protocol dependent and usually is the INBOX folder.

Returns
default folder

Implements store.

References IMAPStore::isConnected().

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

Return the folder specified by the path.

Parameters
pathabsolute folder path
Returns
folder at the specified path

Implements store.

References IMAPStore::isConnected().

const serviceInfos & getInfos ( ) const
virtual

Return information about this service.

Returns
information about the service

Implements service.

References IMAPStore::sm_infos.

const serviceInfos & getInfosInstance ( )
static

References IMAPStore::sm_infos.

const string getProtocolName ( ) const
virtual

Return the protocol name of this service.

Returns
protocol name

Implements service.

shared_ptr< folder > getRootFolder ( )
virtual

Return the root folder.

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

Returns
root folder

Implements store.

References IMAPStore::isConnected().

bool isConnected ( ) const
virtual

Test whether this service is connected.

Returns
true if the service is connected, false otherwise

Implements service.

References IMAPStore::m_connection.

Referenced by IMAPStore::connect(), IMAPStore::disconnect(), IMAPStore::getDefaultFolder(), IMAPStore::getFolder(), IMAPStore::getRootFolder(), IMAPStore::noop(), and IMAPStore::~IMAPStore().

bool isIMAPS ( ) const

References IMAPStore::m_isIMAPS.

bool isSecuredConnection ( ) const
virtual

Check whether the connection is secured.

Returns
true if the connection is secured, false otherwise

Implements service.

References IMAPStore::m_connection.

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

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

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

Implements store.

void noop ( )
virtual

Do nothing but ensure the server do not disconnect (for example, this can reset the auto-logout timer on the server, if one exists).

Implements service.

References IMAPStore::isConnected(), IMAPStore::m_connection, IMAPStore::m_folders, and IMAPCommand::NOOP().

void registerFolder ( IMAPFolder folder)
protected

References IMAPStore::m_folders.

void unregisterFolder ( IMAPFolder folder)
protected

References IMAPStore::m_folders.

Member Data Documentation

const bool m_isIMAPS
protected

Referenced by IMAPStore::isIMAPS().

IMAPServiceInfos sm_infos
staticprotected

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