--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fotaapplication/fotaserver/FotaRfsPlugin/src/RfsFotaPlugin.cpp Thu Dec 17 09:07:52 2009 +0200
@@ -0,0 +1,181 @@
+/*
+* Copyright (c) 2005-2006 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: Implementation of fotaserver component
+* This is part of fotaapplication.
+*
+*/
+
+
+
+// INCLUDE FILES
+#include "RfsFotaPlugin.h"
+#include "fotadebug.h"
+
+_LIT(KScriptPath, "");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------------------------
+// constructor
+// ---------------------------------------------------------------------------
+//
+CRfsFotaPlugin::CRfsFotaPlugin()
+ {
+ FLOG(_L("CRfsFotaPlugin::CRfsFotaPlugin()"));
+ }
+
+// ---------------------------------------------------------------------------
+// constructor
+// ---------------------------------------------------------------------------
+//
+CRfsFotaPlugin::CRfsFotaPlugin(TAny* /*aInitParams*/)
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// destructor
+// ---------------------------------------------------------------------------
+//
+CRfsFotaPlugin::~CRfsFotaPlugin()
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// CRfsFotaPlugin::NewL
+// ---------------------------------------------------------------------------
+//
+CRfsFotaPlugin* CRfsFotaPlugin::NewL(TAny* aInitParams)
+ {
+ FLOG(_L("CRfsFotaPlugin::NewL()"));
+ CRfsFotaPlugin* self = new (ELeave) CRfsFotaPlugin(aInitParams);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop();
+ return self;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CRfsFotaPlugin::ConstructL
+// ---------------------------------------------------------------------------
+//
+void CRfsFotaPlugin::ConstructL()
+ {
+ FLOG(_L("CRfsFotaPlugin::ConstructL()"));
+ }
+
+
+// ---------------------------------------------------------------------------
+// CRfsFotaPlugin::RestoreFactorySettingsL
+// Handle rfs. Must reserve disk space to keep user from filling it.
+// ---------------------------------------------------------------------------
+//
+void CRfsFotaPlugin::RestoreFactorySettingsL( const TRfsReason aType )
+ {
+ FLOG(_L("CRfsFotaPlugin::RestoreFactorySettingsL(%d)"), aType);
+
+ if ( aType == ENormalRfs )
+ {
+ FLOG(_L(" ERROR - NORMAL RFS (Only FirstBoot RFS is ordered) "));
+ }
+ if ( aType == EDeepRfs )
+ {
+ FLOG(_L(" ERROR - DEEP RFS (Only FirstBoot RFS is ordered) "));
+ }
+
+ LoadStoragePluginL ();
+ iStorage->AdjustDummyStorageL () ;
+
+ UnLoadStoragePluginL();
+ }
+
+
+// ---------------------------------------------------------------------------
+// CRfsFotaPlugin::GetScriptL
+// ---------------------------------------------------------------------------
+//
+void CRfsFotaPlugin::GetScriptL( const TRfsReason /*aType*/, TDes& aPath )
+ {
+ FLOG(_L("CRfsFotaPlugin::GetScriptL"));
+ aPath.Copy( KScriptPath);
+ }
+
+
+// ---------------------------------------------------------------------------
+// CRfsFotaPlugin::ExecuteCustomCommandL
+// ---------------------------------------------------------------------------
+void CRfsFotaPlugin::ExecuteCustomCommandL( const TRfsReason /*aType*/,
+ TDesC& /*aCommand*/ )
+ {
+ FLOG(_L("CRfsFotaPlugin::ExecuteCustomCommandL"));
+ }
+
+
+// ---------------------------------------------------------------------------
+// CRfsFotaPlugin::LoadStoragePluginL
+// Load update storage plugin via ecom framework.
+// ---------------------------------------------------------------------------
+//
+void CRfsFotaPlugin::LoadStoragePluginL ()
+ {
+ FLOG(_L("CRfsFotaPlugin::LoadStoragePluginL"));
+ if(iStorage)
+ {
+ UnLoadStoragePluginL ();
+ }
+ TUid if_uid;
+ if_uid.iUid = (0x10207384);
+ RImplInfoPtrArray pluginArray;
+ REComSession::ListImplementationsL( if_uid, pluginArray );
+ CleanupClosePushL (pluginArray);
+
+ if( pluginArray.Count() )
+ {
+ for( TInt i = 0; i < pluginArray.Count(); i++ )
+ {
+ CImplementationInformation* info = pluginArray[ i ];
+ TUid id = info->ImplementationUid();
+ delete info;
+ info = NULL;
+ iStorage =(CFotaStorage*) REComSession::CreateImplementationL(
+ id , iStorageDtorKey);
+ }
+ }
+ else
+ {
+ FLOG(_L(" storage plugin not found, ERROR"));
+ User::Leave ( KErrNotFound );
+ }
+ CleanupStack::PopAndDestroy(1); // array
+ }
+
+
+// ---------------------------------------------------------------------------
+// CRfsFotaPlugin::UnLoadStoragePluginL
+// Unloads storage plugin
+// ---------------------------------------------------------------------------
+//
+void CRfsFotaPlugin::UnLoadStoragePluginL ()
+ {
+ FLOG(_L("CRfsFotaPlugin::UnLoadStoragePluginL"));
+ if(iStorage != NULL)
+ {
+ delete iStorage;
+ iStorage=0;
+ }
+ REComSession::DestroyedImplementation(iStorageDtorKey); // sets reference count of plugin to 0
+ REComSession::FinalClose();
+ }
+
+// End of file