--- /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 <e32base.h>
+#include <AknsItemID.h>
+
+// 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