diff -r 65a3ef1d5bd0 -r f742655b05bf convergedconnectionhandler/cchclientapi/inc/cchuiapiimpl.h --- a/convergedconnectionhandler/cchclientapi/inc/cchuiapiimpl.h Thu Aug 19 09:45:22 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,400 +0,0 @@ -/* -* Copyright (c) 2008-2009 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: -* -*/ - - -#ifndef C_CCHUIAPIIMPL_H -#define C_CCHUIAPIIMPL_H - -#include -#include -#include - -#include "mcchuinoteresultobserver.h" - -class CCchUiSpsHandler; -class CCchUiCchHandler; -class CCCHUiNoteHandler; -class CCchUiClientObserver; -class CCchUiConnectionHandler; - -/** - * CchUiApiImpl class - * Implementation class for CchUiApi. - * Do the actual things of CchUiApi - * - * @since @since S60 5.0 - */ -NONSHARABLE_CLASS( CCchUiApiImpl ) : public CBase, - public MCchUiNoteResultObserver, - public MCchServiceStatusObserver - { -public: - - /** - * Two-phased constructor. - * @param aObserver reference to observer insterested in CCH UI events - */ - static CCchUiApiImpl* NewL( CCch& aCch ); - - /** - * Destructor. - */ - virtual ~CCchUiApiImpl(); - - /** - * Adds observer for listening cchui events. - * - * @since S60 5.0 - * @param aObserver Event observing class - */ - void AddObserverL( MCchUiObserver& aObserver ); - - /** - * Removes the observer of cchui events. - * - * @since S60 5.0 - * @param aObserver Event observing class - */ - void RemoveObserver( MCchUiObserver& aObserver ); - - /** - * Shows specific dialog or note. - * - * @since S60 5.0 - * @param aServiceId service id of the service that the - * note is shown for. Service id is used to fetch - * service specific data. - * @param aDialog specifies dialog to be shown - */ - void ShowDialogL( - TUint32 aServiceId, - MCchUiObserver::TCchUiDialogType aDialog ); - - /** - * Configures visualization params. - * - * @since S60 5.0 - * @param aAllowedNotes array of allowed notes - * @param aAllowedSubServices allowed sub services - * @return None - */ - void ConfigureVisualizationL( - RArray& aAllowedNotes, - RArray& aAllowedSubServices ); - - /** - * Cancels all notes. Same behaviour can be achieved by deleting - * this instance. Client can use this method to dismiss note and keep this - * API instance in order to show some other notes in the future. - * If there is nothing to dismiss, call to this method does nothing. - * - * @since S60 5.0 - */ - void CancelNotes(); - - /** - * Starts observing events for specific service defined by aServiceId - * - * @since S60 5.0 - * @param aService, service identifier - * @param aEnableResult, enable result error code - */ - void ManualEnableResultL( TUint aServiceId, TInt aEnableResult ); - - -// from base class MCchUiNoteResultObserver - - /** - * From MCchUiNoteResultObserver. - * Called when certain dialog has completed without errors. - * - * @since S60 5.0 - * @param aCompleteCode Complete code. - * @param aResultParams Result params of the dialog. - */ - void DialogCompletedL( - TInt aCompleteCode, - TCCHUiNotifierParams aResultParams ); - -// from base class MCchServiceStatusObserver - - /** - * Observer implementation for service specific events. - * by aServiceId. - * - * @since S60 5.0 - * @param aServiceId service id - * @param aType sub service type - * @param aServiceStatus service status - */ - void ServiceStatusChanged( - TInt aServiceId, - TCCHSubserviceType aType, - const TCchServiceStatus& aServiceStatus ); - -protected: // constructor - - CCchUiApiImpl(); - - void ConstructL( CCch& aCch ); - -protected: // functions - /** - * Handles authentication failed dialog result. - * - * @since S60 5.0 - * @param aCompleteCode Complete code of the dialog. - * @param aResultParams Result parameters from the dialog. - */ - void DoHandleAuthenticationFailedCompleteL( - TInt aCompleteCode, - TCCHUiNotifierParams aResultParams ); - - /** - * Handles no connections dialog result. - * - * @since S60 5.0 - * @param aCompleteCode Complete code of the dialog. - * @param aResultParams Result parameters from the dialog. - */ - void DoHandleNoConnectionsCompleteL( - TInt aCompleteCode, - TCCHUiNotifierParams aResultParams ); - - /** - * Handles change connection confirmation note result. - * - * @since S60 5.0 - * @param aCompleteCode Complete code of the dialog. - * @param aResultParams Result parameters from the dialog. - */ - void DoHandleConfirmChangeConnectionCompleteL( - TInt aCompleteCode, - TCCHUiNotifierParams aResultParams ); - - /** - * Handles change connection query result. - * - * @since S60 5.0 - * @param aCompleteCode Complete code of the dialog. - * @param aResultParams Result parameters from the dialog. - */ - void DoHandleChangeConnectionCompleteL( - TInt aCompleteCode, - TCCHUiNotifierParams aResultParams ); - - /** - * Handles service specific error. - * - * @since S60 5.0 - * @param aServiceId service id - * @param aType subservice type - * @param aServiceStatus service status - */ - void DoHandleServiceErrorL( - TInt aServiceId, - TCCHSubserviceType aType, - const TCchServiceStatus& aServiceStatus ); - - /** - * Handles service specific status event. - * - * @since S60 5.0 - * @param aServiceId service id - * @param aType subservice type - * @param aServiceStatus service status - */ - void DoHandleServiceEventL( - TInt aServiceId, - TCCHSubserviceType aType, - const TCchServiceStatus& aServiceStatus ); - - /** - * Handles search wlan dialog result. - * - * @since S60 5.0 - * @param aCompleteCode Complete code of the dialog. - * @param aResultParams Result parameters from the dialog. - */ - void HandleSearchWlanCompleteL( - TInt& aCompleteCode, - TCCHUiNotifierParams& aResultParams ); - - /** - * Handles search access points error code. - * - * @since S60 5.0 - * @param aErr error code to handle. - * @param aCompleteCode Complete code of the dialog. - * @param aResultParams Result parameters from the dialog. - */ - void HandleSearchAccessPointsErrorL( - TInt aErr, - TInt& aCompleteCode, - TCCHUiNotifierParams& aResultParams ); - - /** - * Handles search wlan dialog result when use gprs selected. - * - * @since S60 5.0 - * @param aCompleteCode Complete code of the dialog. - * @param aResultParams Result parameters from the dialog. - */ - void HandleCopyGprsCompleteL( - TInt& aCompleteCode, - TCCHUiNotifierParams& aResultParams ); - - /** - * Handle changing to new connection. - * - * @since S60 5.0 - * @param aCompleteCode Complete code of the dialog. - * @param aResultParams Result parameters from the dialog. - */ - void HandleChangeConnectionL( - TInt& aCompleteCode, - TCCHUiNotifierParams& aResultParams ); - - /** - * Informs event to all observers. - * - * @since S60 5.0 - * @param aServiceId service id. - */ - void InformObserversL( TInt aServiceId ); - - /** - * Checks if specific dialog is allowed. If client has not configured, - * all dialogs are allowed. - * - * @since S60 5.0 - * @param aDialog dialog to be checked. - * @return TBool, ETrue if aDialog is allowed - */ - TBool DialogIsAllowed( MCchUiObserver::TCchUiDialogType aDialog ); - - /** - * Checks if specific sub service is allowed. If client has not configured, - * only voip sub service is allowed. - * - * @since S60 5.0 - * @param aSubService sub service to be checked. - * @return TBool, ETrue if aSubService is allowed - */ - TBool SubServiceIsAllowed( TCCHSubserviceType aSubService ); - - /** - * Checks subservice state is allowed for showing dialogs. - * - * @since S60 5.0 - * @param aState sub service state - * @return TBool, ETrue if state is allowed for showing dialogs - */ - TBool StateIsAllowed( const TCCHSubserviceState aState ); - - /** - * Handles re-enabling of service. - * - * @since S60 5.0 - * @param aServiceId service id - */ - void HandleServiceReEnablingL( TUint aServiceId ); - - /** - * Handles manual enable errors. - * - * @since S60 5.0 - * @param aService, service identifier - * @param aEnableResult, enable result error code - */ - void HandleManualEnableErrorL( TUint aServiceId, TInt aEnableResult ); - -private: // data - - /** - * Array of encapsulated observers (clients) - * Own. - */ - RPointerArray iObservers; - - /** - * CCH handler. - * Own. - */ - CCchUiCchHandler* iCCHHandler; - - /** - * Controller class for dialogs. - * Own. - */ - CCCHUiNoteHandler* iNoteController; - - /** - * Service settings handler. - * Own. - */ - CCchUiSpsHandler* iSpsHandler; - - /** - * Connection handler. Handles iaps & snaps. - * Own. - */ - CCchUiConnectionHandler* iConnectionHandler; - - /** - * Own. Stores service ids of the monitored services - */ - RArray iObservervedServices; - - /** - * Own. Stores allowed notes (client provided) - */ - RArray iAllowedNotes; - - /** - * Own. Stores allowed sub services (client provided) - */ - RArray iAllowedSubServices; - - /** - * Flag for indicating if re-enabling of service needs - * after service disabled event. - */ - TBool iReEnableService; - - /** - * For iap id which can be removed when change connection - * performed succesfully. - */ - TInt iRemovableConnection; - - /** - * Service which we have added cch observer. - */ - TInt iObservedService; - - /** - * Stores last cchui operation result. - */ - MCchUiObserver::TCchUiOperationResult iLastOperationResult; - - CCHUI_UNIT_TEST( UT_CchUi ) - }; - -#endif // C_CCHUIAPIIMPL_H - -