diff -r 2828b4d142c0 -r 4ae315f230bc phonebookui/Phonebook2/ServerApplication/inc/CPbk2CommAddressSelectPhase.h --- 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 & 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 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; };