vmbx/vmbxengine/inc/voicemailboximpl.h
branchRCL_3
changeset 20 987c9837762f
parent 19 7d48bed6ce0c
child 21 0a6dd2dc9970
--- 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