fotaapplication/FotaEngine/SRC/fotaengine.cpp
branchRCL_3
changeset 26 19bba8228ff0
parent 25 b183ec05bd8c
child 27 5cc2995847ea
--- a/fotaapplication/FotaEngine/SRC/fotaengine.cpp	Tue Aug 31 16:04:06 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,416 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Client for fotaserver
-*
-*/
-
-
-// INCLUDES
-#include <bldvariant.hrh>
-#include <fotaengine.h>
-#include "FotaIPCTypes.h"
-#include "fotaConst.h"
-#include "fotaenginedebug.h"
-#include <apgcli.h>
-
-       
-
-// =================== LOCAL FUNCTIONS ========================================
-
-
-// ---------------------------------------------------------------------------
-// StartServerL()  
-//  Starts Fota Downlaod Interrupt Monitory server
-// ---------------------------------------------------------------------------
-TInt StartServerL()
-    {
-    FLOG(_L("StartServerLt Started"));
-    TInt res = KErrNone;
-    
-    RProcess server;
-    RSemaphore sem;
-    res = sem.CreateGlobal(KFotaServerScem, EOwnerProcess);
-
-    res=server.Create(KFotaServerName,KNullDesC);
-    FLOG(_L("StartServerL-- create server error as %d"),res);
-    if (res!=KErrNone)
-        {       
-        return res;
-        }
-
-    server.Resume();    // logon OK - start the server
-    
-    sem.Wait();
-    sem.Close();
-    server.Close();
-    
-    FLOG(_L("StartServerL-- server.ExitType() returns %d"),res);
-
-    return res;
-    }
-
-/**
- * Connects to the  server using 4 message slots.
- */
-TBool RFotaEngineSession::connectToHbServer()
-{
-    FLOG(_L("RFotaEngineSession::connectToHbServer >>"));
-
-    TInt error = CreateSession(KFotaServerName,TVersion(1,0,0),2);
-
-    if (KErrNone != error) {
-        FLOG(_L("RFotaEngineSession::Error: %d"), error);
-    }
-    FLOG(_L("RFotaEngineSession::connectToHbServer <<"));
-    return (KErrNone == error); 
-}
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::OpenL( )
-// Opens session to fotaserver. 
-// ---------------------------------------------------------------------------
-EXPORT_C void RFotaEngineSession::OpenL( )
-{
-    RProcess pr; TFullName fn = pr.FullName(); 
-
-    TInt res = KErrNone;
-    FLOG(_L("[RFotaEngineSession] OpenL\tcalled by '%S' >>"),&fn );
-    
-    res = connectToHbServer();
-    if(!res)
-        {
-    FLOG(_L("Creation of session failed with error: %d; starting the server now..."), res);
-        res = StartServerL();
-        
-        FLOG(_L("Starting of the server, error = %d"), res);
-        User::LeaveIfError( res );
-
-        res = CreateSession( KFotaServerName,TVersion(1,0,0),2 );
-        FLOG(_L("Creation of session,  error: %d; "), res);
-        User::LeaveIfError (res);
-    
-        }
-    
-    FLOG(_L("[RFotaEngineSession]\tconnected <<") );
-}
-
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::Close( )
-// Closes session to fotaserver
-// ---------------------------------------------------------------------------
-EXPORT_C void RFotaEngineSession::Close( )
-{
-    RProcess pr; TFullName fn = pr.FullName(); 
-    FLOG(_L("[RFotaEngineSession] RFotaEngineSession::Close() >> called by '%S'"),&fn );
-        
-    // Tell server that generic alert is sent for this pkg, so state is 
-    // cleaned up     
-    FLOG(_L("iGenericAlertSentPkgID = %d"), iGenericAlertSentPkgID);
-    if ( iGenericAlertSentPkgID != -1 )
-        {
-        TInt err = SendReceive( EGenericAlertSentForPackage
-                                    , TIpcArgs(iGenericAlertSentPkgID) );
-        }
-
-    RSessionBase::Close();
-    FLOG(_L("[RFotaEngineSession] RFotaEngineSession::Close() <<") );
-}
-
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::Download
-// Starts download of upd package.
-// ---------------------------------------------------------------------------
-EXPORT_C TInt RFotaEngineSession::Download(const TInt aPkgId
-    , const TDesC8& aPkgURL, const TSmlProfileId aProfileId
-    , const TDesC8& aPkgName, const TDesC8& aPkgVersion, TBool aSilent)
-{
-    TInt err;
-    TDownloadIPCParams          ipcparam;
-    ipcparam.iPkgId             = aPkgId;
-    ipcparam.iProfileId         = aProfileId;
-    ipcparam.iPkgName.Copy      (aPkgName);
-    ipcparam.iPkgVersion.Copy   (aPkgVersion);
-    TPckg<TDownloadIPCParams>   pkg(ipcparam);
-    err = SendReceive ( EFotaDownload ,  TIpcArgs(&pkg, &aPkgURL, aSilent));
-    return err;
-}
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::DownloadAndUpdate
-// Starts download and update of update pakcage
-// ---------------------------------------------------------------------------
-EXPORT_C TInt RFotaEngineSession::DownloadAndUpdate(const TInt aPkgId
-        ,const TDesC8& aPkgURL, const TSmlProfileId aProfileId
-        ,const TDesC8& aPkgName, const TDesC8& aPkgVersion, TBool aSilent)
-{
-    TInt err;
-    TDownloadIPCParams          ipcparam;
-    ipcparam.iPkgId             = aPkgId;
-    ipcparam.iProfileId         = aProfileId;
-    ipcparam.iPkgName.Copy      (aPkgName);
-    ipcparam.iPkgVersion.Copy   (aPkgVersion);
-    TPckg<TDownloadIPCParams>   pkg(ipcparam);
-    err = SendReceive( EFotaDownloadAndUpdate,  TIpcArgs(&pkg, &aPkgURL, aSilent));
-    return err;
-}
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::Update
-// Starts update of update package
-// ---------------------------------------------------------------------------
-EXPORT_C TInt RFotaEngineSession::Update(const TInt aPkgId
-        ,const TSmlProfileId aProfileId, const TDesC8& aPkgName
-        ,const TDesC8& aPkgVersion)
-{
-    TInt err;
-    TDownloadIPCParams          ipcparam;
-    ipcparam.iPkgId             = aPkgId;
-    ipcparam.iProfileId         = aProfileId;
-    ipcparam.iPkgName.Copy      (aPkgName);
-    ipcparam.iPkgVersion.Copy   (aPkgVersion);
-    TPckg<TDownloadIPCParams>   pkg(ipcparam);
-    err = SendReceive ( EFotaUpdate ,  TIpcArgs(&pkg));
-    return err;
-}
-
-// --------------------------------------------------------------------------
-// RFotaEngineSession::PauseDownload
-// To pause the download
-// ---------------------------------------------------------------------------
-EXPORT_C TInt RFotaEngineSession::PauseDownload ( )
-    {
-    TInt err(KErrNotSupported);
-
-    err = SendReceive( EPauseDownload );
-
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::TryResumeDownload
-// Requests to resume the suspended download of the update package. 
-// Implementation is not ready and will be provided later.
-// ---------------------------------------------------------------------------
-EXPORT_C TInt RFotaEngineSession::TryResumeDownload(TBool aSilent)
-	{
-	FLOG(_L("RFotaEngineSession::TryResumeDownload >>"));
-
-	TInt err = KErrNone;
-	
-	err = SendReceive( EFotaTryResumeDownload, TIpcArgs( aSilent) );
-	
-	FLOG(_L("RFotaEngineSession::TryResumeDownload << err = %d" ),err);
-	return err;
-	}
-
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::GetState
-// ---------------------------------------------------------------------------
-EXPORT_C RFotaEngineSession::TState RFotaEngineSession::GetState(
-                                                         const TInt aPkgId)
-    {
-    FLOG(_L("RFotaEngineSession::GetState >>"));
-
-    RFotaEngineSession::TState          state;
-    TPckg<RFotaEngineSession::TState>   pkgstate(state);
-    SendReceive ( EGetState , TIpcArgs(aPkgId, &pkgstate));
-    FLOG(_L("RFotaEngineSession::GetState <<"));
-
-    return state;
-    }
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::GetResult    
-// ---------------------------------------------------------------------------
-EXPORT_C TInt RFotaEngineSession::GetResult(const TInt aPkgId)
-    {
-    FLOG(_L("RFotaEngineSession::GetResult"));
-    TInt            result;
-    TPckg<TInt>     pkgresult(result);
-    SendReceive ( EGetResult , TIpcArgs(aPkgId, &pkgresult));
-    return result;
-    }
-
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::DeleteUpdatePackage
-// ---------------------------------------------------------------------------
-EXPORT_C TInt RFotaEngineSession::DeleteUpdatePackage(const TInt aPkgId)
-{
-    TInt err = SendReceive(EDeletePackage, TIpcArgs(aPkgId) );
-    return err;
-}
-
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::LastUpdate
-// ---------------------------------------------------------------------------
-EXPORT_C TInt RFotaEngineSession::LastUpdate(TTime& aUpdates)
-    {
-    TInt err;
-    FLOG(_L("RFotaEngineSession::LastUpdate >>"));
-    TBuf<15>                    timestamp;
-    err = SendReceive ( EGetUpdateTimestamp, TIpcArgs(&timestamp) );
-
-    if ( timestamp.Length() > 0 )
-        {
-        TInt year   = timestamp[0];
-        TInt month  = timestamp[1];
-        TInt day    = timestamp[2];
-        TInt hour   = timestamp[3];
-        TInt minute = timestamp[4];
-        aUpdates = TDateTime (year,(TMonth)month,day,hour,minute,0,0 );
-        }
-    else
-        {
-        aUpdates.Set( _L( "19900327:101010.000000" ) ); 
-        err = KErrUnknown;
-        }
-    FLOG(_L("RFotaEngineSession::LastUpdate <<"));
-    return err;
-    }
-
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::CurrentVersion
-// ---------------------------------------------------------------------------
-EXPORT_C TInt RFotaEngineSession::CurrentVersion(TDes& aSWVersion)
-    {
-    aSWVersion.Copy(_L("1.0"));  
-    return KErrNone;
-    }
-
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::RFotaEngineSession
-// ---------------------------------------------------------------------------
-EXPORT_C RFotaEngineSession::RFotaEngineSession() : iGenericAlertSentPkgID(-1)
-    {
-    FLOG(_L("RFotaEngineSession::RFotaEngineSession() >>"));
-    FLOG(_L("RFotaEngineSession::RFotaEngineSession() <<"));
-    }
-
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::GetUpdatePackageIds
-// Gets ids of the update packages present in the system.
-// ---------------------------------------------------------------------------
-EXPORT_C TInt RFotaEngineSession::GetUpdatePackageIds(TDes16& aPackageIdList)
-    {
-    TInt err;
-    FLOG(_L("RFotaEngineSession::GetUpdatePackageIds >>"));
-    TBuf<10> b; b.Copy(_L("dkkd"));
-    TPkgIdList                  pkgids;
-    TPckg<TPkgIdList>           pkgids_pkg(pkgids);
-    TIpcArgs                    args ( &pkgids_pkg);
-    err = SendReceive ( EGetUpdatePackageIds, args);
-    aPackageIdList.Copy(pkgids);
-    FLOG(_L("RFotaEngineSession::GetUpdatePackageIds <<"));
-    return err;
-    }
-
-
-EXPORT_C TVersion RFotaEngineSession::Version() const
-    {
-    TVersion version (1,0,0);
-      
-    return version;
-    }
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::GenericAlertSentL
-// marks genereic alert being sent
-// ---------------------------------------------------------------------------
-EXPORT_C void RFotaEngineSession::GenericAlertSentL ( const TInt aPackageID )
-    {
-    FLOG(_L("RFotaEngineSession::GenericAlertSentL, aPackageID = %d >>"),aPackageID);
-    iGenericAlertSentPkgID = aPackageID;
-    FLOG(_L("RFotaEngineSession::GenericAlertSentL, iGenericAlertSentPkgID = %d <<"), iGenericAlertSentPkgID);
-    }
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::ScheduledUpdateL
-// Update fw
-// ---------------------------------------------------------------------------
-EXPORT_C TInt RFotaEngineSession::ScheduledUpdateL ( const TFotaScheduledUpdate aSchedule )
-    {
-  	TInt err(KErrNotSupported);
-
-    TPckg<TFotaScheduledUpdate> p(aSchedule);
-    err = SendReceive( EScheduledUpdate, TIpcArgs(&p) );
-
-    return err;
-    }
-
-EXPORT_C void RFotaEngineSession::GetCurrentFirmwareDetailsL(TDes8& aName, TDes8& aVersion, TInt& aSize)
-    {
-    FLOG(_L("RFotaEngineSession::GetCurrentFirmwareDetailsL >>"));
-    
-    TPckg<TInt>     pkgsize(aSize);
-    
-    __ASSERT_ALWAYS(aName.MaxLength() >= KFotaMaxPkgNameLength, User::Leave(KErrArgument) );
-    __ASSERT_ALWAYS(aName.MaxLength() >= KFotaMaxPkgVersionLength, User::Leave(KErrArgument) );
-    
-    TInt err = SendReceive(EGetCurrFwDetails, TIpcArgs(&aName, &aVersion, &pkgsize));
-    
-    FLOG(_L("RFotaEngineSession::GetCurrentFirmwareDetailsL, err = %d <<"), err);
-    User::LeaveIfError(err);
-    }
-
-// ---------------------------------------------------------------------------
-// RFotaEngineSession::ServiceUid
-// Apparc asks which session class to create in server side
-// ---------------------------------------------------------------------------
-TUid RFotaEngineSession::ServiceUid() const
-	{
-    RProcess pr; TFullName fn = pr.FullName(); 
-    FLOG(_L( "RFotaEngineSession::ServiceUid() >> called by: %S" ), &fn );
-    FLOG(_L( "RFotaEngineSession::ServiceUid() << ret: 0x%X" ),
-                                            KFotaServiceUid );
-	return TUid::Uid( KFotaServiceUid );
-	}
-	
-/*
- * The following exported functions are not supported in SF4
- * They would be removed once stakeholder remove dependency with them.
- * Polonium CR: 530
- */ 
-	
-EXPORT_C TBool RFotaEngineSession::IsPackageStoreSizeAvailable(
-        const TInt aSize)
-    {
-    return EFalse;
-    }
-
-EXPORT_C TInt RFotaEngineSession::OpenUpdatePackageStore(const TInt aPkgId,
-        RWriteStream*& aPkgStore)
-    {
-    return KErrNotSupported;
-    }
-
-EXPORT_C TInt RFotaEngineSession::GetDownloadUpdatePackageSize(
-        const TInt aPkgId, TInt& aDownloadedSize, TInt& aTotalSize)
-    {
-    return KErrNotSupported;
-    }
-
-EXPORT_C void RFotaEngineSession::UpdatePackageDownloadComplete(
-        const TInt aPkgId)
-    {
-    
-    }
-