--- 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 <e32base.h>
-#include <cvoicemailbox.h>
-#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<CGulIcon>* GetVmbxImages(
- // RArray<TVoiceMailboxParams>& 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<CVoiceMailboxEntry>& 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<CVoiceMailboxEntry>& 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<CVoiceMailboxEntry>& 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<CVoiceMailboxEntry>& 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<CGulIcon>* GetVmbxImagesL(
- // RArray<TVoiceMailboxParams>& 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