/*
* s_mcchuiobserver.h :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 cchui.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