phonebookui/Phonebook2/ccapplication/ccamycardplugin/inc/ccappmycard.h
branchRCL_3
changeset 6 e8e3147d53eb
parent 3 04ab22b956c2
child 9 0d28c1c5b6dd
equal deleted inserted replaced
5:81f8547efd4f 6:e8e3147d53eb
    37 class RFs;
    37 class RFs;
    38 class CCreateMyCard;
    38 class CCreateMyCard;
    39 class CPbk2ApplicationServices;
    39 class CPbk2ApplicationServices;
    40 class CCCAppMyCardPlugin;	
    40 class CCCAppMyCardPlugin;	
    41 class MPbk2DialogEliminator;
    41 class MPbk2DialogEliminator;
       
    42 class CTimerCallBack;
    42 
    43 
    43 /**
    44 /**
    44  * MyCard Observer class
    45  * MyCard Observer class
    45  */
    46  */
    46 class MMyCardObserver
    47 class MMyCardObserver
    49     /**
    50     /**
    50      * MyCard observer event types
    51      * MyCard observer event types
    51      */
    52      */
    52     enum TEvent
    53     enum TEvent
    53         {
    54         {
       
    55         /// Undefined event
    54         EEventNull = 0,
    56         EEventNull = 0,
    55         EEventContactLoaded
    57         /// Contact loaded for the first time
       
    58         EEventContactLoaded,
       
    59         /// Contact has been changed
       
    60         EEventContactChanged
    56         };
    61         };
    57     
    62     
    58     /**
    63     /**
    59      * Notification method to report MyCard events to observers
    64      * Notification method to report MyCard events to observers
    60 	 * @param aEvent event type
    65 	 * @param aEvent event type
   150      * 
   155      * 
   151      * @param aObserver Observer to be removed from MyCard
   156      * @param aObserver Observer to be removed from MyCard
   152      */
   157      */
   153     void RemoveObserver( MMyCardObserver* aObserver );
   158     void RemoveObserver( MMyCardObserver* aObserver );
   154 
   159 
       
   160     /**
       
   161      * Set contact link. If link is provided it will be used instead of resolving
       
   162      * the own contact link from contact store. This should be called before call to
       
   163      * FetchMyCardL().
       
   164      * 
       
   165      * @param aLink contact link 
       
   166      */
       
   167     void SetLinkL( const MVPbkContactLink& aLink );
       
   168     
       
   169     /**
       
   170      * Start fetching the data of own contact and observe it's changing.
       
   171      */
       
   172     void FetchMyCardL();
       
   173     
       
   174     /**
       
   175      * Force MyCard to open editor and create new own contact once the 
       
   176      * contact store is opened. This should be called before calling FetchMyCardL.
       
   177      */
       
   178     void ForceCreateMyCard();
       
   179     
   155 private: // from MVPbkContactStoreObserver
   180 private: // from MVPbkContactStoreObserver
   156      void StoreReady(MVPbkContactStore& aContactStore);
   181      void StoreReady(MVPbkContactStore& aContactStore);
   157      void StoreUnavailable(MVPbkContactStore& aContactStore, 
   182      void StoreUnavailable(MVPbkContactStore& aContactStore, 
   158              TInt aReason);
   183              TInt aReason);
   159      void HandleStoreEventL(
   184      void HandleStoreEventL(
   228     /**
   253     /**
   229      * Async callback function for closing editor dialog.
   254      * Async callback function for closing editor dialog.
   230      */
   255      */
   231     static TInt ExitDlgL( TAny* aPtr );
   256     static TInt ExitDlgL( TAny* aPtr );
   232     
   257     
       
   258     /**
       
   259      * Async callback function for opening stores.
       
   260      */
       
   261     static TInt OpenStoresL( TAny* aPtr );
       
   262 
   233     /*
   263     /*
   234      * Closes the CCA
   264      * Closes the CCA
   235      */
   265      */
   236     void DoCloseCCaL();
   266     void DoCloseCCaL();
   237     
   267     
   268 	CCCAppMyCardPlugin& iPlugin;
   298 	CCCAppMyCardPlugin& iPlugin;
   269 	/// Focused contact field index for the editor
   299 	/// Focused contact field index for the editor
   270 	TInt iFocusedFieldIndex;	
   300 	TInt iFocusedFieldIndex;	
   271 	/// Now own. Editor dialog eliminator
   301 	/// Now own. Editor dialog eliminator
   272 	MPbk2DialogEliminator* iEditorEliminator;
   302 	MPbk2DialogEliminator* iEditorEliminator;
       
   303 	/// Current event
       
   304 	MMyCardObserver::TEvent iEvent;
       
   305 	/// Own. Store opener callback
       
   306 	CTimerCallBack* iStoreCallBack;
       
   307 	/// Force editor flag
       
   308 	TBool iForceCreateMyCard;
       
   309 	// Flag for editor state
       
   310 	TBool iDialogIsRunning;
   273 	};
   311 	};
   274 
   312 
   275 #endif // CCAPPMYCARD_H
   313 #endif // CCAPPMYCARD_H
   276 
   314 
   277 // End of File
   315 // End of File