phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/tsrc/ut_commlaunchercontacthandler/inc/ccappcommlauncherheaders.h
branchRCL_3
changeset 63 f4a778e096c2
child 64 c1e8ba0c2b16
child 85 38bb213f60ba
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/tsrc/ut_commlaunchercontacthandler/inc/ccappcommlauncherheaders.h	Wed Sep 01 12:29:52 2010 +0100
@@ -0,0 +1,336 @@
+/*
+* Copyright (c) 2007-2007 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:  Headers of plugin view implementation to help unit testing
+*
+*/
+
+
+#ifndef __CCAPPCOMMLAUNCHERHEADERS_H__
+#define __CCAPPCOMMLAUNCHERHEADERS_H__
+
+// logfile definition
+#define KCommLauncherLogFile CCA_L("commlauncherplugin.txt")
+
+#include <e32base.h>
+#include <centralrepository.h>
+#include <vpbkfieldtypeselectorfactory.h>
+
+#include "ccalogger.h"
+#include "t_ccappcmscontactfetcher.h"
+#include "t_testsingleton.h"
+#include "phonebookPrivateCRKeys.h"
+#include <e32hashtab.h>
+class CCmsContactFieldInfo;
+class MCCAppContactFieldDataObserver;
+
+// used in CCmsContactFieldItem creation
+const TInt PHONE = 1;
+const TInt EMAIL = 2;
+const TInt VOIP = 3;
+const TInt MMS = 4;
+const TInt PHONE2 = 5;
+const TInt EMAIL2 = 6;
+const TInt VOIP2 = 7;
+const TInt NAME = 8;
+// test defines
+const TInt KTestNormal = 0;
+const TInt KTestContactInfoNull = 1;
+_LIT8( KTestString, "TestString" );
+
+// -----------------------------------------------------------------------------
+// MCCAppContactFieldDataObserver
+// dummy class
+// -----------------------------------------------------------------------------
+class MCCAppContactFieldDataObserver
+    {
+public:
+
+    class TParameter
+        {
+    public:
+
+        enum TNotifyType
+            {
+            EUninitialised,
+            EContactInfoAvailable,
+            EContactDataFieldAvailable,
+            EContactsChanged,
+            EContactDeleted,
+            EContactPresenceChanged
+            };
+
+        inline TParameter():
+            iType( EUninitialised ),
+            iContactInfo( NULL ),
+            iContactField( NULL ),
+            iStatusFlag( 0 ){};
+    
+        TNotifyType iType;
+        TInt iStatusFlag;
+        CCmsContactFieldInfo* iContactInfo;
+        CCmsContactField* iContactField;
+        };
+   
+    virtual void ContactFieldDataObserverNotifyL( 
+        MCCAppContactFieldDataObserver::TParameter& aParameter ) = 0;
+
+    virtual void ContactFieldDataObserverHandleErrorL( 
+        TInt aState, TInt aError ) = 0;
+
+    };    
+
+// -----------------------------------------------------------------------------
+// CCmsContactFieldItem
+// dummy class
+// -----------------------------------------------------------------------------
+class CCmsContactFieldItem : public CBase
+    {
+    public:  
+        
+        enum TCmsContactField
+            {
+            ECmsLastName = 10000,       //10000
+            ECmsFirstName,              //10001
+            ECmsUndefined,              //10002
+            ECmsPresenceData,           //10003
+            ECmsBrandedAvailability,    //10004
+            ECmsThumbnailPic,           //10005
+            ECmsSipAddress,             //10006
+            ECmsLandPhoneHome,          //10007
+            ECmsMobilePhoneHome,        //10008
+            ECmsFaxNumberHome,          //10009
+            ECmsVideoNumberHome,        //10010
+            ECmsVoipNumberHome,         //10011
+            ECmsEmailHome,              //10012
+            ECmsUrlHome,                //10013
+            ECmsLandPhoneWork,          //10014
+            ECmsMobilePhoneWork,        //10015
+            ECmsVideoNumberWork,        //10016
+            ECmsFaxNumberWork,          //10017
+            ECmsVoipNumberWork,         //10018
+            ECmsEmailWork,              //10019
+            ECmsUrlWork,                //10020
+            ECmsEmailGeneric,           //10021
+            ECmsUrlGeneric,             //10022
+            ECmsLandPhoneGeneric,       //10023
+            ECmsMobilePhoneGeneric,     //10024
+            ECmsVideoNumberGeneric,     //10025
+            ECmsAddrLabelGeneric,       //10026
+            ECmsAddrPOGeneric,          //10027
+            ECmsAddrExtGeneric,         //10028
+            ECmsAddrStreetGeneric,      //10029
+            ECmsAddrLocalGeneric,       //10030
+            ECmsAddrRegionGeneric,      //10031
+            ECmsAddrPostcodeGeneric,    //10032
+            ECmsAddrCountryGeneric,     //10033
+            ECmsVoipNumberGeneric,      //10034
+            ECmsAddrLabelHome,          //10035
+            ECmsAddrPOHome,             //10036
+            ECmsAddrExtHome,            //10037
+            ECmsAddrStreetHome,         //10038
+            ECmsAddrLocalHome,          //10039
+            ECmsAddrRegionHome,         //10040
+            ECmsAddrPostcodeHome,       //10041
+            ECmsAddrCountryHome,        //10042
+            ECmsAddrLabelWork,          //10043
+            ECmsAddrPOWork,             //10044
+            ECmsAddrExtWork,            //10045
+            ECmsAddrStreetWork,         //10046
+            ECmsAddrLocalWork,          //10047
+            ECmsAddrRegionWork,         //10048
+            ECmsAddrPostcodeWork,       //10049
+            ECmsAddrCountryWork,        //10050
+            ECmsImpp,                   //10051
+            ECmsFullName,               //10052
+            ECmsNote,                   //10053
+            ECmsNickname,               //10054
+            ECmsJobTitle,               //10055
+            ECmsDepartment,             //10056
+            ECmsBirthday,               //10057
+            ECmsAnniversary,            //10058
+            ECmsCompanyName,            //10059
+            ECmsMiddleName,             //10060
+            ECmsAssistantNumber,        //10061
+            ECmsCarPhone,               //10062
+            ECmsPagerNumber,            //10063
+            ECmsPushToTalk,             //10064
+            ECmsShareView               //10065
+            };
+
+        enum TCmsContactNotification
+            {
+            ECmsUnknownNotification = 0x0,                
+            ECmsPhonebookNotification = 0x1,                
+            ECmsPresenceVoIPNotification = 0x2,
+            ECmsPresenceChatNotification = 0x4,
+            ECmsPresenceAllNotification = 0x6,
+            ECmsAllNotifications = 0x7                        
+            };
+            
+        enum TCmsContactFieldGroup
+            {
+            ECmsGroupNone = 0,
+            ECmsGroupVoIP,
+            ECmsGroupVoice,
+            ECmsGroupMessaging,
+            ECmsGroupEmail
+            };
+
+        enum TCmsDefaultAttributeTypes
+            {
+            /// Defaults
+            ECmsDefaultTypeUndefined = 0,
+            ECmsDefaultTypePhoneNumber = 1, 
+            ECmsDefaultTypeVideoNumber = 2, 
+            ECmsDefaultTypeSms = 4,
+            ECmsDefaultTypeMms = 8, 
+            ECmsDefaultTypeEmail = 16, 
+            ECmsDefaultTypeEmailOverSms = 32,
+            ECmsDefaultTypeVoIP = 64,
+            ECmsDefaultTypePOC = 128,
+            ECmsDefaultTypeImpp = 256,
+            ECmsDefaultTypeUrl = 512
+            };
+        
+        const TPtrC Data() const {return KNullDesC.operator ()().Left(0);}
+    };
+
+// -----------------------------------------------------------------------------
+// CCmsContactField
+// dummy class
+// -----------------------------------------------------------------------------
+class CCmsContactField : public CBase
+    {
+public:
+
+    CCmsContactField( TInt aType ):iType(aType){}
+    const CCmsContactFieldItem& ItemL( TInt /*aIndex*/) const;
+    CCmsContactFieldItem::TCmsContactField Type() const;
+    TInt ItemCount() const{ return 1; }
+    TInt HasDefaultAttribute() const;
+    
+public: // data
+    TInt iDummyDefaultAttributeBitMask;
+    TInt iDummy;
+    TInt iType;
+    CCmsContactFieldItem* iCmsContactFieldItem;
+    };
+
+// -----------------------------------------------------------------------------
+// CCmsContactFieldInfo
+// dummy class
+// -----------------------------------------------------------------------------
+class CCmsContactFieldInfo : public CBase
+    {
+public:
+    virtual ~CCmsContactFieldInfo();
+    static CCmsContactFieldInfo* NewL();
+    
+    void AddMoreFields(); 
+    const RArray<CCmsContactFieldItem::TCmsContactField>& Fields() const 
+            { 
+            return *iArray;
+            }
+private:
+    CCmsContactFieldInfo(){}
+    void ConstructL();
+    
+public: // data
+    TInt iDummy;
+    RArray<CCmsContactFieldItem::TCmsContactField>* iArray;
+    };
+
+#include "../../../inc/ccappcommlauncherprivatecrkeys.h"
+#include "../../../inc/ccappcommlaunchercontacthandler.h"
+   
+
+// -----------------------------------------------------------------------------
+// CCCAppCommLauncherView
+// dummy class
+// -----------------------------------------------------------------------------
+class CCCAppCommLauncherView : public CBase,
+                               public MCCAppContactHandlerNotifier
+    {
+public:
+
+    CCCAppCommLauncherView( /*CCCAppCommLauncherPlugin& aPlugin*/ )
+        {
+        iContactChangedNotifyCalled = EFalse;
+        iContactEnabledFieldsChangedNotifyCalled = EFalse;
+        };
+
+    static CCCAppCommLauncherView* NewL( /*CCCAppCommLauncherPlugin& aPlugin*/ )
+        {
+        CCCAppCommLauncherView* self = new (ELeave) CCCAppCommLauncherView( /*aPlugin*/ );
+        return self;
+        };
+
+    // MCCAppContactHandlerNotifier
+    void ContactInfoFetchedNotifyL( 
+        const CCmsContactFieldInfo& /*aContactFieldInfo*/ )
+        {
+        iContactEnabledFieldsChangedNotifyCalled = ETrue;
+        };
+
+    // MCCAppContactHandlerNotifier
+    void ContactFieldFetchedNotifyL( 
+        const CCmsContactField& /*aContactField*/ )
+        {
+        iContactChangedNotifyCalled = ETrue;
+        };
+
+    // MCCAppContactHandlerNotifier
+    void ContactFieldFetchingCompletedL(){};
+    // MCCAppContactHandlerNotifier
+    void ContactsChangedL(){};
+    // MCCAppContactHandlerNotifier
+    void ContactPresenceChangedL( const CCmsContactField& /*aContactField*/){}
+        
+    TBool ContactChangedNotifyCalled()
+        {
+        return iContactChangedNotifyCalled;
+        };
+    TBool ContactEnabledFieldsChangedNotifyCalled()
+        {
+        return iContactEnabledFieldsChangedNotifyCalled;
+        }
+    void ResetVariables()
+        {
+        iContactChangedNotifyCalled = EFalse;
+        iContactEnabledFieldsChangedNotifyCalled = EFalse;
+        };
+    
+public: // data
+    TBool iContactChangedNotifyCalled;
+    TBool iContactEnabledFieldsChangedNotifyCalled;
+    };
+
+// -----------------------------------------------------------------------------
+// CCCAppCommLauncherPlugin
+// dummy class
+// -----------------------------------------------------------------------------
+class CCCAppCommLauncherPlugin : public CBase
+    {
+public:
+    
+    CCCAppCommLauncherPlugin(){}
+    ~CCCAppCommLauncherPlugin(){}
+    static CCCAppCommLauncherPlugin* NewL();
+public:
+    void SetTitleL( const TDesC& /*aTitle*/ ){}
+
+    };
+
+
+#endif // __CCAPPCOMMLAUNCHERHEADERS_H__