phonebookui/Phonebook2/ServerApplication/inc/CPbk2CommAddressSelectPhase.h
branchRCL_3
changeset 12 4ae315f230bc
parent 8 5586b4d2ec3e
child 18 d4f567ce2e7c
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2CommAddressSelectPhase.h	Tue May 11 16:00:21 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2CommAddressSelectPhase.h	Tue May 25 12:26:45 2010 +0300
@@ -64,11 +64,33 @@
         
         enum TState
             {
-            EMainContactRetrieving,
-            ExSPLinksRetrieving,
-            ExSPContactsRetrieving,
-            EWaitForPresenceIcons,
-            EDialogWaitsUserInput
+            // EInitialState -> EMainContactRetrieved
+            EInitialState,
+            // EMainContactRetrieved -> ExSPLinksRetrieved
+            // EMainContactRetrieved -> EAddressSelectDone
+            EMainContactRetrieved,
+            // ExSPLinksRetrieved -> ExSPContactRetrieved 
+            // ExSPLinksRetrieved -> EPresenceIconInfoRetrieved
+            // ExSPLinksRetrieved -> EAddressSelectDone
+            ExSPLinksRetrieved, 
+            // ExSPContactRetrieved -> ExSPContactRetrieved
+            // ExSPContactRetrieved -> ExSPContactsRetrieved
+            // ExSPContactRetrieved -> EAddressSelectDone
+            ExSPContactRetrieved,
+            // ExSPContactsRetrieved -> EPresenceIconInfoRetrieved
+            // ExSPContactsRetrieved -> EAddressSelectDone
+            ExSPContactsRetrieved,
+            // EPresenceIconInfoRetrieved -> EPresenceIconRetrieved
+            // EPresenceIconInfoRetrieved -> EAddressSelectDone
+            EPresenceIconInfoRetrieved,
+            // EPresenceIconRetrieved -> EPresenceIconsRetrieved
+            // EPresenceIconRetrieved -> EAddressSelectDone
+            EPresenceIconRetrieved,
+            // EPresenceIconsRetrieved -> EAddressSelectDone
+            EPresenceIconsRetrieved,
+            // EAddressSelectDone -> EAddressSelectError
+            EAddressSelectDone,
+            EAddressSelectError
             };
      
     public: // Construction
@@ -178,7 +200,13 @@
                     aCommSelector );
         void ConstructL(
                 const MVPbkContactLink& aContactLink );
+        void HandleReceiveIconInfosL(
+                const TDesC8& aPackedLink,
+                RPointerArray <MContactPresenceInfo>& aInfoArray,
+                TInt aOpId );
+        void RetrieveContact();
         void RetrieveContactL();
+        void DoSelectAddresses();
         void DoSelectAddressesL();
         TInt CorrectRSK(
                 TInt aAddressSelectResourceId );
@@ -189,6 +217,15 @@
         void FilterXspContactsL();
         TBool IsMatchL( MVPbkStoreContact& aXspContact, 
                 MVPbkStoreContact& aStoreContact );
+        void StartLoadingxSPContactLinks();
+        void StartLoadingxSPContactLinksL();
+        void StartLoadingxSPContacts( MVPbkContactLinkArray& aArray );
+        void StartLoadingxSPContactsL( MVPbkContactLinkArray& aArray );
+        void StartLoadingPresenceIconInfo();
+        void StartLoadingPresenceIconInfoL();
+        TInt NumOfAddressesL( MVPbkStoreContact& aStoreContact );
+        TInt NumOfAddressesL();
+        void GetPresenceInfoL();
     
     private: // Data
         /// Ref: Observer
@@ -233,10 +270,6 @@
         MContactPresence* iContactPresence;
         /// Own: array of presence icons
         RPointerArray<CPbk2PresenceIconInfo> iPresenceIconArray;
-        /// Own: ETrue, if presence icon has been retrieved
-        TBool iPresenceIconsRetrieved;
-        /// Own: ETrue, if contact has been retrieved
-        TBool iContactRetrieved;
         /// Own: Communication method
         VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector iCommMethod;
     };