iptel_plat/cch_client_api/inc/cchuiobserver.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:29:57 +0100
branchRCL_3
changeset 22 d38647835c2e
parent 0 a4daefaec16c
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* Copyright (c) 2008-2008 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  Observer definition for CCH UI clients
*
*/


#ifndef M_CCHUIOBSERVER_H
#define M_CCHUIOBSERVER_H

/**
 *  CCH UI Observer declaration class.
 *
 *  This class defines observer implementation for the CCH UI
 *  clients. Every client must derive this class in order to
 *  be able to use services provided by CCH UI and to be able
 *  to receive observer callbacks.
 *  @code
 *  inherit in header:
 *  class CMyClass : public CBase, public MCchUiObserver
 *  @endcode
 *
 *  @lib cch.lib
 *  @since S60 5.0
 */
class MCchUiObserver
    {
public:

    /**  Defines dialog types available through this API */
    enum TCchUiDialogType
    	{
    	ECchUiDialogTypeNotSet,
    	// For connecting note showing
    	ECchUiDialogTypeConnecting,
    	// For disconnecting note showing
        ECchUiDialogTypeDisconnecting,
        // For showing info note about invalid username/password.
        // Will also automatically show username/password query after
        // showing info note.
        ECchUiDialogTypeUsernamePasswordFailed,
        // For showing username/password query.
    	ECchUiDialogTypeAuthenticationFailed,
    	// For showing no connections defined query. When user inputs
    	// username/password and accepts query, CCHUI will save them
    	// and also will re-enable service.
    	ECchUiDialogTypeNoConnectionDefined,    
    	// For showing no connections available query. When user selects
    	// new access point, CCHUI adds it to service´s SNAP and re-enables
    	// service automatically.
    	ECchUiDialogTypeNoConnectionAvailable,   
    	// For showing confirmation query to change connection.
    	// Will show automatically also change connection query if
    	// confirmation query accepted by user.
    	ECchUiDialogTypeConfirmChangeConnection,
    	// For showing change connection query. When user selects
    	// new access point, CCHUI add it to service´s SNAP and re-enables
    	// service. CCHUI will also delete old access point from service´s
    	// SNAP if access point is not used by other service(s).
    	ECchUiDialogTypeChangeConnection,
    	// For showing defective settings info note.
    	ECchUiDialogTypeDefectiveSettings,
    	// For showing error in connection info note.
    	// Will show automatically also confirm change connection query
    	// and confirmation query is accepted by user, change connection
    	// query is showed also.
    	ECchUiDialogTypeErrorInConnection
    	};
    	
    /**  Defines operation results ie. indicates what have been done. 
         Client can implement handling based on these on callback. */
    enum TCchUiOperationResult
    	{
    	// Operation result not set
    	ECchUiClientOperationResultNotSet,
    	// User has cancelled query.
    	ECchUiClientOperationResultUserCancelled,
    	// Failure that prevents enabling service has happened.
    	ECchUiClientOperationResultGeneralFailure,
    	// CCHUI has added new access point to service´s SNAP.
    	ECchUiClientOperationResultAccessPointAdded,
    	// CCHUI has added new access point to service´s SNAP. 
    	// CCHUI has also removed previously used access point from
    	// service´s SNAP if it was not used by other service(s).
    	ECchUiClientOperationResultConnectionChanged,
    	// CCHUI has saved new username/password for service
    	ECchUiClientOperationResultCredentialsChanged
    	};
        
    /**
     * Gets called when cchui has finished showing connectivity dialogs
     * and possible connectivity related operations based on user
     * actions in those dialogs. 
     *
     * @since S60 5.0
     * @param aServiceId Service id.
     * @param aServiceState Service state after cchui operations.
     * @param aOperationResult Contains last cchui operation.
     * @return None
     */
    virtual void ConnectivityDialogsCompletedL(
        TInt aServiceId, 
        TCchUiOperationResult aOperationResult ) = 0;
    };

#endif // M_CCHUIOBSERVER_H