phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycardplugin.cpp
branchRCL_3
changeset 6 e8e3147d53eb
parent 5 81f8547efd4f
child 7 b3431bff8c19
equal deleted inserted replaced
5:81f8547efd4f 6:e8e3147d53eb
    20 #include "ccappmycardcontainer.h"
    20 #include "ccappmycardcontainer.h"
    21 #include "ccappmycardcommon.h"
    21 #include "ccappmycardcommon.h"
    22 #include "ccappmycardpluginuids.hrh"
    22 #include "ccappmycardpluginuids.hrh"
    23 #include "ccappmycard.h"
    23 #include "ccappmycard.h"
    24 #include "ccappmycard.hrh"
    24 #include "ccappmycard.hrh"
       
    25 #include <spbcontactdatamodel.h>
    25 #include <ccappmycardpluginrsc.rsg>
    26 #include <ccappmycardpluginrsc.rsg>
    26 #include <Pbk2UIControls.rsg>
    27 #include <Pbk2UIControls.rsg>
    27 #include <data_caging_path_literals.hrh>
    28 #include <data_caging_path_literals.hrh>
    28 #include <phonebook2.mbg>
    29 #include <phonebook2.mbg>
    29 #include <mccappengine.h>
    30 #include <mccappengine.h>
    32 #include <AiwServiceHandler.h>
    33 #include <AiwServiceHandler.h>
    33 #include <MVPbkContactLink.h>
    34 #include <MVPbkContactLink.h>
    34 #include <AiwContactAssignDataTypes.h>
    35 #include <AiwContactAssignDataTypes.h>
    35 #include <avkon.hrh>
    36 #include <avkon.hrh>
    36 #include <aknappui.h>
    37 #include <aknappui.h>
       
    38 #include <s32mem.h>
    37 #include <CPbk2CommandHandler.h>
    39 #include <CPbk2CommandHandler.h>
    38 #include <Pbk2Commands.hrh>		//pbk2cmdsend
    40 #include <Pbk2Commands.hrh>		//pbk2cmdsend
    39 #include <Pbk2DataCaging.hrh>	
    41 #include <Pbk2DataCaging.hrh>	
    40 #include <TPbk2ContactEditorParams.h>
    42 #include <TPbk2ContactEditorParams.h>
    41 #include <CPbk2GeneralConfirmationQuery.h>
    43 #include <CPbk2GeneralConfirmationQuery.h>
    42 #include <CPbk2PresentationContact.h>
    44 #include <CPbk2PresentationContact.h>
    43 #include <CPbk2PresentationContactFieldCollection.h>
    45 #include <CPbk2PresentationContactFieldCollection.h>
    44 #include <StringLoader.h>
    46 #include <StringLoader.h>
    45 #include <AknQueryDialog.h>
    47 #include <AknQueryDialog.h>
       
    48 #include <mccapppluginparameter.h>
       
    49 #include <mccaparameter.h>
       
    50 #include <CVPbkContactManager.h>
    46 
    51 
    47 // ---------------------------------------------------------------------------
    52 // ---------------------------------------------------------------------------
    48 // Constants
    53 // Constants
    49 // ---------------------------------------------------------------------------
    54 // ---------------------------------------------------------------------------
    50 
    55 
    92     
    97     
    93     iCommonUiResourceFile.Close();
    98     iCommonUiResourceFile.Close();
    94     
    99     
    95     iCommandsResourceFile.Close();
   100     iCommandsResourceFile.Close();
    96     
   101     
       
   102     delete iModel;
       
   103 
    97     delete iMyCard;
   104     delete iMyCard;
    98     
   105     
    99     delete iCommandHandler;
   106     delete iCommandHandler;
   100     
   107     
   101     CCA_DP(KMyCardLogFile, CCA_L("<-CCCAppMyCardPlugin::~CCCAppMyCardPlugin()"));
   108     CCA_DP(KMyCardLogFile, CCA_L("<-CCCAppMyCardPlugin::~CCCAppMyCardPlugin()"));
   136     {
   143     {
   137     return *iMyCard;
   144     return *iMyCard;
   138     }
   145     }
   139 
   146 
   140 // ---------------------------------------------------------------------------
   147 // ---------------------------------------------------------------------------
       
   148 // CCCAppMyCardPlugin::Model
       
   149 // ---------------------------------------------------------------------------
       
   150 //
       
   151 CSpbContactDataModel& CCCAppMyCardPlugin::Model()
       
   152     {
       
   153     return *iModel;
       
   154     }
       
   155 
       
   156 // ---------------------------------------------------------------------------
   141 // CCCAppMyCardPlugin::PreparePluginViewL
   157 // CCCAppMyCardPlugin::PreparePluginViewL
   142 // ---------------------------------------------------------------------------
   158 // ---------------------------------------------------------------------------
   143 //
   159 //
   144 void CCCAppMyCardPlugin::PreparePluginViewL(
   160 void CCCAppMyCardPlugin::PreparePluginViewL(
   145     MCCAppPluginParameter& /*aPluginParameter*/ )
   161     MCCAppPluginParameter& aPluginParameter )
   146     {
   162     {
   147     CCA_DP(KMyCardLogFile, CCA_L("->CCCAppMyCardPlugin::PreparePluginViewL()"));
   163     CCA_DP(KMyCardLogFile, CCA_L("->CCCAppMyCardPlugin::PreparePluginViewL()"));
   148 
   164 
       
   165     iModel = CSpbContactDataModel::NewL( 
       
   166         iMyCard->ContactManager(), *iCoeEnv, R_MYCARD_CLIP_FIELD_SELECTOR );
       
   167     
   149     BaseConstructL( R_CCAMYCARD_VIEW );
   168     BaseConstructL( R_CCAMYCARD_VIEW );
       
   169     MCCAParameter& param = aPluginParameter.CCAppLaunchParameter();
       
   170     if( param.ContactDataFlag() == MCCAParameter::EContactLink )
       
   171         {
       
   172         HBufC& data = param.ContactDataL();
       
   173         HBufC8* data8 = HBufC8::NewLC( data.Size() );
       
   174         data8->Des().Copy( data );
       
   175         CVPbkContactLinkArray* array = CVPbkContactLinkArray::NewLC( 
       
   176             *data8, iMyCard->ContactManager().ContactStoresL() );
       
   177         if( array->Count() )
       
   178             {
       
   179             iMyCard->SetLinkL( array->At( 0 ) );
       
   180             }
       
   181         CleanupStack::PopAndDestroy( 2 ); // data, array
       
   182         }
       
   183     else if( param.ContactDataFlag() == MCCAParameter::EContactDataModel )
       
   184         {
       
   185         HBufC& cntData = param.ContactDataL();
       
   186         TPtrC8 data( (TUint8*)cntData.Ptr(), cntData.Size() );
       
   187         RDesReadStream stream( data );
       
   188         CleanupClosePushL( stream );
       
   189         iModel->InternalizeL( stream );
       
   190         CleanupStack::PopAndDestroy(); // strean
       
   191 
       
   192         MVPbkContactLink* link = iModel->ContactLink();
       
   193         if( link )
       
   194             {
       
   195             iMyCard->SetLinkL( *link );
       
   196             }
       
   197         else
       
   198             {
       
   199             // model without a link means that mycard does not exist.
       
   200             iMyCard->ForceCreateMyCard();
       
   201             }
       
   202         }
   150     
   203     
   151     CCA_DP(KMyCardLogFile, CCA_L("<-CCCAppMyCardPlugin::PreparePluginViewL()"));
   204     CCA_DP(KMyCardLogFile, CCA_L("<-CCCAppMyCardPlugin::PreparePluginViewL()"));
   152     }
   205     }
   153 
   206 
   154 // ---------------------------------------------------------------------------
   207 // ---------------------------------------------------------------------------
   168     
   221     
   169     // Set view title
   222     // Set view title
   170     HBufC* title = iCoeEnv->AllocReadResourceLC( R_QTN_CCA_TITLE_MY_CARD );
   223     HBufC* title = iCoeEnv->AllocReadResourceLC( R_QTN_CCA_TITLE_MY_CARD );
   171     SetTitleL( *title );
   224     SetTitleL( *title );
   172     CleanupStack::PopAndDestroy( title );
   225     CleanupStack::PopAndDestroy( title );
       
   226     
       
   227     iMyCard->FetchMyCardL();
   173     
   228     
   174     CCA_DP(KMyCardLogFile, CCA_L("<-CCCAppMyCardPlugin::DoActivateL()"));
   229     CCA_DP(KMyCardLogFile, CCA_L("<-CCCAppMyCardPlugin::DoActivateL()"));
   175     }
   230     }
   176 
   231 
   177 // ---------------------------------------------------------------------------
   232 // ---------------------------------------------------------------------------
   297 void CCCAppMyCardPlugin::EditL( TInt aFocusedFieldIndex )
   352 void CCCAppMyCardPlugin::EditL( TInt aFocusedFieldIndex )
   298 	{
   353 	{
   299 	iMyCard->EditContactL(  aFocusedFieldIndex );
   354 	iMyCard->EditContactL(  aFocusedFieldIndex );
   300 	}
   355 	}
   301 
   356 
       
   357 // ---------------------------------------------------------------------------
       
   358 // CCCAppMyCardPlugin::HandleError
       
   359 // ---------------------------------------------------------------------------
       
   360 //
       
   361 void CCCAppMyCardPlugin::HandleError( TInt aError )
       
   362     {
       
   363     CCoeEnv::Static()->HandleError( aError );
       
   364     }
   302 
   365 
   303 // ---------------------------------------------------------------------------
   366 // ---------------------------------------------------------------------------
   304 // CCCAppMyCardPlugin::NewContainerL
   367 // CCCAppMyCardPlugin::NewContainerL
   305 // ---------------------------------------------------------------------------
   368 // ---------------------------------------------------------------------------
   306 //
   369 //
   393 // ProcessCommandL
   456 // ProcessCommandL
   394 // ---------------------------------------------------------------------------
   457 // ---------------------------------------------------------------------------
   395 //
   458 //
   396 void CCCAppMyCardPlugin::ProcessCommandL(TInt aCommandId)
   459 void CCCAppMyCardPlugin::ProcessCommandL(TInt aCommandId)
   397      {
   460      {
       
   461      TInt err = KErrNone;
       
   462      
   398      switch(aCommandId)
   463      switch(aCommandId)
   399          {
   464          {
   400          case ECCAppMyCardCmdStylusViewImageCmd:
   465          case ECCAppMyCardCmdStylusViewImageCmd:             
   401              ViewImageCmdL();
   466              TRAP( err, ViewImageCmdL() );             
   402              break;
   467              break;             
   403              
   468              
   404          case ECCAppMyCardCmdStylusChangeImageCmd:
   469          case ECCAppMyCardCmdStylusChangeImageCmd:
   405              ChangeImageCmdL();
   470              TRAP( err, ChangeImageCmdL() );             
   406              break;
   471              break;
   407              
   472              
   408          case ECCAppMyCardCmdStylusRemoveImageCmd:
   473          case ECCAppMyCardCmdStylusRemoveImageCmd:
   409              RemoveImageCmdL();
   474              TRAP( err, RemoveImageCmdL() );             
   410              break;
   475              break;
   411              
   476              
   412          case ECCAppMyCardCmdStylusAddImageCmd:
   477          case ECCAppMyCardCmdStylusAddImageCmd:
   413              AddImageCmdL();
   478              TRAP( err, AddImageCmdL() );             
   414              break;
   479              break;
   415              
   480              
   416          case ECCAppMyCardCmdStylusCopyDetailCmd:             
   481          case ECCAppMyCardCmdStylusCopyDetailCmd:             
   417               CopyDetailL();
   482               TRAP( err, CopyDetailL() );              
   418               break;                        
   483               break;                        
   419              
   484              
   420          default:
   485          default:
   421         	 CAknView::ProcessCommandL(aCommandId);
   486         	 CAknView::ProcessCommandL(aCommandId);
   422              break;
   487              break;
   423          }
   488          }
       
   489      
       
   490       if( err != KErrNone )
       
   491          {
       
   492          HandleError( err );
       
   493          }
   424      }
   494      }
   425 
   495 
   426 // --------------------------------------------------------------------------- 
   496 // --------------------------------------------------------------------------- 
   427 // CCCAppMyCardPlugin::RemoveImageCmdL
   497 // CCCAppMyCardPlugin::RemoveImageCmdL
   428 // --------------------------------------------------------------------------- 
   498 // --------------------------------------------------------------------------- 
   465 //
   535 //
   466 void CCCAppMyCardPlugin::CopyDetailL()
   536 void CCCAppMyCardPlugin::CopyDetailL()
   467     {
   537     {
   468     CommandHandlerL()->HandleCommandL( EPbk2CmdCopyDetail, *iOwnContainer, NULL );
   538     CommandHandlerL()->HandleCommandL( EPbk2CmdCopyDetail, *iOwnContainer, NULL );
   469     }
   539     }
       
   540 
   470 // End of File
   541 // End of File