email/pop3andsmtpmtm/servermtmutils/inc/mimmobileserver.h
changeset 0 72b543305e3a
equal deleted inserted replaced
-1:000000000000 0:72b543305e3a
       
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #ifndef __MIMMOBILESERVER_H__
       
    17 #define __MIMMOBILESERVER_H__
       
    18 
       
    19 #include <e32std.h>
       
    20 #include "timmobilityaction.h"
       
    21 
       
    22 class TAccessPointInfo;
       
    23 
       
    24 /**
       
    25 The MImMobileServer API provides must be implemented by server MTMs that
       
    26 are to support bearer mobility using an instance of CImMobilityManager.
       
    27 
       
    28 These APIs are called by the Messaging Mobility Manager to instruct the 
       
    29 server MTM to prepare for migration to a new carrier, and to notify the
       
    30 server MTM when a new carrier is ready to create new connections.
       
    31 
       
    32 @internalTechnology
       
    33 @prototype
       
    34 */
       
    35 class MImMobileServer
       
    36 	{
       
    37 public:
       
    38 	/**
       
    39 	The passed parameter indicates the action that shall be taken if an
       
    40 	operation is currently in progress and for closing existing sockets.
       
    41 	The operation is asynchronous. The mobility manager must be notified
       
    42 	of completion by calling MigrateToNewCarrier();
       
    43 	@param aAction The disconnection method to use.
       
    44 	@param aIsSeamless Indicates if the migration will be seamless
       
    45 	*/
       
    46 	virtual void PrepareForNewCarrier(TImMobilityAction aAction, TBool aIsSeamless) =0;
       
    47 	
       
    48 	/**
       
    49 	Called in the case of a downgrade, or if an immediate migration is
       
    50 	required. Any current operations shall be stopped immediately and the
       
    51 	sockets torn down.
       
    52 	This is a synchronous operation. On completion of this method, the
       
    53 	above must have been done
       
    54 	*/
       
    55 	virtual void CarrierLost() =0;
       
    56 
       
    57 	/**
       
    58 	Indicates the new carrier is active.
       
    59 	*/
       
    60 	virtual void NewCarrierActive(TAccessPointInfo aNewAp, TBool aIsSeamless) =0;
       
    61 	
       
    62 	/**
       
    63 	Indicates an error has occurred associated with bearer mobility.
       
    64 	@param aError - indicates the type of error.
       
    65 	*/
       
    66 	virtual void MobilityError(TUint aError) =0;
       
    67 	
       
    68 	/**
       
    69 	Returns a packaged-up copy of the Server MTM's progress info.
       
    70 	*/
       
    71 	virtual const TDesC8& MobilityProgress() = 0;
       
    72 	};
       
    73 
       
    74 #endif	// __MIMMOBILESERVER_H__