phonebookui/Phonebook2/CommandsExtension/inc/CPbk2SendContactCmd.h
branchRCL_3
changeset 85 38bb213f60ba
parent 63 f4a778e096c2
equal deleted inserted replaced
74:6b5524b4f673 85:38bb213f60ba
    18 
    18 
    19 #ifndef CPBK2SENDCONTACTCMD_H
    19 #ifndef CPBK2SENDCONTACTCMD_H
    20 #define CPBK2SENDCONTACTCMD_H
    20 #define CPBK2SENDCONTACTCMD_H
    21 
    21 
    22 // INCLUDES
    22 // INCLUDES
    23 
       
    24 #include "MPbk2CommandResourceRelease.h"
       
    25 
       
    26 #include <e32base.h>
    23 #include <e32base.h>
    27 #include <MPbk2Command.h>
    24 #include <MPbk2Command.h>
    28 #include <MVPbkSingleContactOperationObserver.h>
    25 #include <MVPbkSingleContactOperationObserver.h>
    29 #include "MPbk2vCardConverterObserver.h"
    26 #include "MPbk2vCardConverterObserver.h"
    30 #include <MPbk2ProcessDecorator.h>
    27 #include <MPbk2ProcessDecorator.h>
    61 NONSHARABLE_CLASS(CPbk2SendContactCmd) :
    58 NONSHARABLE_CLASS(CPbk2SendContactCmd) :
    62         public CActive,
    59         public CActive,
    63         public MPbk2Command,
    60         public MPbk2Command,
    64         public MPbk2vCardConverterObserver,
    61         public MPbk2vCardConverterObserver,
    65         public MVPbkSingleContactOperationObserver,
    62         public MVPbkSingleContactOperationObserver,
    66         private MPbk2ProcessDecoratorObserver,
    63         private MPbk2ProcessDecoratorObserver
    67         public MPbk2ResourceRelease
       
    68     {
    64     {
    69     public: // Construction and destruction
    65     public: // Construction and destruction
    70         /**
    66         /**
    71          * Creates a new instance of this class.
    67          * Creates a new instance of this class.
    72          *
    68          *
    83     public: // From MPbk2Command
    79     public: // From MPbk2Command
    84         void ExecuteLD();
    80         void ExecuteLD();
    85         void AddObserver(
    81         void AddObserver(
    86                 MPbk2CommandObserver& aObserver );
    82                 MPbk2CommandObserver& aObserver );
    87         void ResetUiControl(MPbk2ContactUiControl& aUiControl);
    83         void ResetUiControl(MPbk2ContactUiControl& aUiControl);
    88         TAny* CommandExtension(TUid /*aExtensionUid*/);
    84 
    89     public: // From MPbk2ResourceRelease
       
    90         /*-
       
    91          * Delete all temp files.
       
    92          * @Remark It not return until finish deleting all files.
       
    93          *         It is non-reentrant.  
       
    94          */
       
    95         void ReleaseResource();
       
    96     private: // From CActive
    85     private: // From CActive
    97         void RunL();
    86         void RunL();
    98         TInt RunError(
    87         TInt RunError(
    99                 TInt aError );
    88                 TInt aError );
   100         void DoCancel();
    89         void DoCancel();
   143         void IssueRequest();
   132         void IssueRequest();
   144         void IssueStopRequest();
   133         void IssueStopRequest();
   145         void SendMsgUsingSendUI(
   134         void SendMsgUsingSendUI(
   146                 CMessageData* aMsgData );
   135                 CMessageData* aMsgData );
   147         TBool IsMoreThanOneContact();
   136         TBool IsMoreThanOneContact();
   148         
   137 
   149     private: // Data structures
   138     private: // Data structures
   150         /// Process states
   139         /// Process states
   151         enum TState
   140         enum TState
   152             {
   141             {
   153             EShowingSendQuery = 0,
   142             EShowingSendQuery = 0,
   154             ERetrievingContact,
   143             ERetrievingContact,
   155             ESelectingSentData,
   144             ESelectingSentData,
   156             EStopping,
   145             EStopping,
   157             ECancelling,
   146             ECancelling
   158             EReleaseResource
       
   159             };
   147             };
   160 
   148 
   161     private: // Data
   149     private: // Data
   162         /// Ref: UI control
   150         /// Ref: UI control
   163         MPbk2ContactUiControl* iUiControl;
   151         MPbk2ContactUiControl* iUiControl;
   195         MPbk2ContactLinkIterator* iCntIterator;
   183         MPbk2ContactLinkIterator* iCntIterator;
   196         /// Own: Application Services pointer
   184         /// Own: Application Services pointer
   197         CPbk2ApplicationServices* iAppServices;
   185         CPbk2ApplicationServices* iAppServices;
   198         /// Own: Send UI
   186         /// Own: Send UI
   199         CSendUi* iSendUi;
   187         CSendUi* iSendUi;
   200         /// Own:
       
   201         CActiveSchedulerWait* iWaiter;
       
   202        
       
   203     };
   188     };
   204 
   189 
   205 #endif // CPBK2SENDCONTACTCMD_H
   190 #endif // CPBK2SENDCONTACTCMD_H
   206 
   191 
   207 // End of File
   192 // End of File