VMime
service Class Referenceabstract
Inheritance diagram for service:
Collaboration diagram for service:

Public Types

enum  Type { TYPE_STORE = 0, TYPE_TRANSPORT }
 

Public Member Functions

virtual ~service ()
 
virtual Type getType () const =0
 
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

 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

Base class for messaging services.

Member Enumeration Documentation

◆ Type

enum Type

Possible service types.

Enumerator
TYPE_STORE 

The service is a message store.

TYPE_TRANSPORT 

The service sends messages.

Constructor & Destructor Documentation

◆ service()

service ( shared_ptr< session sess,
const serviceInfos infos,
shared_ptr< security::authenticator auth 
)
protected

◆ ~service()

~service ( )
virtual

Member Function Documentation

◆ connect()

virtual void connect ( )
pure virtual

Connect to service.

◆ disconnect()

virtual void disconnect ( )
pure virtual

Disconnect from service.

◆ getAuthenticator() [1/2]

shared_ptr<security::authenticator> getAuthenticator ( )

Return the authenticator object used with this service instance.

Returns
authenticator object

◆ getAuthenticator() [2/2]

shared_ptr< security::authenticator > getAuthenticator ( ) const

Return the authenticator object used with this service instance.

Returns
authenticator object

◆ getCertificateVerifier()

shared_ptr< security::cert::certificateVerifier > getCertificateVerifier ( )

Get the object responsible for verifying certificates when using secured connections (TLS/SSL).

◆ getConnectionInfos()

virtual shared_ptr<connectionInfos> getConnectionInfos ( ) const
pure virtual

Get information about the connection.

Returns
information about the connection

◆ getInfos()

virtual const serviceInfos& getInfos ( ) const
pure virtual

Return information about this service.

Returns
information about the service

◆ getProtocolName()

virtual const string getProtocolName ( ) const
pure virtual

Return the protocol name of this service.

Returns
protocol name

◆ getSession() [1/2]

shared_ptr<session> getSession ( )

Return the session object associated with this service instance.

Returns
session object

◆ getSession() [2/2]

shared_ptr< session > getSession ( ) const

Return the session object associated with this service instance.

Returns
session object

◆ getSocketFactory()

shared_ptr< socketFactory > getSocketFactory ( )

Return the factory used to create socket objects for this service.

Returns
socket factory

◆ getTimeoutHandlerFactory()

shared_ptr< timeoutHandlerFactory > getTimeoutHandlerFactory ( )

Return the factory used to create timeoutHandler objects for this service.

Returns
timeoutHandler factory

◆ getTracerFactory()

shared_ptr< tracerFactory > getTracerFactory ( )

◆ getType()

virtual Type getType ( ) const
pure virtual

Return the type of service.

Returns
type of service

Implemented in transport, and store.

◆ isConnected()

virtual bool isConnected ( ) const
pure virtual

Test whether this service is connected.

Returns
true if the service is connected, false otherwise

◆ isSecuredConnection()

virtual bool isSecuredConnection ( ) const
pure virtual

Check whether the connection is secured.

Returns
true if the connection is secured, false otherwise

◆ noop()

virtual void noop ( )
pure 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).

◆ setAuthenticator()

void setAuthenticator ( shared_ptr< security::authenticator auth)

Set the authenticator object used with this service instance.

Parameters
authauthenticator object

◆ setCertificateVerifier()

void setCertificateVerifier ( shared_ptr< security::cert::certificateVerifier cv)

Set the object responsible for verifying certificates when using secured connections (TLS/SSL).

◆ setProperty()

void setProperty ( const string name,
const TYPE &  value 
)

Set a property for this service (service prefix is added automatically).

WARNING: this sets the property on the session object, so all service instances created with the session object will inherit the property.

Parameters
nameproperty name
valueproperty value

◆ setSocketFactory()

void setSocketFactory ( shared_ptr< socketFactory sf)

Set the factory used to create socket objects for this service.

Parameters
sfsocket factory

◆ setTimeoutHandlerFactory()

void setTimeoutHandlerFactory ( shared_ptr< timeoutHandlerFactory thf)

Set the factory used to create timeoutHandler objects for this service.

By default, the defaultTimeoutHandler class is used. Not all services support timeout handling.

Parameters
thftimeoutHandler factory

◆ setTracerFactory()

void setTracerFactory ( shared_ptr< tracerFactory tf)

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