diff -r 7d48bed6ce0c -r 987c9837762f vmbx/vmbxengine/inc/voicemailboximpl.h --- a/vmbx/vmbxengine/inc/voicemailboximpl.h Tue Aug 31 15:45:17 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,436 +0,0 @@ -/* -* Copyright (c) 2009-2010 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: Implementation class for voice mailbox -* Interface : Private, CVoiceMailboxImpl -* -*/ - -#ifndef C_VOICEMAILBOXIMPL_H -#define C_VOICEMAILBOXIMPL_H - - -// INCLUDES -#include -#include -#include "mvmbxchangeobserver.h" -#include "mvoicemailboxobserver.h" -#include "mvmbxresourceprovider.h" -#include "mvmbxuiutilities.h" -#include "mvmbxcenrephandler.h" - -// FORWARD DECLARATIONS -class CVmbxUiUtilities; -class CVmbxEngineFactory; -class CVmbxObserver; -class CVmbxCenRepHandler; - -// CLASS DECLARATION - -/** -* Implemets mailbox entry base class functionality -* -* @lib vmbxengine.lib -*/ -NONSHARABLE_CLASS( CVoiceMailboxImpl ) : public CBase, - public MVmbxChangeObserver, - public MVmbxResourceProvider - { - -public: // Constructors and destructor - - /** - * Two-phased constructor - */ - static CVoiceMailboxImpl* NewL(); - - /** - * Two-phased constructor - */ - static CVoiceMailboxImpl* NewLC(); - - /** - * Destructor. - */ - virtual ~CVoiceMailboxImpl(); - -public: // New functions - - /** - * see CVoiceMailbox::GetStoredEntry - * - */ - TInt GetStoredEntry( const TVoiceMailboxParams& aParams, - CVoiceMailboxEntry*& aEntry ) const; - - /** - * see CVoiceMailbox::SaveEntry - * - */ - TInt SaveEntry( const CVoiceMailboxEntry& aEntry ); - - /** - * see CVoiceMailbox::QueryNewEntry - * - */ - TInt QueryNewEntry( const TVoiceMailboxParams& aParams, - CVoiceMailboxEntry*& aEntry ); - - /** - * see CVoiceMailbox::QueryChangeEntry - * - */ - TInt QueryChangeEntry( const TVoiceMailboxParams& aParams, - CVoiceMailboxEntry*& aEntry); - - /** - * see CVoiceMailbox::QueryVmbxType - * - */ - TInt QueryVmbxType( TVoiceMailboxParams& aParams ); - - /** - * see CVoiceMailbox::NotifyVmbxNumberChangeL - * - */ - void NotifyVmbxNumberChangeL( MVoiceMailboxObserver& aObserver, - const TBool aNotifyOnActiveLineOnly ); - - /** - * see CVoiceMailbox::NotifyVmbxNumberChangeCancel - * - */ - void NotifyVmbxNumberChangeCancel(); - - /** - * see CVoiceMailbox::CheckConfiguration - * - * @since S60 v5.2 - */ - TBool CheckConfiguration( const TVoiceMailboxParams& aParams, - const TInt aFlags ); - - /** - * see CVoiceMailbox::GetServiceIds - * - */ - TInt GetServiceIds( RIdArray& aProfileIds ); - - /** - * see CVoiceMailbox::GetVmbxImage - * - */ - //CGulIcon* GetVmbxImage( const TVoiceMailboxParams& aParams ); - - /** - * see CVoiceMailbox::GetVmbxImages - * - */ - //CArrayPtr* GetVmbxImages( - // RArray& aParams ); - - /** - * see CVoiceMailbox::SaveProvisionedEntry - * - */ - TInt SaveProvisionedEntry( const CVoiceMailboxEntry& aEntry ); - - -public: // From MVmbxChangeObserver - - /** - * see MVmbxChangeObserver::SatRefreshL - * - */ - void SatRefreshL(); - - /** - * see MVmbxChangeObserver::CenRepChangedL - * - */ - void CenRepChangedL( TVmbxCenRepKey aId ); - - /** - * see MVmbxChangeObserver::SimStoreChangedL - * - */ - void SimStoreChangedL(); - -public: // From MVmbxChangeObserver - - /** - * Get Handler of VmbxUiUtilities - * - * @return Refereance of MVmbxUiUtilities - */ - MVmbxUiUtilities& VmbxUiUtilities(); - - /** - * Get Handler of VmbxCenrepHandler - * - * @return Refereance of MVmbxCenrepHandler - */ - MVmbxCenrepHandler& VmbxCenRepHandler(); - - -private: //New method - - /** - * C++ default constructor. - * - */ - CVoiceMailboxImpl(); - - /** - * ConstructL - * - */ - void ConstructL(); - - /** - * Retrieves voice mailbox entry for the specified service. - * Leave - KErrNotFound if no entry available - * - KErrArgument when illegal argument - * - Other system wide errors. - * - * @param in Params Service id and type of the mailbox for which - * a number/address should be defined. - * @param out aEntry If successful, a new result container is - * created and ownership passed to the caller. - */ - void GetStoredEntryL( const TVoiceMailboxParams& aParams, - CVoiceMailboxEntry*& aEntry ) const; - - /** - * Displays a query asking the user to define a mailbox number/address. - * Returns the input which the user entered, but does not save it. - * For that caller has to use SaveEntry(). - * This method may display related UI notes or queries. - * - * If editing for the specified mailbox service is not allowed, - * this method displays an error note and returns an error. - * If client is interested, CheckConfiguration() - * can be used to check permissions. - * - * Leave - KErrNotFound if the number is not defined - * (user entered no number or selected Cancel) - * - KErrArgument When illegal argument. - * - KErrNotSupported if not capable or allowed to execute this - * for the specified mailbox. - * - Other system wide errors. - * - * @param in aParams Service id and type of the mailbox for which - * a number/address should be defined. - * @param out aEntry If successful, a new result container is - * created and ownership passed to the caller. - */ - void QueryNewEntryL( const TVoiceMailboxParams& aParams, - CVoiceMailboxEntry*& aEntry ); - - /** - * Saves the vmbx entry to its storage. - * Leave - KErrNotSupported if not capable or allowed to execute this - * for the specified mailbox service. - * - KErrArgument When illegal argument was passed. - * - Other system wide errors. - * - * Some mailbox types may not support saving all arguments. - * In that case unsupported arguments are ignored. - * This method may display related UI notes or queries. - * - * @param in aEntry The vmbx entry to save. - */ - void SaveEntryL( const CVoiceMailboxEntry& aEntry ); - - /** - * Displays a query asking the user to change a mailbox number/address. - * Returns the input from user, but does not save it. - * For that caller has to use SaveEntry(). - * - * If editing for the specified mailbox service is not allowed, - * this method displays an error note and returns an error. - * If client is interested, CheckConfiguration() - * can be used to check permissions. - * - * created and ownership passed to the caller. - * aNumber will contain the vmbx number. - * Leave - KErrCancel If the user selected Cancel. - * - KErrArgument When illegal argument. - * - KErrNotSupported if not capable or allowed to execute this - * for the specified mailbox. - * - Other system wide errors. - * - * @param in aParams Service id and type of the mailbox. - * @param out aEntry If successful, a new result container is - */ - void QueryChangeEntryL( const TVoiceMailboxParams& aParams, - CVoiceMailboxEntry*& aEntry); - - /** - * Displays a query on the screen asking the user to select a - * Voice Mailbox service. - * - * Leave - KErrCancel if user selected Cancel - * - KErrNotFound if there is no defined voice number and - * user have selected the type to define or the default - * type given. - * - Other system wide errors. - * - * @param out aParams If successful, - * contains selected mailbox info. - */ - void QueryVmbxTypeL( TVoiceMailboxParams& aParams ); - - /** - * Get defined entries via an array - * Leave with symbian OS error code except KErrNotFound and KErrSupported. - * - * @param out aArray array contains the defined entries - */ - void GetDefinedEntriesL( RPointerArray& aArray ); - - /** - * Get defined voice entry via an array - * Leave with symbian OS error code except KErrSupported. - * - * @param out aArray array contains the defined entries - */ - void GetDefinedVoiceEntryL( - RPointerArray& aArray ); - - /** - * Get defined video entry via an array - * Leave with symbian OS error code except KErrNotFound and KErrSupported. - * - * @param out ay array contains the defined entries - */ - void GetDefinedVideoEntryL( - RPointerArray& aArray ); - - /** - * Get defined voip entries via an array - * Leave with symbian OS error code except KErrNotFound and KErrSupported. - * - * @param out aArray array contains the defined entries - */ - void GetDefinedVoipEntriesL( - RPointerArray& aArray ); - - /** - * Checks the Voice Mailbox how many VoIP service Ids - * Leave with symbian OS error code - * - * @param out aProfileIds - * @return KErrNone if get service Ids successfully. - */ - void GetServiceIdsL( RIdArray& aProfileIds ); - - /** - * Retrieves an image associated with the specified mailbox, - * if an image is available. - * Image can be displayed e.g. in a selection list. - * Leave with symbian OS error code. - * - * @param in aParams Mailbox service id and type for which image is needed. - * @return aImage New image. Ownership is transferred. - */ - //CGulIcon* GetVmbxImageL( const TVoiceMailboxParams& aParams ); - - /** - * Retrieves images for the specified mailboxes. - * Image can be displayed e.g. in a selection list. - * Leave with symbian OS error code. - * - * If an image for a service is not available, - * then a NULL pointer is appended to the returned array, to an index - * corresponding to the index of the service id in the input - * array aMailboxServices. - * NULL array pointer is returned if not a signle icon was retrieved - * successfully. - * - * @param in aParams Mailboxes (id and type) for which an image is needed. - * @return aImage Icons for the specified mailboxes. - * Index of an image in the returned array corresponds to the - * index of the service id in the input array. - * Array and icon ownerships are transferred to caller. - * A NULL array pointer is returned if not a single icon was - * retrieved successfully. - */ - //CArrayPtr* GetVmbxImagesL( - // RArray& aParams ); - - /** - * Notify entry changed - * Leave with symbian OS error code. - * - * @param in aType Type of TVmbxType - */ - void NotifyChangedL( TVmbxType aType); - - /** - * Saves provisioned entry to corresponding storage. - * - * Leave - KErrNotSupported if not capable or allowed to execute this - * for the specified mailbox service. - * - KErrArgument When illegal argument was passed. - * - Other system wide errors. - * - * Some mailbox types may not support saving all arguments. - * In that case unsupported arguments are ignored. - * - * @param in aEntry The provisioned vmbx entry to save. - */ - void SaveProvisionedEntryL( const CVoiceMailboxEntry& aEntry ); - - /** - * Check number provisioned or not - * Leave if systrm wide errors - * - * @param in aParams params of TVoiceMailboxParams - */ - void CheckNumberProvisionedL( const TVoiceMailboxParams& aParams ); - -protected: // data - - /** - * Pointer to CVmbxUiUtilities - * Own. - */ - CVmbxUiUtilities* iUiUtilities; - - /** - * Pointer to CVmbxEngineFactory - * Own. - */ - CVmbxEngineFactory* iVmbxFactory; - - /** - * Observer for user action for saved vmbx number - * Own. - */ - MVoiceMailboxObserver* iNotifyCallBack; - - /** - * Observer for user action for saved vmbx number - * Own. - */ - CVmbxObserver* iVmbxObserver; - - /** - * CVmbxCenRepHandler - * Own. - */ - CVmbxCenRepHandler* iCenRepHandler; - }; - -#endif // C_VOICEMAILBOXIMPL_H