connectivitymodules/SeCon/common/conmltask/src/sconconmltask.cpp
changeset 0 d0791faffa3f
child 18 453dfc402455
equal deleted inserted replaced
-1:000000000000 0:d0791faffa3f
       
     1 /*
       
     2 * Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  ConML Task implementations
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 // INCLUDE FILES
       
    20 
       
    21 #include "sconconmltask.h"
       
    22 
       
    23 // -----------------------------------------------------------------------------
       
    24 // CSConReboot::CSConReboot()
       
    25 // 
       
    26 // -----------------------------------------------------------------------------
       
    27 //
       
    28 CSConReboot::CSConReboot() : iComplete( EFalse ), iProgress( 0 )
       
    29     {
       
    30     }
       
    31         
       
    32 // -----------------------------------------------------------------------------
       
    33 // CSConReboot::~CSConReboot()
       
    34 // 
       
    35 // -----------------------------------------------------------------------------
       
    36 //  
       
    37 CSConReboot::~CSConReboot()
       
    38     {
       
    39     }
       
    40 
       
    41 // -----------------------------------------------------------------------------
       
    42 // CSConReboot::Copy()
       
    43 // 
       
    44 // -----------------------------------------------------------------------------
       
    45 //          
       
    46 CSConReboot* CSConReboot::CopyL()
       
    47     {
       
    48     CSConReboot* copy = new (ELeave) CSConReboot();
       
    49     copy->iComplete = iComplete;
       
    50     copy->iProgress = iProgress;
       
    51     return copy;
       
    52     }
       
    53     
       
    54 // -----------------------------------------------------------------------------
       
    55 // CSConDataOwner::CSConDataOwner()
       
    56 // 
       
    57 // -----------------------------------------------------------------------------
       
    58 //  
       
    59 CSConDataOwner::CSConDataOwner()
       
    60     {
       
    61     iHasFiles = ENoFiles;
       
    62     iJavaHash = NULL;
       
    63     iUid.iUid = 0;
       
    64     
       
    65     //Initialize iDriveList with zeros
       
    66     iDriveList.Fill( '\x0' );
       
    67     }
       
    68     
       
    69 // -----------------------------------------------------------------------------
       
    70 // CSConDataOwner::~CSConDataOwner()
       
    71 // 
       
    72 // -----------------------------------------------------------------------------
       
    73 //  
       
    74 CSConDataOwner::~CSConDataOwner()
       
    75     {
       
    76     delete iJavaHash;
       
    77     iJavaHash = NULL;
       
    78     }
       
    79     
       
    80 // -----------------------------------------------------------------------------
       
    81 // CSConDataOwner::Copy()
       
    82 // 
       
    83 // -----------------------------------------------------------------------------
       
    84 //          
       
    85 CSConDataOwner* CSConDataOwner::CopyL()
       
    86     {
       
    87     CSConDataOwner* copy = new (ELeave) CSConDataOwner();
       
    88     copy->iType = iType;
       
    89     copy->iUid = iUid;
       
    90     copy->iDriveList.Copy( iDriveList );
       
    91     copy->iPackageName = iPackageName;
       
    92     copy->iReqReboot = iReqReboot;
       
    93     copy->iHasFiles = iHasFiles;
       
    94     copy->iSupportsInc = iSupportsInc;
       
    95     copy->iSupportsSel = iSupportsSel;
       
    96     copy->iDelayToPrep = iDelayToPrep;
       
    97     copy->iSize = iSize;
       
    98     copy->iDataOwnStatus = iDataOwnStatus;
       
    99     copy->iTransDataType = iTransDataType;
       
   100     
       
   101     if ( iJavaHash )
       
   102         {
       
   103         if ( copy->iJavaHash )
       
   104             {
       
   105             delete copy->iJavaHash;
       
   106             copy->iJavaHash = NULL;
       
   107             }
       
   108         copy->iJavaHash = iJavaHash->Alloc();
       
   109         }
       
   110                         
       
   111     return copy;
       
   112     }
       
   113     
       
   114 // -----------------------------------------------------------------------------
       
   115 // CSConUpdateDeviceInfo::CSConUpdateDeviceInfo()
       
   116 // 
       
   117 // -----------------------------------------------------------------------------
       
   118 //  
       
   119 CSConUpdateDeviceInfo::CSConUpdateDeviceInfo() : 
       
   120             iInstallSupp(EFalse), iUninstallSupp(EFalse), 
       
   121             iInstParamsSupp(EFalse), iInstAppsSupp(EFalse), 
       
   122             iDataOwnersSupp(EFalse), iSetBURModeSupp(EFalse),
       
   123             iGetSizeSupp(EFalse), iReqDataSupp(EFalse), 
       
   124             iSupplyDataSupp(EFalse), iRebootSupp(EFalse),
       
   125             iComplete( EFalse ), iProgress( 0 )
       
   126     {
       
   127     }
       
   128     
       
   129 // -----------------------------------------------------------------------------
       
   130 // CSConUpdateDeviceInfo::~CSConUpdateDeviceInfo()
       
   131 // 
       
   132 // -----------------------------------------------------------------------------
       
   133 //           
       
   134 CSConUpdateDeviceInfo::~CSConUpdateDeviceInfo()
       
   135     {
       
   136     }
       
   137 
       
   138 // -----------------------------------------------------------------------------
       
   139 // CSConUpdateDeviceInfo::Copy()
       
   140 // 
       
   141 // -----------------------------------------------------------------------------
       
   142 //          
       
   143 CSConUpdateDeviceInfo* CSConUpdateDeviceInfo::CopyL()
       
   144     {
       
   145     CSConUpdateDeviceInfo* copy = new (ELeave) CSConUpdateDeviceInfo();
       
   146     copy->iVersion.Copy( iVersion );
       
   147     copy->iInstallSupp = iInstallSupp;
       
   148     copy->iUninstallSupp = iUninstallSupp;
       
   149     copy->iInstParamsSupp = iInstParamsSupp;
       
   150     copy->iInstAppsSupp = iInstAppsSupp;
       
   151     copy->iDataOwnersSupp = iDataOwnersSupp;
       
   152     copy->iSetBURModeSupp = iSetBURModeSupp;
       
   153     copy->iGetSizeSupp = iGetSizeSupp;
       
   154     copy->iReqDataSupp = iReqDataSupp;
       
   155     copy->iSupplyDataSupp = iSupplyDataSupp;
       
   156     copy->iMaxObjectSize = iMaxObjectSize;
       
   157     copy->iRebootSupp = iRebootSupp;
       
   158     copy->iComplete = iComplete;
       
   159     copy->iProgress = iProgress;        
       
   160                 
       
   161     return copy;
       
   162     }
       
   163 
       
   164 // -----------------------------------------------------------------------------
       
   165 // CSConInstApp::Copy()
       
   166 // 
       
   167 // -----------------------------------------------------------------------------
       
   168 //  
       
   169 CSConInstApp* CSConInstApp::CopyL()
       
   170     {
       
   171     CSConInstApp* copy = new (ELeave) CSConInstApp();
       
   172             
       
   173     copy->iName.Copy( iName ); 
       
   174     copy->iParentName.Copy( iParentName );
       
   175     copy->iVendor.Copy( iVendor );
       
   176     copy->iVersion.Copy( iVersion );
       
   177     copy->iSize = iSize;
       
   178     copy->iType = iType;
       
   179     copy->iUid = iUid;
       
   180 
       
   181     return copy;
       
   182     }
       
   183 
       
   184 // -----------------------------------------------------------------------------
       
   185 // CSConListInstApps::CSConListInstApps()
       
   186 // 
       
   187 // -----------------------------------------------------------------------------
       
   188 //      
       
   189 CSConListInstApps::CSConListInstApps() : iComplete( EFalse ), iProgress( 0 )
       
   190     {
       
   191     //Initialize iDriveList with zeros
       
   192     iDriveList.Fill( '\x0' );
       
   193     }
       
   194 
       
   195 // -----------------------------------------------------------------------------
       
   196 // CSConListInstApps::~CSConListInstApps()
       
   197 // 
       
   198 // -----------------------------------------------------------------------------
       
   199 //      
       
   200 CSConListInstApps::~CSConListInstApps()
       
   201     {
       
   202     iApps.ResetAndDestroy();
       
   203     iApps.Close();
       
   204     }
       
   205 
       
   206 // -----------------------------------------------------------------------------
       
   207 // CSConListInstApps::CopyL()
       
   208 // 
       
   209 // -----------------------------------------------------------------------------
       
   210 //              
       
   211 CSConListInstApps* CSConListInstApps::CopyL()
       
   212     {
       
   213     CSConListInstApps* copy = new (ELeave) CSConListInstApps();
       
   214     copy->iAllApps = iAllApps;
       
   215     copy->iDriveList = iDriveList;
       
   216             
       
   217     copy->iComplete = iComplete;
       
   218     copy->iProgress = iProgress;            
       
   219         
       
   220     for( TInt i = 0; i < iApps.Count(); i++ )
       
   221         {
       
   222         copy->iApps.Append( iApps[i]->CopyL() );
       
   223         }
       
   224             
       
   225     return copy;
       
   226     }
       
   227 
       
   228 // -----------------------------------------------------------------------------
       
   229 // CSConFile::CSConFile
       
   230 // 
       
   231 // -----------------------------------------------------------------------------
       
   232 //  
       
   233 CSConFile::CSConFile()
       
   234     {
       
   235     }
       
   236     
       
   237 // -----------------------------------------------------------------------------
       
   238 // CSConFile::~CSConFile
       
   239 // 
       
   240 // -----------------------------------------------------------------------------
       
   241 //  
       
   242 CSConFile::~CSConFile()
       
   243     {
       
   244     
       
   245     }
       
   246     
       
   247 // -----------------------------------------------------------------------------
       
   248 // CSConFile::Copy()
       
   249 // 
       
   250 // -----------------------------------------------------------------------------
       
   251 //  
       
   252 CSConFile* CSConFile::CopyL()
       
   253     {
       
   254     CSConFile* copy = new (ELeave) CSConFile();
       
   255             
       
   256     copy->iPath.Copy( iPath ); 
       
   257     copy->iModified.Copy( iModified );
       
   258     copy->iSize = iSize;
       
   259     copy->iUserPerm = iUserPerm;
       
   260 
       
   261     return copy;
       
   262     }
       
   263 
       
   264 // -----------------------------------------------------------------------------
       
   265 // CSConInstall::CSConInstall()
       
   266 // 
       
   267 // -----------------------------------------------------------------------------
       
   268 //      
       
   269 CSConInstall::CSConInstall() : iMode( EUnknown ), iComplete( EFalse ), iProgress( 0 ) 
       
   270     {
       
   271     }
       
   272 
       
   273 // -----------------------------------------------------------------------------
       
   274 // CSConInstall::~CSConInstall()
       
   275 // 
       
   276 // -----------------------------------------------------------------------------
       
   277 //              
       
   278 CSConInstall::~CSConInstall()
       
   279     {
       
   280     }
       
   281 
       
   282 // -----------------------------------------------------------------------------
       
   283 // CSConInstall::CopyL()
       
   284 // 
       
   285 // -----------------------------------------------------------------------------
       
   286 //              
       
   287 CSConInstall* CSConInstall::CopyL()
       
   288     {
       
   289     CSConInstall* copy = new (ELeave) CSConInstall();
       
   290     copy->iPath = iPath;
       
   291     copy->iMode = iMode;
       
   292             
       
   293     copy->iComplete = iComplete;
       
   294     copy->iProgress = iProgress;
       
   295             
       
   296     return copy;
       
   297     }
       
   298 
       
   299 // -----------------------------------------------------------------------------
       
   300 // CSConUninstall::CSConUninstall()
       
   301 // 
       
   302 // -----------------------------------------------------------------------------
       
   303 //  
       
   304 CSConUninstall::CSConUninstall() : iMode( EUnknown ), iComplete( EFalse ), iProgress( 0 )
       
   305     {
       
   306     }
       
   307 
       
   308 // -----------------------------------------------------------------------------
       
   309 // CSConUninstall::~CSConUninstall()
       
   310 // 
       
   311 // -----------------------------------------------------------------------------
       
   312 //          
       
   313 CSConUninstall::~CSConUninstall()
       
   314     {
       
   315     }
       
   316 
       
   317 // -----------------------------------------------------------------------------
       
   318 // CSConUninstall::Copy()
       
   319 // 
       
   320 // -----------------------------------------------------------------------------
       
   321 //          
       
   322 CSConUninstall* CSConUninstall::CopyL()
       
   323     {
       
   324     CSConUninstall* copy = new (ELeave) CSConUninstall();
       
   325     copy->iName = iName;
       
   326     copy->iVendor = iVendor;
       
   327     copy->iUid = iUid;
       
   328     copy->iMode = iMode;
       
   329             
       
   330     copy->iComplete = iComplete;
       
   331     copy->iProgress = iProgress;
       
   332             
       
   333     return copy;
       
   334     }
       
   335 
       
   336 // -----------------------------------------------------------------------------
       
   337 // CSConListDataOwners::CSConListDataOwners()
       
   338 // 
       
   339 // -----------------------------------------------------------------------------
       
   340 //      
       
   341 CSConListDataOwners::CSConListDataOwners() : iComplete( EFalse ), iProgress( 0 )
       
   342     {
       
   343     }
       
   344     
       
   345 // -----------------------------------------------------------------------------
       
   346 // CSConListDataOwners::~CSConListDataOwners()
       
   347 // 
       
   348 // -----------------------------------------------------------------------------
       
   349 //          
       
   350 CSConListDataOwners::~CSConListDataOwners()
       
   351     {
       
   352     iDataOwners.ResetAndDestroy();
       
   353     iDataOwners.Close();
       
   354     }
       
   355 
       
   356 // -----------------------------------------------------------------------------
       
   357 // CSConListDataOwners::CopyL()
       
   358 // 
       
   359 // -----------------------------------------------------------------------------
       
   360 //              
       
   361 CSConListDataOwners* CSConListDataOwners::CopyL()
       
   362     {
       
   363     CSConListDataOwners* copy = new (ELeave) CSConListDataOwners();
       
   364     CleanupStack::PushL( copy );
       
   365     for( TInt i = 0; i < iDataOwners.Count(); i++ )
       
   366         {
       
   367         copy->iDataOwners.Append( iDataOwners[i]->CopyL() );
       
   368         }
       
   369     CleanupStack::Pop( copy );
       
   370     
       
   371     copy->iComplete = iComplete;
       
   372     copy->iProgress = iProgress;
       
   373         
       
   374     return copy;
       
   375     }
       
   376     
       
   377 // -----------------------------------------------------------------------------
       
   378 // CSConListDataOwners::DeleteDataOwners()
       
   379 // 
       
   380 // -----------------------------------------------------------------------------
       
   381 //          
       
   382 void CSConListDataOwners::DeleteDataOwners()
       
   383     {
       
   384     iDataOwners.ResetAndDestroy();
       
   385     iDataOwners.Close();
       
   386     }
       
   387     
       
   388 // -----------------------------------------------------------------------------
       
   389 // CCSConSetBURMode::CSConSetBURMode()
       
   390 // 
       
   391 // -----------------------------------------------------------------------------
       
   392 //      
       
   393 CSConSetBURMode::CSConSetBURMode() : iComplete( EFalse ), iProgress( 0 )
       
   394     {
       
   395     //Initialize iDriveList with zeros
       
   396     iDriveList.Fill( '\x0' );
       
   397     }
       
   398         
       
   399 // -----------------------------------------------------------------------------
       
   400 // CSConSetBURMode::~CSConSetBURMode()
       
   401 // 
       
   402 // -----------------------------------------------------------------------------
       
   403 //      
       
   404 CSConSetBURMode::~CSConSetBURMode()
       
   405     {
       
   406     }
       
   407     
       
   408 // -----------------------------------------------------------------------------
       
   409 // CSConSetBURMode::Copy()
       
   410 // 
       
   411 // -----------------------------------------------------------------------------
       
   412 //      
       
   413 CSConSetBURMode* CSConSetBURMode::CopyL()
       
   414     {
       
   415     CSConSetBURMode* copy = new (ELeave) CSConSetBURMode();
       
   416     copy->iDriveList.Copy( iDriveList );
       
   417     copy->iPartialType = iPartialType;
       
   418     copy->iIncType = iIncType;
       
   419             
       
   420     copy->iComplete = iComplete;
       
   421     copy->iProgress = iProgress;
       
   422 
       
   423     return copy;
       
   424     }
       
   425 
       
   426 // -----------------------------------------------------------------------------
       
   427 // CSConGetDataSize::CSConGetDataSize()
       
   428 // 
       
   429 // -----------------------------------------------------------------------------
       
   430 //          
       
   431 CSConGetDataSize::CSConGetDataSize() : iComplete( EFalse ), iProgress( 0 )
       
   432     {
       
   433     }
       
   434 
       
   435 // -----------------------------------------------------------------------------
       
   436 // CSConGetDataSize::~CSConGetDataSize()
       
   437 // 
       
   438 // -----------------------------------------------------------------------------
       
   439 //      
       
   440 CSConGetDataSize::~CSConGetDataSize()
       
   441     {
       
   442     iDataOwners.ResetAndDestroy();
       
   443     iDataOwners.Close();
       
   444     }
       
   445         
       
   446 // -----------------------------------------------------------------------------
       
   447 // CSConGetDataSize::Copy()
       
   448 // 
       
   449 // -----------------------------------------------------------------------------
       
   450 //      
       
   451 CSConGetDataSize* CSConGetDataSize::CopyL()
       
   452     {
       
   453     CSConGetDataSize* copy = new (ELeave) CSConGetDataSize();
       
   454     CleanupStack::PushL( copy );
       
   455     for( TInt i = 0; i < iDataOwners.Count(); i++ )
       
   456         {
       
   457         copy->iDataOwners.Append( iDataOwners[i]->CopyL() );
       
   458         }
       
   459     CleanupStack::Pop( copy );
       
   460     copy->iComplete = iComplete;
       
   461     copy->iProgress = iProgress;
       
   462         
       
   463     return copy;
       
   464     }
       
   465     
       
   466 // -----------------------------------------------------------------------------
       
   467 // CSConGetDataSize::DeleteDataOwners()
       
   468 // 
       
   469 // -----------------------------------------------------------------------------
       
   470 //              
       
   471 void CSConGetDataSize::DeleteDataOwners()
       
   472     {
       
   473     iDataOwners.ResetAndDestroy();
       
   474     iDataOwners.Close();
       
   475     }   
       
   476     
       
   477 // -----------------------------------------------------------------------------
       
   478 // CSConListPublicFiles::CSConListPublicFiles()
       
   479 // 
       
   480 // -----------------------------------------------------------------------------
       
   481 //  
       
   482 CSConListPublicFiles::CSConListPublicFiles() : iComplete( EFalse ), iProgress( 0 )
       
   483     {
       
   484     }
       
   485     
       
   486 // -----------------------------------------------------------------------------
       
   487 // CSConListPublicFiles::~CSConListPublicFiles()
       
   488 // 
       
   489 // -----------------------------------------------------------------------------
       
   490 //          
       
   491 CSConListPublicFiles::~CSConListPublicFiles()
       
   492     {
       
   493     iFiles.ResetAndDestroy();
       
   494     iFiles.Close();
       
   495     
       
   496     iDataOwners.ResetAndDestroy();
       
   497     iDataOwners.Close();
       
   498     }
       
   499 
       
   500 // -----------------------------------------------------------------------------
       
   501 // CSConListPublicFiles::CopyL()
       
   502 // 
       
   503 // -----------------------------------------------------------------------------
       
   504 //              
       
   505 CSConListPublicFiles* CSConListPublicFiles::CopyL()
       
   506     {
       
   507     CSConListPublicFiles* copy = new (ELeave) CSConListPublicFiles();
       
   508     CleanupStack::PushL( copy );
       
   509     for( TInt i = 0; i < iFiles.Count(); i++ )
       
   510         {
       
   511         copy->iFiles.Append( iFiles[i]->CopyL() );
       
   512         }
       
   513         
       
   514     for( TInt j = 0; j < iDataOwners.Count(); j++ )
       
   515         {
       
   516         copy->iDataOwners.Append( iDataOwners[j]->CopyL() );
       
   517         }
       
   518     CleanupStack::Pop( copy );
       
   519     
       
   520     copy->iComplete = iComplete;
       
   521     copy->iProgress = iProgress;
       
   522         
       
   523     return copy;
       
   524     }
       
   525 
       
   526 // -----------------------------------------------------------------------------
       
   527 // CSConRequestData::CSConRequestData()
       
   528 // 
       
   529 // -----------------------------------------------------------------------------
       
   530 //
       
   531 CSConRequestData::CSConRequestData() : iDataOwner( NULL ), iBackupData( NULL ), 
       
   532     iMoreData( EFalse ), iComplete( EFalse ), iProgress( 0 )
       
   533     {
       
   534     iDataOwner = new CSConDataOwner();
       
   535     }
       
   536             
       
   537 // -----------------------------------------------------------------------------
       
   538 // CSConRequestData::~CSConRequestData()
       
   539 // 
       
   540 // -----------------------------------------------------------------------------
       
   541 //
       
   542 CSConRequestData::~CSConRequestData()
       
   543     {
       
   544     if ( iDataOwner )
       
   545         {
       
   546         delete iDataOwner;
       
   547         iDataOwner = NULL;
       
   548         }
       
   549         
       
   550     if ( iBackupData )
       
   551         {
       
   552         delete iBackupData;
       
   553         iBackupData = NULL;
       
   554         }
       
   555     }
       
   556     
       
   557 // -----------------------------------------------------------------------------
       
   558 // CSConRequestData::Copy()
       
   559 // 
       
   560 // -----------------------------------------------------------------------------
       
   561 //          
       
   562 CSConRequestData* CSConRequestData::CopyL()
       
   563     {
       
   564     CSConRequestData* copy = new (ELeave) CSConRequestData();
       
   565     
       
   566     if ( iDataOwner )
       
   567         {
       
   568         if ( copy->iDataOwner )
       
   569             {
       
   570             delete copy->iDataOwner;
       
   571             copy->iDataOwner = NULL;
       
   572             }
       
   573         copy->iDataOwner = iDataOwner->CopyL();
       
   574         }
       
   575     
       
   576     copy->iComplete = iComplete;
       
   577     copy->iProgress = iProgress;
       
   578         
       
   579     if ( iBackupData )
       
   580         {
       
   581         if ( copy->iBackupData )
       
   582             {
       
   583             delete copy->iBackupData;
       
   584             copy->iBackupData = NULL;
       
   585             }
       
   586         copy->iBackupData = iBackupData->Alloc();
       
   587         }
       
   588         
       
   589     copy->iMoreData = iMoreData;
       
   590     
       
   591     return copy;
       
   592     }
       
   593 
       
   594 // -----------------------------------------------------------------------------
       
   595 // CSConRequestData::DeleteDataAndDataOwner()
       
   596 // 
       
   597 // -----------------------------------------------------------------------------
       
   598 //          
       
   599 void CSConRequestData::DeleteDataAndDataOwner()
       
   600     {
       
   601     if ( iDataOwner )
       
   602         {
       
   603         delete iDataOwner;
       
   604         iDataOwner = NULL;
       
   605         }
       
   606     
       
   607     if ( iBackupData )
       
   608         {
       
   609         delete iBackupData;
       
   610         iBackupData = NULL;
       
   611         }
       
   612     }
       
   613 
       
   614 // -----------------------------------------------------------------------------
       
   615 // CSConGetDataOwnerStatus::CSConGetDataOwnerStatus()
       
   616 // 
       
   617 // -----------------------------------------------------------------------------
       
   618 //      
       
   619 CSConGetDataOwnerStatus::CSConGetDataOwnerStatus() : iComplete( EFalse ), iProgress( 0 )
       
   620     {
       
   621     }
       
   622 
       
   623 // -----------------------------------------------------------------------------
       
   624 // CSConGetDataOwnerStatus::~CSConGetDataOwnerStatus()
       
   625 // 
       
   626 // -----------------------------------------------------------------------------
       
   627 //              
       
   628 CSConGetDataOwnerStatus::~CSConGetDataOwnerStatus()
       
   629     {
       
   630     iDataOwners.ResetAndDestroy();
       
   631     iDataOwners.Close();
       
   632     }
       
   633 
       
   634 // -----------------------------------------------------------------------------
       
   635 // CSConGetDataOwnerStatus::Copy()
       
   636 // 
       
   637 // -----------------------------------------------------------------------------
       
   638 //              
       
   639 CSConGetDataOwnerStatus* CSConGetDataOwnerStatus::CopyL()
       
   640     {
       
   641     CSConGetDataOwnerStatus* copy = new (ELeave) CSConGetDataOwnerStatus();
       
   642     CleanupStack::PushL( copy );
       
   643     for( TInt i = 0; i < iDataOwners.Count(); i++ )
       
   644         {
       
   645         copy->iDataOwners.Append( iDataOwners[i]->CopyL() );
       
   646         }           
       
   647     CleanupStack::Pop( copy );
       
   648     
       
   649     copy->iComplete = iComplete;
       
   650     copy->iProgress = iProgress;
       
   651         
       
   652     return copy;
       
   653     }
       
   654 
       
   655 // -----------------------------------------------------------------------------
       
   656 // CSConGetDataOwnerStatus::DeleteDataOwners()
       
   657 // 
       
   658 // -----------------------------------------------------------------------------
       
   659 //              
       
   660 void CSConGetDataOwnerStatus::DeleteDataOwners()
       
   661     {
       
   662     iDataOwners.ResetAndDestroy();
       
   663     iDataOwners.Close();
       
   664     }
       
   665     
       
   666 // -----------------------------------------------------------------------------
       
   667 // CSConSupplyData::CSConSupplyData()
       
   668 // 
       
   669 // -----------------------------------------------------------------------------
       
   670 //  
       
   671 CSConSupplyData::CSConSupplyData() : iDataOwner( NULL ), iRestoreData( NULL ),
       
   672     iComplete( EFalse ), iProgress( 0 )
       
   673     {
       
   674     iDataOwner = new CSConDataOwner();
       
   675     }
       
   676     
       
   677 // -----------------------------------------------------------------------------
       
   678 // CSConSupplyData::~CSConSupplyData()
       
   679 // 
       
   680 // -----------------------------------------------------------------------------
       
   681 //          
       
   682 CSConSupplyData::~CSConSupplyData()
       
   683     {
       
   684     if ( iDataOwner )
       
   685         {
       
   686         delete iDataOwner;
       
   687         iDataOwner = NULL;
       
   688         }
       
   689     
       
   690     if ( iRestoreData )
       
   691         {
       
   692         delete iRestoreData;
       
   693         iRestoreData = NULL;
       
   694         }
       
   695     }
       
   696     
       
   697 // -----------------------------------------------------------------------------
       
   698 // CSConSupplyData::Copy()
       
   699 // 
       
   700 // -----------------------------------------------------------------------------
       
   701 //          
       
   702 CSConSupplyData* CSConSupplyData::CopyL()
       
   703     {
       
   704     CSConSupplyData* copy = new (ELeave) CSConSupplyData();
       
   705     CleanupStack::PushL( copy );
       
   706     
       
   707     copy->iComplete = iComplete;
       
   708     copy->iProgress = iProgress;
       
   709         
       
   710     if ( iDataOwner )
       
   711         {
       
   712         if ( copy->iDataOwner )
       
   713             {
       
   714             delete copy->iDataOwner;
       
   715             copy->iDataOwner = NULL;
       
   716             }
       
   717             
       
   718         copy->iDataOwner = iDataOwner->CopyL();
       
   719         }
       
   720     CleanupStack::Pop( copy ); 
       
   721         
       
   722     if ( iRestoreData )
       
   723         {
       
   724         if ( copy->iRestoreData )
       
   725             {
       
   726             delete copy->iRestoreData;
       
   727             copy->iRestoreData = NULL;
       
   728             }
       
   729             
       
   730         copy->iRestoreData = iRestoreData->Alloc();
       
   731         }
       
   732     
       
   733     copy->iMoreData = iMoreData;    
       
   734     
       
   735     return copy;
       
   736     }
       
   737 
       
   738 // -----------------------------------------------------------------------------
       
   739 // CSConGetMetadata::CSConGetMetadata()
       
   740 // 
       
   741 // -----------------------------------------------------------------------------
       
   742 //  
       
   743 CSConGetMetadata::CSConGetMetadata() : iData( NULL ),
       
   744     iMoreData( EFalse ), iComplete( EFalse ), iProgress( 0 )
       
   745     {
       
   746     }
       
   747     
       
   748 // -----------------------------------------------------------------------------
       
   749 // CSConGetMetadata::~CSConGetMetadata()
       
   750 // 
       
   751 // -----------------------------------------------------------------------------
       
   752 //          
       
   753 CSConGetMetadata::~CSConGetMetadata()
       
   754     {
       
   755     if ( iData )
       
   756         {
       
   757         delete iData;
       
   758         iData = NULL;
       
   759         }
       
   760     }
       
   761     
       
   762 // -----------------------------------------------------------------------------
       
   763 // CSConGetMetadata::Copy()
       
   764 // 
       
   765 // -----------------------------------------------------------------------------
       
   766 //          
       
   767 CSConGetMetadata* CSConGetMetadata::CopyL()
       
   768     {
       
   769     CSConGetMetadata* copy = new (ELeave) CSConGetMetadata();
       
   770     
       
   771     copy->iFilename = iFilename;
       
   772     
       
   773     if ( iData )
       
   774         {
       
   775         if ( copy->iData )
       
   776             {
       
   777             delete copy->iData;
       
   778             copy->iData = NULL;
       
   779             }
       
   780         
       
   781         copy->iData = iData->Alloc();
       
   782         }
       
   783     
       
   784     copy->iMoreData = iMoreData;
       
   785     copy->iComplete = iComplete;
       
   786     copy->iProgress = iProgress;
       
   787     
       
   788     return copy;
       
   789     }
       
   790 
       
   791 
       
   792 // -----------------------------------------------------------------------------
       
   793 // CSConTask::NewL( TSConMethodName aMethod )
       
   794 // 
       
   795 // -----------------------------------------------------------------------------
       
   796 //
       
   797 CSConTask* CSConTask::NewL( TSConMethodName aMethod )
       
   798     {
       
   799     CSConTask* self = NewLC( aMethod );
       
   800     CleanupStack::Pop( self );
       
   801     return self;
       
   802     }
       
   803 
       
   804 // -----------------------------------------------------------------------------
       
   805 // CSConTask::NewLC( TSConMethodName aMethod )
       
   806 // 
       
   807 // -----------------------------------------------------------------------------
       
   808 //
       
   809 CSConTask* CSConTask::NewLC( TSConMethodName aMethod )
       
   810     {
       
   811     CSConTask* self = new (ELeave) CSConTask();
       
   812     CleanupStack::PushL( self );
       
   813     self->ConstructL( aMethod );
       
   814     return self;
       
   815     }
       
   816 
       
   817 // -----------------------------------------------------------------------------
       
   818 // CSConTask::ConstructL( TSConMethodName aMethod )
       
   819 // Initializes member data
       
   820 // -----------------------------------------------------------------------------
       
   821 //
       
   822 void CSConTask::ConstructL( TSConMethodName aMethod )
       
   823     {
       
   824     iMethod = aMethod;
       
   825     
       
   826     switch( aMethod )
       
   827         {
       
   828         case ECancel :
       
   829             break;
       
   830         case EGetDataOwnerStatus :
       
   831             iGetDataOwnerParams = new (ELeave) CSConGetDataOwnerStatus();
       
   832             break;
       
   833         case EGetDataSize :
       
   834             iGetDataSizeParams = new (ELeave) CSConGetDataSize();
       
   835             break;
       
   836         case EGetStatus :
       
   837             iGetStatusParams = new (ELeave) CSConGetStatus();
       
   838             break;
       
   839         case EInstall :
       
   840             iInstallParams = new (ELeave) CSConInstall();
       
   841             break;
       
   842         case EListDataOwners :
       
   843             iListDataOwnersParams = new (ELeave) CSConListDataOwners();
       
   844             break;
       
   845         case EListInstalledApps :
       
   846             iListAppsParams = new (ELeave) CSConListInstApps();
       
   847             break;
       
   848         case EListPublicFiles :
       
   849             iPubFilesParams = new (ELeave) CSConListPublicFiles();
       
   850             break;
       
   851         case ERequestData :
       
   852             iRequestDataParams = new (ELeave) CSConRequestData();
       
   853             break;
       
   854         case ESetBURMode :
       
   855             iBURModeParams = new (ELeave) CSConSetBURMode();
       
   856             break;
       
   857         case ESetInstParams :
       
   858             break;
       
   859         case ESupplyData :
       
   860             iSupplyDataParams = new (ELeave) CSConSupplyData();
       
   861             break;
       
   862         case EUninstall :
       
   863             iUninstallParams = new (ELeave) CSConUninstall();
       
   864             break;
       
   865         case EUpdateDeviceInfo :
       
   866             iDevInfoParams = new (ELeave) CSConUpdateDeviceInfo();
       
   867             break;
       
   868         case EReboot :
       
   869             iRebootParams = new (ELeave) CSConReboot();
       
   870             break;
       
   871         case EGetMetadata :
       
   872             iGetMetadataParams = new (ELeave) CSConGetMetadata();
       
   873             break;
       
   874         default :
       
   875             break;
       
   876         }
       
   877     }
       
   878 // -----------------------------------------------------------------------------
       
   879 // CSConTask::CSConTask()
       
   880 // 
       
   881 // -----------------------------------------------------------------------------
       
   882 //      
       
   883 CSConTask::CSConTask()
       
   884     {
       
   885     }
       
   886 
       
   887 // -----------------------------------------------------------------------------
       
   888 // CSConTask::~CSConTask()
       
   889 // 
       
   890 // -----------------------------------------------------------------------------
       
   891 //          
       
   892 CSConTask::~CSConTask()
       
   893     {
       
   894     delete iDevInfoParams;
       
   895     delete iListAppsParams;
       
   896     delete iGetStatusParams;
       
   897     delete iInstallParams;
       
   898     delete iUninstallParams;
       
   899     delete iBURModeParams;
       
   900     delete iGetDataSizeParams;
       
   901     delete iRequestDataParams;
       
   902     delete iGetDataOwnerParams;
       
   903     delete iSupplyDataParams;
       
   904     delete iPubFilesParams;
       
   905     delete iListDataOwnersParams;
       
   906     delete iRebootParams;
       
   907     delete iGetMetadataParams;
       
   908     }
       
   909 
       
   910 // -----------------------------------------------------------------------------
       
   911 // CSConTask::GetServiceId() const
       
   912 // 
       
   913 // -----------------------------------------------------------------------------
       
   914 //          
       
   915 TSConMethodName CSConTask::GetServiceId() const
       
   916     { 
       
   917     return iMethod; 
       
   918     }
       
   919 
       
   920 // -----------------------------------------------------------------------------
       
   921 // CSConTask::Copy() const
       
   922 // 
       
   923 // -----------------------------------------------------------------------------
       
   924 //          
       
   925 CSConTask* CSConTask::CopyL() const
       
   926     {
       
   927     CSConTask* copy = new (ELeave) CSConTask();
       
   928     copy->iMethod = iMethod;
       
   929     
       
   930     if ( iDevInfoParams )
       
   931         {
       
   932         copy->iDevInfoParams = iDevInfoParams->CopyL();
       
   933         }
       
   934     if ( iListAppsParams )
       
   935         {
       
   936         copy->iListAppsParams = iListAppsParams->CopyL();
       
   937         }
       
   938     if ( iGetStatusParams ) 
       
   939         {
       
   940         
       
   941         }
       
   942     if ( iInstallParams )
       
   943         {
       
   944         copy->iInstallParams = iInstallParams->CopyL();
       
   945         }
       
   946     if ( iUninstallParams )
       
   947         {
       
   948         copy->iUninstallParams = iUninstallParams->CopyL();
       
   949         }
       
   950     if ( iBURModeParams )
       
   951         {
       
   952         copy->iBURModeParams = iBURModeParams->CopyL();
       
   953         }
       
   954     if ( iGetDataSizeParams )
       
   955         {
       
   956         copy->iGetDataSizeParams = iGetDataSizeParams->CopyL();
       
   957         }
       
   958     if ( iRequestDataParams )
       
   959         {
       
   960         copy->iRequestDataParams = iRequestDataParams->CopyL();
       
   961         }
       
   962     if ( iGetDataOwnerParams )
       
   963         {
       
   964         copy->iGetDataOwnerParams = iGetDataOwnerParams->CopyL();
       
   965         }
       
   966     if ( iSupplyDataParams )
       
   967         {
       
   968         copy->iSupplyDataParams = iSupplyDataParams->CopyL();
       
   969         }
       
   970     if ( iPubFilesParams )
       
   971         {
       
   972         copy->iPubFilesParams = iPubFilesParams->CopyL();
       
   973         }
       
   974     if ( iListDataOwnersParams )
       
   975         {
       
   976         copy->iListDataOwnersParams = iListDataOwnersParams->CopyL();
       
   977         }
       
   978     if ( iRebootParams )
       
   979         {
       
   980         copy->iRebootParams = iRebootParams->CopyL();
       
   981         }
       
   982     if ( iGetMetadataParams )
       
   983         {
       
   984         copy->iGetMetadataParams = iGetMetadataParams->CopyL();
       
   985         }
       
   986     
       
   987     return copy;
       
   988     }
       
   989             
       
   990 // -----------------------------------------------------------------------------
       
   991 // CSConTask::GetComplete()
       
   992 // 
       
   993 // -----------------------------------------------------------------------------
       
   994 //  
       
   995 TBool CSConTask::GetComplete()
       
   996     {
       
   997     TBool complete( EFalse );
       
   998     
       
   999     switch( iMethod )
       
  1000         {
       
  1001         case EInstall :
       
  1002             complete = this->iInstallParams->iComplete;
       
  1003             break;
       
  1004         case EUninstall :
       
  1005             complete =  this->iUninstallParams->iComplete;
       
  1006             break;
       
  1007         case EListInstalledApps :
       
  1008             complete =  this->iListAppsParams->iComplete;
       
  1009             break;
       
  1010         case ESetInstParams :
       
  1011             break;
       
  1012         case ESetBURMode :
       
  1013             complete = this->iBURModeParams->iComplete;
       
  1014             break;
       
  1015         case EListPublicFiles :
       
  1016             complete = this->iPubFilesParams->iComplete;
       
  1017             break;
       
  1018         case EListDataOwners :
       
  1019             complete = this->iListDataOwnersParams->iComplete;
       
  1020             break;
       
  1021         case EGetDataSize :
       
  1022             complete = this->iGetDataSizeParams->iComplete;
       
  1023             break;
       
  1024         case EReboot :
       
  1025             complete = this->iRebootParams->iComplete;
       
  1026             break;
       
  1027         case ERequestData :
       
  1028             //If task is partially completed, 
       
  1029             //it can be removed from the queue
       
  1030             if ( this->iRequestDataParams->iProgress == KSConTaskPartiallyCompleted )
       
  1031                 {
       
  1032                 complete = ETrue;
       
  1033                 }
       
  1034             else
       
  1035                 {
       
  1036                 complete = this->iRequestDataParams->iComplete;
       
  1037                 }
       
  1038             
       
  1039             break;
       
  1040         case EGetDataOwnerStatus :
       
  1041             complete = this->iGetDataOwnerParams->iComplete;
       
  1042             break;
       
  1043         case ESupplyData :
       
  1044             //If task is partially completed, 
       
  1045             //it can be removed from the queue
       
  1046             if ( this->iSupplyDataParams->iProgress == KSConTaskPartiallyCompleted )
       
  1047                 {
       
  1048                 complete = ETrue;
       
  1049                 }
       
  1050             else
       
  1051                 {
       
  1052                 complete = this->iSupplyDataParams->iComplete;
       
  1053                 }
       
  1054             
       
  1055             break;
       
  1056         case EGetMetadata :
       
  1057             complete = this->iGetMetadataParams->iComplete;
       
  1058             break;
       
  1059         default :
       
  1060             break;                      
       
  1061         }
       
  1062     
       
  1063     return complete;
       
  1064     }
       
  1065     
       
  1066 // -----------------------------------------------------------------------------
       
  1067 // CSConTask::SetCompleteValue( TBool aValue )
       
  1068 // 
       
  1069 // -----------------------------------------------------------------------------
       
  1070 //          
       
  1071 void CSConTask::SetCompleteValue( TBool aValue )   
       
  1072     {
       
  1073     switch( iMethod )
       
  1074         {
       
  1075         case EInstall :
       
  1076             this->iInstallParams->iComplete = aValue;
       
  1077             break;
       
  1078         case EUninstall :
       
  1079             this->iUninstallParams->iComplete = aValue;         
       
  1080             break;
       
  1081         case EListInstalledApps :
       
  1082             this->iListAppsParams->iComplete = aValue;
       
  1083             break;
       
  1084         case ESetInstParams :
       
  1085             this->iInstallParams->iComplete = aValue;
       
  1086             break;
       
  1087         case ESetBURMode :
       
  1088             this->iBURModeParams->iComplete = aValue;
       
  1089             break;
       
  1090         case EListPublicFiles :
       
  1091             this->iPubFilesParams->iComplete = aValue;
       
  1092             break;
       
  1093         case EListDataOwners :
       
  1094             this->iListDataOwnersParams->iComplete = aValue;
       
  1095             break;
       
  1096         case EGetDataSize :
       
  1097             this->iGetDataSizeParams->iComplete = aValue;
       
  1098             break;
       
  1099         case EReboot :
       
  1100             this->iRebootParams->iComplete = aValue;
       
  1101             break;
       
  1102         case ERequestData :
       
  1103             this->iRequestDataParams->iComplete = aValue;
       
  1104             break;
       
  1105         case EGetDataOwnerStatus :
       
  1106             this->iGetDataOwnerParams->iComplete = aValue;
       
  1107             break;
       
  1108         case ESupplyData :
       
  1109             this->iSupplyDataParams->iComplete = aValue;
       
  1110             break;
       
  1111         case EGetMetadata :
       
  1112             this->iGetMetadataParams->iComplete = aValue;
       
  1113             break;
       
  1114         default:
       
  1115             break;      
       
  1116         }
       
  1117     }
       
  1118         
       
  1119 // -----------------------------------------------------------------------------
       
  1120 // CSConTask::GetCompleteValue()
       
  1121 // 
       
  1122 // -----------------------------------------------------------------------------
       
  1123 //  
       
  1124 TBool CSConTask::GetCompleteValue()
       
  1125     {
       
  1126     TBool complete( EFalse );
       
  1127     
       
  1128     switch( iMethod )
       
  1129         {
       
  1130         case EInstall :
       
  1131             complete = this->iInstallParams->iComplete;
       
  1132             break;
       
  1133         case EUninstall :
       
  1134             complete = this->iUninstallParams->iComplete;           
       
  1135             break;
       
  1136         case EListInstalledApps :
       
  1137             complete = this->iListAppsParams->iComplete;
       
  1138             break;
       
  1139         case ESetInstParams :
       
  1140             complete = this->iInstallParams->iComplete;
       
  1141             break;
       
  1142         case ESetBURMode :
       
  1143             complete = this->iBURModeParams->iComplete;
       
  1144             break;
       
  1145         case EListPublicFiles :
       
  1146             complete = this->iPubFilesParams->iComplete;
       
  1147             break;
       
  1148         case EListDataOwners :
       
  1149             complete = this->iListDataOwnersParams->iComplete;
       
  1150             break;
       
  1151         case EGetDataSize :
       
  1152             complete = this->iGetDataSizeParams->iComplete;
       
  1153             break;
       
  1154         case EReboot :
       
  1155             complete = this->iRebootParams->iComplete;
       
  1156             break;
       
  1157         case ERequestData :
       
  1158             if ( this->iRequestDataParams->iProgress != KSConTaskPartiallyCompleted )
       
  1159                 {
       
  1160                 complete = this->iRequestDataParams->iComplete;
       
  1161                 }
       
  1162             else
       
  1163                 {
       
  1164                 complete = ETrue;
       
  1165                 }
       
  1166             
       
  1167             break;
       
  1168         case EGetDataOwnerStatus :
       
  1169             complete = this->iGetDataOwnerParams->iComplete;
       
  1170             break;
       
  1171         case ESupplyData :
       
  1172             if ( this->iSupplyDataParams->iProgress != KSConTaskPartiallyCompleted )
       
  1173                 {
       
  1174                 complete = this->iSupplyDataParams->iComplete;
       
  1175                 }
       
  1176             else
       
  1177                 {
       
  1178                 complete = ETrue;
       
  1179                 }
       
  1180             break;
       
  1181         case EGetMetadata :
       
  1182             complete = this->iGetMetadataParams->iComplete;
       
  1183             break;
       
  1184         default:
       
  1185             break;      
       
  1186         }
       
  1187     return complete;
       
  1188     }
       
  1189 
       
  1190 // -----------------------------------------------------------------------------
       
  1191 // CSConTask::SetProgressValue( TInt aValue )
       
  1192 // 
       
  1193 // -----------------------------------------------------------------------------
       
  1194 //              
       
  1195 void CSConTask::SetProgressValue( TInt aValue )
       
  1196     {
       
  1197     switch( iMethod )
       
  1198         {
       
  1199         case EInstall :
       
  1200             this->iInstallParams->iProgress = aValue;
       
  1201             break;
       
  1202         case EUninstall :
       
  1203             this->iUninstallParams->iProgress = aValue;
       
  1204             break;
       
  1205         case EListInstalledApps :
       
  1206             this->iListAppsParams->iProgress = aValue;
       
  1207             break;
       
  1208         case ESetInstParams :
       
  1209             this->iInstallParams->iProgress = aValue;
       
  1210             break;
       
  1211         case ESetBURMode :
       
  1212             this->iBURModeParams->iProgress = aValue;
       
  1213             break;
       
  1214         case EListPublicFiles :
       
  1215             this->iPubFilesParams->iProgress = aValue;
       
  1216             break;
       
  1217         case EListDataOwners :
       
  1218             this->iListDataOwnersParams->iProgress = aValue;
       
  1219             break;
       
  1220         case EGetDataSize :
       
  1221             this->iGetDataSizeParams->iProgress = aValue;
       
  1222             break;
       
  1223         case EReboot :
       
  1224             this->iRebootParams->iProgress = aValue;
       
  1225             break;
       
  1226         case ERequestData :
       
  1227             this->iRequestDataParams->iProgress = aValue;
       
  1228             break;
       
  1229         case EGetDataOwnerStatus :
       
  1230             this->iGetDataOwnerParams->iProgress = aValue;
       
  1231             break;
       
  1232         case ESupplyData :
       
  1233             this->iSupplyDataParams->iProgress = aValue;
       
  1234             break;
       
  1235         case EGetMetadata :
       
  1236             this->iGetMetadataParams->iProgress = aValue;
       
  1237             break;
       
  1238         default:
       
  1239             break;      
       
  1240         }
       
  1241     }
       
  1242 
       
  1243 // -----------------------------------------------------------------------------
       
  1244 // CSConTaskReply::CSConTaskReply()
       
  1245 // 
       
  1246 // -----------------------------------------------------------------------------
       
  1247 //      
       
  1248 CSConTaskReply::CSConTaskReply()
       
  1249     {
       
  1250     }
       
  1251    
       
  1252 // -----------------------------------------------------------------------------
       
  1253 // CSConTaskReply::CSConTaskReply( TSConMethodName aMethod )
       
  1254 // 
       
  1255 // -----------------------------------------------------------------------------
       
  1256 //          
       
  1257 CSConTaskReply::CSConTaskReply( TSConMethodName aMethod )
       
  1258     {
       
  1259     iMethod = aMethod;
       
  1260     switch( aMethod )
       
  1261         {
       
  1262         case ECancel :
       
  1263             break;
       
  1264         case EGetDataOwnerStatus :
       
  1265             iGetDataOwnerParams = new CSConGetDataOwnerStatus();
       
  1266             break;
       
  1267         case EGetDataSize :
       
  1268             iGetDataSizeParams = new CSConGetDataSize();
       
  1269             break;
       
  1270         case EGetStatus :
       
  1271             iGetStatusParams = new CSConGetStatus();
       
  1272             break;
       
  1273         case EInstall :
       
  1274             iInstallParams = new CSConInstall();
       
  1275             break;
       
  1276         case EListDataOwners :
       
  1277             iListDataOwnersParams = new CSConListDataOwners();
       
  1278             break;
       
  1279         case EListInstalledApps :
       
  1280             iListAppsParams = new CSConListInstApps();
       
  1281             break;
       
  1282         case EListPublicFiles :
       
  1283             iPubFilesParams = new CSConListPublicFiles();
       
  1284             break;
       
  1285         case ERequestData :
       
  1286             iRequestDataParams = new CSConRequestData();
       
  1287             break;
       
  1288         case ESetBURMode :
       
  1289             iBURModeParams = new CSConSetBURMode();
       
  1290             break;
       
  1291         case ESetInstParams :
       
  1292             break;
       
  1293         case ESupplyData :
       
  1294             iSupplyDataParams = new CSConSupplyData();
       
  1295             break;
       
  1296         case EUninstall :
       
  1297             iUninstallParams = new CSConUninstall();
       
  1298             break;
       
  1299         case EUpdateDeviceInfo :
       
  1300             iDevInfoParams = new CSConUpdateDeviceInfo();
       
  1301             break;
       
  1302         case EReboot :
       
  1303             iRebootParams = new CSConReboot();
       
  1304             break;
       
  1305         case EGetMetadata :
       
  1306             iGetMetadataParams = new CSConGetMetadata();
       
  1307             break;
       
  1308         default :
       
  1309             break;
       
  1310         }
       
  1311     }
       
  1312       
       
  1313 // -----------------------------------------------------------------------------
       
  1314 // CSConTaskReply::~CSConTaskReply()
       
  1315 // 
       
  1316 // -----------------------------------------------------------------------------
       
  1317 //          
       
  1318 CSConTaskReply::~CSConTaskReply()
       
  1319     {
       
  1320     delete iDevInfoParams;
       
  1321     delete iListAppsParams;
       
  1322     delete iGetStatusParams;
       
  1323     delete iInstallParams;
       
  1324     delete iUninstallParams;
       
  1325     delete iBURModeParams;
       
  1326     delete iGetDataSizeParams;
       
  1327     delete iRequestDataParams;
       
  1328     delete iGetDataOwnerParams;
       
  1329     delete iSupplyDataParams;
       
  1330     delete iPubFilesParams;
       
  1331     delete iListDataOwnersParams;
       
  1332     delete iRebootParams;
       
  1333     delete iGetMetadataParams;
       
  1334     }
       
  1335 
       
  1336 // -----------------------------------------------------------------------------
       
  1337 // CSConTaskReply::Initialize( const CSConTask& aTask )
       
  1338 // 
       
  1339 // -----------------------------------------------------------------------------
       
  1340 // 
       
  1341 void CSConTaskReply::InitializeL( const CSConTask& aTask )
       
  1342     {
       
  1343     iTaskId = aTask.iTaskId;
       
  1344     iMethod = aTask.iMethod;
       
  1345     
       
  1346     if ( iMethod == EInstall )
       
  1347         {
       
  1348         if ( iInstallParams )
       
  1349             {
       
  1350             delete iInstallParams;
       
  1351             iInstallParams = NULL;
       
  1352             }
       
  1353         iInstallParams = aTask.iInstallParams->CopyL();
       
  1354         }
       
  1355     else if ( iMethod == EListInstalledApps )
       
  1356         {
       
  1357         if ( iListAppsParams )
       
  1358             {
       
  1359             delete iListAppsParams;
       
  1360             iListAppsParams = NULL;
       
  1361             }
       
  1362             
       
  1363         iListAppsParams = aTask.iListAppsParams->CopyL();
       
  1364         }
       
  1365     else if ( iMethod == EUninstall )
       
  1366         {
       
  1367         if ( iUninstallParams )
       
  1368             {
       
  1369             delete iUninstallParams;
       
  1370             iUninstallParams = NULL;
       
  1371             }
       
  1372             
       
  1373         iUninstallParams = aTask.iUninstallParams->CopyL();
       
  1374         }
       
  1375     else if ( iMethod == ESetBURMode )
       
  1376         {
       
  1377         if ( iBURModeParams )
       
  1378             {
       
  1379             delete iBURModeParams;
       
  1380             iBURModeParams = NULL;
       
  1381             }
       
  1382             
       
  1383         iBURModeParams = aTask.iBURModeParams->CopyL();
       
  1384         }
       
  1385     else if ( iMethod == EListPublicFiles )
       
  1386         {
       
  1387         if ( iPubFilesParams )
       
  1388             {
       
  1389             delete iPubFilesParams;
       
  1390             iPubFilesParams = NULL;
       
  1391             }
       
  1392         
       
  1393         iPubFilesParams = aTask.iPubFilesParams->CopyL();
       
  1394         }
       
  1395     else if ( iMethod == EListDataOwners )
       
  1396         {
       
  1397         if ( iListDataOwnersParams )
       
  1398             {
       
  1399             delete iListDataOwnersParams;
       
  1400             iListDataOwnersParams = NULL;
       
  1401             }
       
  1402         
       
  1403         iListDataOwnersParams = aTask.iListDataOwnersParams->CopyL();
       
  1404         }
       
  1405     else if ( iMethod == EGetDataSize )
       
  1406         {
       
  1407         if ( iGetDataSizeParams )
       
  1408             {
       
  1409             delete iGetDataSizeParams;
       
  1410             iGetDataSizeParams = NULL;
       
  1411             }
       
  1412         
       
  1413         iGetDataSizeParams = aTask.iGetDataSizeParams->CopyL();
       
  1414         }
       
  1415     else if ( iMethod == EReboot )
       
  1416         {
       
  1417         if ( iRebootParams )
       
  1418             {
       
  1419             delete iRebootParams;
       
  1420             iRebootParams = NULL;
       
  1421             }
       
  1422         }
       
  1423     else if ( iMethod == ERequestData )
       
  1424         {
       
  1425         if ( iRequestDataParams )
       
  1426             {
       
  1427             delete iRequestDataParams;
       
  1428             iRequestDataParams = NULL;
       
  1429             }
       
  1430         
       
  1431         iRequestDataParams = aTask.iRequestDataParams->CopyL();
       
  1432         }
       
  1433     else if ( iMethod == EGetDataOwnerStatus )
       
  1434         {
       
  1435         if ( iGetDataOwnerParams )
       
  1436             {
       
  1437             delete iGetDataOwnerParams;
       
  1438             iGetDataOwnerParams = NULL;
       
  1439             }
       
  1440             
       
  1441         iGetDataOwnerParams = aTask.iGetDataOwnerParams->CopyL();
       
  1442         }
       
  1443     else if ( iMethod == ESupplyData )
       
  1444         {
       
  1445         if ( iSupplyDataParams )
       
  1446             {
       
  1447             delete iSupplyDataParams;
       
  1448             iSupplyDataParams = NULL;
       
  1449             }
       
  1450         
       
  1451         iSupplyDataParams = aTask.iSupplyDataParams->CopyL();
       
  1452         }
       
  1453     else if ( iMethod == EGetMetadata )
       
  1454         {
       
  1455         if ( iGetMetadataParams )
       
  1456             {
       
  1457             delete iGetMetadataParams;
       
  1458             iGetMetadataParams = NULL;
       
  1459             }
       
  1460         
       
  1461         iGetMetadataParams = aTask.iGetMetadataParams->CopyL();
       
  1462         }
       
  1463     }
       
  1464  
       
  1465 // -----------------------------------------------------------------------------
       
  1466 // CSConTaskReply::Initialize( TSConMethodName aMethod, 
       
  1467 //              TInt aProgress, TBool aComplete )
       
  1468 // 
       
  1469 // -----------------------------------------------------------------------------
       
  1470 //              
       
  1471 void CSConTaskReply::InitializeL( TSConMethodName aMethod, 
       
  1472                 TInt aProgress, TBool aComplete )
       
  1473     {
       
  1474     iMethod = aMethod;
       
  1475     if ( aMethod == EUpdateDeviceInfo )
       
  1476         {
       
  1477         if ( !iDevInfoParams )
       
  1478             {
       
  1479             iDevInfoParams = new (ELeave) CSConUpdateDeviceInfo();
       
  1480             }
       
  1481             
       
  1482         iDevInfoParams->iComplete = aComplete;
       
  1483         iDevInfoParams->iProgress = aProgress;
       
  1484         }
       
  1485     else if ( aMethod == EReboot )
       
  1486         {
       
  1487         if ( !iRebootParams )
       
  1488             {
       
  1489             iRebootParams = new (ELeave) CSConReboot();
       
  1490             }
       
  1491             
       
  1492         iRebootParams->iComplete = aComplete;
       
  1493         iRebootParams->iProgress = aProgress;
       
  1494         }
       
  1495     else if ( aMethod == EGetMetadata )
       
  1496         {
       
  1497         if ( !iGetMetadataParams )
       
  1498             {
       
  1499             iGetMetadataParams = new (ELeave) CSConGetMetadata();
       
  1500             }
       
  1501             
       
  1502         iGetMetadataParams->iComplete = aComplete;
       
  1503         iGetMetadataParams->iProgress = aProgress;
       
  1504         }
       
  1505     }
       
  1506 
       
  1507 // -----------------------------------------------------------------------------
       
  1508 // CSConTaskReply::CopyAndFree()
       
  1509 // 
       
  1510 // -----------------------------------------------------------------------------
       
  1511 // 
       
  1512 CSConTaskReply* CSConTaskReply::CopyAndFreeL()  
       
  1513     {
       
  1514     CSConTaskReply* copy = new (ELeave) CSConTaskReply();
       
  1515     copy->iTaskId = iTaskId;
       
  1516     copy->iMethod = iMethod;
       
  1517     
       
  1518     if ( iDevInfoParams )
       
  1519         {
       
  1520         copy->iDevInfoParams = iDevInfoParams->CopyL();
       
  1521         
       
  1522         //free allocated memory
       
  1523         delete iDevInfoParams;
       
  1524         iDevInfoParams = NULL;
       
  1525         }
       
  1526     if ( iListAppsParams )
       
  1527         {
       
  1528         copy->iListAppsParams = iListAppsParams->CopyL();
       
  1529         
       
  1530         //free allocated memory
       
  1531         delete iListAppsParams;
       
  1532         iListAppsParams = NULL;
       
  1533         }
       
  1534     if ( iInstallParams )
       
  1535         {
       
  1536         copy->iInstallParams = iInstallParams->CopyL();
       
  1537         
       
  1538         //free allocated memory
       
  1539         delete iInstallParams;
       
  1540         iInstallParams = NULL;
       
  1541         }
       
  1542     if ( iUninstallParams )
       
  1543         {
       
  1544         copy->iUninstallParams = iUninstallParams->CopyL();
       
  1545         
       
  1546         //free allocated memory
       
  1547         delete iUninstallParams;
       
  1548         iUninstallParams = NULL;
       
  1549         }
       
  1550     if ( iBURModeParams )
       
  1551         {
       
  1552         copy->iBURModeParams = iBURModeParams->CopyL();
       
  1553         
       
  1554         //free allocated memory
       
  1555         delete iBURModeParams;
       
  1556         iBURModeParams = NULL;
       
  1557         }
       
  1558     if ( iGetDataSizeParams )
       
  1559         {
       
  1560         copy->iGetDataSizeParams = iGetDataSizeParams->CopyL();
       
  1561         
       
  1562         //free allocated memory
       
  1563         delete iGetDataSizeParams;
       
  1564         iGetDataSizeParams = NULL;
       
  1565         }
       
  1566     if ( iRequestDataParams )
       
  1567         {
       
  1568         copy->iRequestDataParams = iRequestDataParams->CopyL();
       
  1569         
       
  1570         //free allocated memory
       
  1571         delete iRequestDataParams;
       
  1572         iRequestDataParams = NULL;
       
  1573         }
       
  1574     if ( iGetDataOwnerParams )
       
  1575         {
       
  1576         copy->iGetDataOwnerParams = iGetDataOwnerParams->CopyL();
       
  1577         
       
  1578         //free allocated memory
       
  1579         delete iGetDataOwnerParams;
       
  1580         iGetDataOwnerParams = NULL;
       
  1581         }
       
  1582     if ( iSupplyDataParams )
       
  1583         {
       
  1584         copy->iSupplyDataParams = iSupplyDataParams->CopyL();
       
  1585         
       
  1586         //free allocated memory
       
  1587         delete iSupplyDataParams;
       
  1588         iSupplyDataParams = NULL;
       
  1589         }
       
  1590     if ( iPubFilesParams )
       
  1591         {
       
  1592         copy->iPubFilesParams = iPubFilesParams->CopyL();
       
  1593         
       
  1594         //free allocated memory
       
  1595         delete iPubFilesParams;
       
  1596         iPubFilesParams = NULL;
       
  1597         }
       
  1598     if ( iListDataOwnersParams )
       
  1599         {
       
  1600         copy->iListDataOwnersParams = iListDataOwnersParams->CopyL();
       
  1601         
       
  1602         //free allocated memory
       
  1603         delete iListDataOwnersParams;
       
  1604         iListDataOwnersParams = NULL;
       
  1605         }
       
  1606     if ( iRebootParams )
       
  1607         {
       
  1608         copy->iRebootParams = iRebootParams->CopyL();
       
  1609         
       
  1610         //free allocated memory
       
  1611         delete iRebootParams;
       
  1612         iRebootParams = NULL;
       
  1613         }
       
  1614     if ( iGetMetadataParams )
       
  1615         {
       
  1616         copy->iGetMetadataParams = iGetMetadataParams->CopyL();
       
  1617         
       
  1618         //free allocated memory
       
  1619         delete iGetMetadataParams;
       
  1620         iGetMetadataParams = NULL;
       
  1621         }
       
  1622     
       
  1623     return copy;
       
  1624     }
       
  1625 
       
  1626 // -----------------------------------------------------------------------------
       
  1627 // CSConTaskReply::CleanTaskData()
       
  1628 // 
       
  1629 // -----------------------------------------------------------------------------
       
  1630 // 
       
  1631 void CSConTaskReply::CleanTaskData()
       
  1632     {
       
  1633     switch( iMethod )   
       
  1634         {
       
  1635         case EGetDataSize :
       
  1636             if ( iGetDataSizeParams )
       
  1637                 {
       
  1638                 this->iGetDataSizeParams->DeleteDataOwners();
       
  1639                 }
       
  1640             break;
       
  1641         case EGetDataOwnerStatus :
       
  1642             if ( iGetDataOwnerParams )
       
  1643                 {
       
  1644                 this->iGetDataOwnerParams->DeleteDataOwners();
       
  1645                 }
       
  1646             break;
       
  1647         case EListDataOwners :
       
  1648             if ( iListDataOwnersParams )
       
  1649                 {
       
  1650                 this->iListDataOwnersParams->DeleteDataOwners();
       
  1651                 }
       
  1652             break;
       
  1653         case ERequestData :
       
  1654             if ( iRequestDataParams )
       
  1655                 {
       
  1656                 this->iRequestDataParams->DeleteDataAndDataOwner();
       
  1657                 }
       
  1658             break;
       
  1659         default :
       
  1660             break;
       
  1661         }
       
  1662     }
       
  1663     
       
  1664 // -----------------------------------------------------------------------------
       
  1665 // CSConStatusReply::CSConStatusReply()
       
  1666 // 
       
  1667 // -----------------------------------------------------------------------------
       
  1668 // 
       
  1669 CSConStatusReply::CSConStatusReply() : iNoTasks( EFalse )
       
  1670     {
       
  1671     }
       
  1672    
       
  1673 // -----------------------------------------------------------------------------
       
  1674 // CSConStatusReply::~CSConStatusReply()
       
  1675 // 
       
  1676 // -----------------------------------------------------------------------------
       
  1677 //      
       
  1678 CSConStatusReply::~CSConStatusReply() 
       
  1679     {
       
  1680     iTasks.ResetAndDestroy();
       
  1681     iTasks.Close();
       
  1682     };
       
  1683 
       
  1684 // End of file