diff -r 7333d7932ef7 -r 8b7f4e561641 installationservices/refswinstallationplugin/inc/sifrefplugin.h --- a/installationservices/refswinstallationplugin/inc/sifrefplugin.h Tue Aug 31 15:21:33 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,140 +0,0 @@ -/* -* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "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: -* This file defines a SIF plug-in for the Reference Installer. -* -*/ - - -/** - @file - @internalComponent - exampleCode -*/ - -#ifndef SIFREFPLUGIN_H -#define SIFREFPLUGIN_H - -#include -#include -#include -#include "sifrefinstallerclient.h" - -namespace Usif - { - /** - An active object used by the CSifRefPlugin class to submit asynchronous requests. - - ECOM objects and CActive do not interact well - especially since SIFPlugin inherits - from CBase and double C-inheritance is impossible. So, a separate class is used to drive - asynchronous software management requests. - */ - NONSHARABLE_CLASS(CSifRefPluginActiveImpl) : public CActive - { - public: - static CSifRefPluginActiveImpl* NewL(); - ~CSifRefPluginActiveImpl(); - - /* CActive interface */ - void RunL(); - void DoCancel(); - - /* CSifPlugin interface */ - void GetComponentInfo(const TDesC& aFileName, const TSecurityContext& aSecurityContext, - CComponentInfo& aComponentInfo, TRequestStatus& aStatus); - - void GetComponentInfo(RFile& aFileHandle, const TSecurityContext& aSecurityContext, - CComponentInfo& aComponentInfo, TRequestStatus& aStatus); - - void Install(const TDesC& aFileName, const TSecurityContext& aSecurityContext, - const COpaqueNamedParams& aInputParams, COpaqueNamedParams& aOutputParams, - TRequestStatus& aStatus); - - void Install(RFile& aFileHandle, const TSecurityContext& aSecurityContext, - const COpaqueNamedParams& aInputParams, COpaqueNamedParams& aOutputParams, - TRequestStatus& aStatus); - - void Uninstall(TComponentId aComponentId, const TSecurityContext& aSecurityContext, - const COpaqueNamedParams& aInputParams, COpaqueNamedParams& aOutputParams, - TRequestStatus& aStatus); - - void Activate(TComponentId aComponentId, const TSecurityContext& aSecurityContext, - TRequestStatus& aStatus); - - void Deactivate(TComponentId aComponentId, const TSecurityContext& aSecurityContext, - TRequestStatus& aStatus); - - private: - CSifRefPluginActiveImpl() : CActive(EPriorityStandard) {} - CSifRefPluginActiveImpl(const CSifRefPluginActiveImpl&); - CSifRefPluginActiveImpl& operator =(const CSifRefPluginActiveImpl&); - void ConstructL(); - TBool CommonRequestPreamble(const TSecurityContext& aSecurityContext, const COpaqueNamedParams& aInputParams, - COpaqueNamedParams& aOutputParams, TRequestStatus& aStatus); - private: - RSifRefInstallerClient iTransporter; - TRequestStatus* iClientStatus; - const COpaqueNamedParams* iInputParams; - COpaqueNamedParams* iOutputParams; - }; - - /* - An implementation of the CSifPlugin interface for the Reference Installer. - - The SIF Server loads and uses this plug-in when the MIME type of a package is 'binary/sif-refpkg'. - */ - NONSHARABLE_CLASS(CSifRefPlugin) : public CSifPlugin - { - public: - static CSifRefPlugin* NewL(); - ~CSifRefPlugin(); - - /* CSifPlugin interface */ - void GetComponentInfo(const TDesC& aFileName, const TSecurityContext& aSecurityContext, - CComponentInfo& aComponentInfo, TRequestStatus& aStatus); - - void GetComponentInfo(RFile& aFileHandle, const TSecurityContext& aSecurityContext, - CComponentInfo& aComponentInfo, TRequestStatus& aStatus); - - void Install(const TDesC& aFileName, const TSecurityContext& aSecurityContext, - const COpaqueNamedParams& aInputParams, COpaqueNamedParams& aOutputParams, - TRequestStatus& aStatus); - - void Install(RFile& aFileHandle, const TSecurityContext& aSecurityContext, - const COpaqueNamedParams& aInputParams, COpaqueNamedParams& aOutputParams, - TRequestStatus& aStatus); - - virtual void Uninstall(TComponentId aComponentId, const TSecurityContext& aSecurityContext, - const COpaqueNamedParams& aInputParams, COpaqueNamedParams& aOutputParams, - TRequestStatus& aStatus); - - virtual void Activate(TComponentId aComponentId, const TSecurityContext& aSecurityContext, - TRequestStatus& aStatus); - - virtual void Deactivate(TComponentId aComponentId, const TSecurityContext& aSecurityContext, - TRequestStatus& aStatus); - - void CancelOperation(); - - private: - CSifRefPlugin() {} - void ConstructL(); - CSifRefPlugin(const CSifRefPlugin &); - CSifRefPlugin& operator =(const CSifRefPlugin &); - - CSifRefPluginActiveImpl *iImpl; - }; - } // end namespace Usif - -#endif // SIFREFPLUGIN_H