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