diff -r 000000000000 -r 8466d47a6819 emailcontacts/contactactionservice/inc/mfscactionutils.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailcontacts/contactactionservice/inc/mfscactionutils.h Thu Dec 17 08:39:21 2009 +0200 @@ -0,0 +1,302 @@ +/* +* Copyright (c) 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: Declaration of interface MFscActionUtils. + * +*/ + + +#ifndef M_FSCACTIONUTILS_H +#define M_FSCACTIONUTILS_H + +#include +#include + +// FORWARD DECLARATIONS +class CPbkContactItem; +class CFscContactAction; +class MFscReasonCallback; +class CGulIcon; +class CVPbkContactManager; +class MVPbkStoreContact; + +// ENUM DECLARATIONS + +/** + * Enumeration for contact's types + */ +enum TContactNumberType + { + ETypeVoiceCallNumber, + ETypeVideoCallNumber, + ETypeConfNumber, + ETypeInternetTel, + ETypePttNumber, + ETypeAudioAddress, + ETypeEmailAddress, + ETypeMsgAddress, + ETypeInvalid + }; + +/** + * Utility method interface for contact actions + * + * @since S60 3.1 + */ +class MFscActionUtils + { + +public: + // Public methods + + /** + * Reference to virtual phonebook's contact manager + * + * @return contact manager + */ + virtual CVPbkContactManager& ContactManager() = 0; + + /** + * Shows information note + * + * @param aNote Resource ID of text to be shown + * @param aContactName contact's name to be displayed in note text + */ + virtual void ShowInfoNoteL( TInt aNote, + const HBufC* aContactName = NULL ) = 0; + + /** + * Shows information note + * + * @param aNote Resource ID of text to be shown + * @param aCounter Count of contacts displayed in note + */ + virtual void ShowInfoNoteL( TInt aNote, + TInt aCounter ) = 0; + + /** + * Shows confirmation note + * + * @param aNote Resource ID of text to be shown + * @param aName name to be displayed in note text + */ + virtual void ShowCnfNoteL( TInt aNote, const HBufC* aName = NULL ) = 0; + + /** + * Show number missing dialog + * + * @param aMissingCount number missing count + * @param aTotalCount total contact count + * @param aNote note to be displaed + * @param aDialog dialog + * @return return Ok or Cancel based on user selection + */ + virtual TInt ShowNumberMissingNoteL( TInt aMissingCount, TInt aTotalCount, + TInt aNote, TInt aDialog ) = 0; + + /** + * Get contacts name from MVPbkStoreContact + * + * @param aStoreContact virtual phonebook store. + * @return HBufC* contact's name or company name + */ + virtual HBufC* GetContactNameL( MVPbkStoreContact& aStoreContact ) = 0; + + /** + * Get phone number for voice call from MVPbkStoreContact + * + * @param aStoreContact virtual phonebook store contact. + * @param aNumber Default or selected phone number from number + * selection dialog. + * @return KErrNone if successfully, KErrNotFound if there is no phone + * number field, KErrCancel if user cancel number selection. + */ + virtual TInt GetVoiceCallNumberL( MVPbkStoreContact& aStoreContact, + TDes& aNumber ) = 0; + + /** + * Get phone number for video call from MVPbkStoreContact + * + * @param aStoreContact virtual phonebook contact store. + * @param aNumber Default or selected phone number from number + * selection dialog. + * @return KErrNone if successfully, KErrNotFound if there is no phone + * number field, KErrCancel if user cancel number selection. + */ + virtual TInt GetVideoCallNumberL( MVPbkStoreContact& aStoreContact, + TDes& aNumber ) = 0; + + /** + * Get Voip address from MVPbkStoreContact + * + * @param aStoreContact virtual phonebook contact store. + * @param aNumber Default or selected voip phone number from number + * selection dialog. + * @return KErrNone if successfully, KErrNotFound if there is no phone + * number field, KErrCancel if user cancel number selection. + */ + virtual TInt GetVoipAddressL( MVPbkStoreContact& aStoreContact, + TDes& aNumber ) = 0; + + /** + * Get Conference Number, Id and PIN from MVPbkStoreContact + * + * @param aStoreContact virtual phonebook contact store. + * @param aConfNum conference number + * @param aConfId conference ID + * @param aConfPin conference PIN + * @return KErrNone if successful, KErrNotFound if there is no conference + * number set. + */ + virtual TInt GetConfInfoL( MVPbkStoreContact& aStoreContact, + TDes& aConfNum, TDes& aConfId, TDes& aConfPin ) = 0; + + /** + * Get PoC (PTT over Cellular) Address from MVPbkStoreContact + * + * @param aStoreContact virtual phonebook contact store. + * @param aPocAddress will be updated with selected address from address + * selection dialog. + * @return KErrNone if successful, KErrNotFound if there is no address + * field, KErrCancel if user cancel address selection. + */ + virtual TInt GetPocAddressL( MVPbkStoreContact& aStoreContact, + TDes& aPocAddress ) = 0; + + /** + * Get Message Address from MVPbkStoreContact + * + * @param aStoreContact virtual phonebook contact store. + * @param aMsgAddress will be updated with selected address from address + * selection dialog. + * @return KErrNone if successful, KErrNotFound if there is no address + * field, KErrCancel if user cancel address selection. + */ + virtual TInt GetMessageAddressL( MVPbkStoreContact& aStoreContact, + TDes& aMmsAddress ) = 0; + + /** + * Get Email Address from MVPbkStoreContact + * + * @param aStoreContact virtual phonebook contact store. + * @param aEmailAddress will be updated with selected address from address + * selection dialog. + * @return KErrNone if successful, KErrNotFound if there is no address + * field, KErrCancel if user cancel address selection. + */ + virtual TInt GetEmailAddressL( MVPbkStoreContact& aStoreContact, + TDes& aMmsAddress ) = 0; + + /** + * Removes Invalid Char from aNumber + * + * @param aNumber number to be updated + * @param aValidChars is valid phone number characters + * @param aOutNumber returned with valid ph number chars + */ + virtual void RemoveInvalidChar( const TDesC& aNumber, + const TDesC& aValidChars, TDes& aOutNumber ) = 0; + + /** + * Finds specified contact number from store contact + * + * @param aStoreContact virtual phonebook store contact + * @param aContactNumberType specifies contact type + * @return ETrue if specified contact number available + * otherwise EFalse + */ + virtual TBool IsContactNumberAvailableL( MVPbkStoreContact& aStoreContact, + TContactNumberType aContactNumberType ) = 0; + + /** + * Finds availability of 3G network + * + * @return ETrue if 3G network available, otherwise EFalse + */ + virtual TBool Is3GNetworkAvailable() = 0; + + /** + * Checks if phone is in offline mode + * + * @return ETrue if phone is in offline mode + */ + virtual TBool IsOfflineModeL() = 0; + + /** + * Finds availability of PTT settings + * + * @return ETrue if PTT is configured, otherwise EFalse + */ + virtual TBool IsPttConfiguredL() = 0; + + /** + * Finds availability of VOIP settings + * + * @return ETrue if voip configured, otherwise EFalse + */ + virtual TBool IsVoipConfiguredL() = 0; + + /** + * Creates icon from skin + * + * @param aItemId TAknsItemID + * @param aFilename icon file's filename + * @param aFileBitmapId containc bitmap id for from .miffile + * @param aFileMaskId contains mask id from .mif file + * @return CGulIcon* if icon is created successfully, + * leaves if there is error in icon creation + */ + virtual CGulIcon* SkinIconL( TAknsItemID aItemId, const TDesC& aFilename, + TInt aFileBitmapId, TInt aFileMaskId ) = 0; + + /** + * Reads action priority from central repositary + * + * @param aActionPriorityCrKey central repository key + * @param aDefaultPriority default priority + * @return Priority + */ + virtual TInt ActionPriority( TUint32 aActionPriorityCrKey, + TInt aDefaultPriority ) = 0; + + /** + * creates and returns pointer to CFscContactAction instance + * Ownership is transferred + * + * @param aReasonCallback reference to MFscReasonCallback interface + * @param aContactActionUid is Uid of action + * @param aActionType specifies action type + * @param aActionMenuTextResourceId action menu text + * @param aIcon specifies icon for the action + * @return CFscContactAction* pointer to contact action + */ + virtual CFscContactAction* CreateActionL( + MFscReasonCallback& aReasonCallback, TUid aContactActionUid, + TUint64 aActionType, TInt aActionMenuTextResourceId, + CGulIcon* aIcon ) = 0; + + /** + * Closes selection dialog. + */ + virtual void CloseSelectDialogL() = 0; + +public: + + /** + * Destructor. + */ + virtual ~MFscActionUtils() {} + + }; + +#endif // M_FSCACTIONUTILS_H