MMsvSessionObserver Class Reference

#include <mw/msvapi.h>

Link against: AlwaysOnlineManagerClient.lib

class MMsvSessionObserver

Detailed Description

Provides the interface for notification of events from a Message Server session.

The types of event are given in the enumeration TMsvSessionEvent. Clients must provide an object that implements the interface, and set it to be notified through CMsvSession::OpenSyncL() or CMsvSession::OpenASyncL(). Additional observers can also be added and removed through CMsvSession.

See also: CMsvSession::AddObserverL() CMsvSession::RemoveObserver()

Member Enumeration Documentation

Enum TMsvSessionEvent

Session event type.

See also: EMsvMediaUnavailable TDriveNumber

EnumeratorValueDescription
EMsvEntriesCreated

One or more entries have been created.

aArg1 is a CMsvEntrySelection of the new entries. aArg2 is the TMsvId of the parent entry.

EMsvEntriesChanged

One or more index entries have been changed.

aArg1 is a CMsvEntrySelection of the index entries. aArg2 is the TMsvId of the parent entry.

EMsvEntriesDeleted

One or more entries have been deleted.

aArg1 is a CMsvEntrySelection containing the IDs of the deleted entries. aArg2 is the TMsvId of the parent entry.

EMsvEntriesMoved

One or more entries have been moved.

aArg1 is a CMsvEntrySelection containing the IDs of the moved entries. aArg2 is the TMsvId of the new parent. aArg3 is the TMsvId of the old parent entry.

EMsvMtmGroupInstalled

A new MTM has been installed.

aArg2 points to a TUid for the new MTM.

EMsvMtmGroupDeInstalled

A MTM has been uninstalled.

aArg2 points to a TUid of the removed MTM.

EMsvGeneralError

Something has happening in the server, but this client was unable to retrieve the information.

aArg1 points to the error code.

EMsvCloseSession

The client should immediately close the session with the Message Server.

EMsvServerReady

Received after a client has used CMsvSession::OpenAsyncL() to create a session.

The session can now be used.

EMsvServerFailedToStart

Received after a client has used CMsvSession::OpenAsyncL() to create a session.

The server could not be started, and aArg1 points to the error code.

EMsvCorruptedIndexRebuilt

The Message Server index had been corrupted and had to be rebuilt.

All local entries are recovered, but all remote entries have been lost.

EMsvServerTerminated

The Message Server has been terminated.

All clients must close their sessions immediately.

EMsvMediaChanged

This notification is sent whenever Message Server current drive is changed. Upon receiving this event, the client should delete the current context of operations and refresh its view of messaging.

aArg1 is a TDriveNumber value that identifies the drive used by the Message Server to hold the index prior to the change.

aArg2 is also a TDriveNumber value; it identifies the new drive that the Message Server is using.

CMsvEntry contexts either refresh themselves or mark themselves invalid.

See also: EMsvMediaUnavailable TDriveNumber

EMsvMediaUnavailable

The media (disk) containing the Message Server index has been removed.

aArg1 is a TDriveNumber value that identifies the drive that is no longer available.

Future requests may fail with KMsvMediaUnavailable. A EMsvMediaChanged event may be received in the future, as the Message Server switches back to the internal drive.

EMsvMediaAvailable

The disk containing the Message Store is available again.

aArg1 is a TDriveNumber value that identifies the drive that is being used.

The Message Server can now operate as normal. No client action is necessary.

EMsvMediaIncorrect

An incorrect disk is inserted.

aArg1 is a TDriveNumber value that identifies the drive in which the incorrect disk has been inserted.

Some requests may fail with KMsvMediaIncorrect. Clients may get an EMsvMediaChanged event in the future telling them that the Message Server has switched back to the internal drive.

EMsvCorruptedIndexRebuilding

The Message Server has started to rebuild its index after it has been corrupted.

See also: EMsvCorruptedIndexRebuilt

Member Function Documentation

HandleSessionEventL ( TMsvSessionEvent, TAny *, TAny *, TAny * )

voidHandleSessionEventL(TMsvSessionEventaEvent,
TAny *aArg1,
TAny *aArg2,
TAny *aArg3
)[pure virtual]

Indicates an event has occurred.

The type of event is indicated by the value of aEvent. The interpretation of the TAny arguments depends on this type.

For most event types, the action that is taken, for example, updating the display, is client-specific. All clients though should respond to EMsvCloseSession and EMsvServerTerminated events.

ParameterDescription
aEventIndicates the event type.
aArg1Event type-specific argument value
aArg2Event type-specific argument value
aArg3Event type-specific argument value