diff -r 7333d7932ef7 -r 8b7f4e561641 installationservices/swinstallationfw/examples/refnativeplugin/source/refnativeplugin.h --- a/installationservices/swinstallationfw/examples/refnativeplugin/source/refnativeplugin.h Tue Aug 31 15:21:33 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,173 +0,0 @@ -/* -* Copyright (c) 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 class implements a test SIF plugin for native software -* -*/ - - -/** - @file - @internalComponent -*/ - -#ifndef REFNATIVEPLUGIN_H -#define REFNATIVEPLUGIN_H - -#include -#include -#include -#include -#include - -namespace Swi -{ - class CAsyncLauncher; - class CInstallPrefs; -} - -namespace Usif - { - - _LIT(KDeclineOperationOptionName, "SwiDeclineOperation"); - // 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 the asynchronous interaction - // to the CAsyncLauncher - NONSHARABLE_CLASS(CRefNativePluginActiveImpl) : public CActive, public Swi::MUiHandler - { - public: - static CRefNativePluginActiveImpl* NewL(); - ~CRefNativePluginActiveImpl(); - - // CActive interface - void RunL(); - void DoCancel(); - - 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 GetComponentInfo(const TDesC& aFileName, CComponentInfo& aComponentInfo, TRequestStatus& aStatus); - - void GetComponentInfo(RFile& aFileHandle, CComponentInfo& aComponentInfo, 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); - - // Swi::MUiHandler interface - TInt DisplayLanguageL(const Swi::CAppInfo& aAppInfo,const RArray& aLanguages); - TInt DisplayDriveL(const Swi::CAppInfo& aAppInfo,TInt64 aSize, const RArray& aDriveLetters,const RArray& aDriveSpaces); - TBool DisplayUninstallL(const Swi::CAppInfo& aAppInfo); - TBool DisplayTextL(const Swi::CAppInfo& aAppInfo,Swi::TFileTextOption aOption,const TDesC& aText); - TBool DisplayDependencyBreakL(const Swi::CAppInfo& aAppInfo, const RPointerArray& aComponents); - TBool DisplayApplicationsInUseL(const Swi::CAppInfo& aAppInfo, const RPointerArray& aAppNames); - TBool DisplayQuestionL(const Swi::CAppInfo& aAppInfo, Swi::TQuestionDialog aQuestion, const TDesC& aDes); - TBool DisplayInstallL(const Swi::CAppInfo& aAppInfo,const CApaMaskedBitmap* aLogo, const RPointerArray& aCertificates); - TBool DisplayGrantCapabilitiesL(const Swi::CAppInfo& aAppInfo, const TCapabilitySet& aCapabilitySet); - TBool DisplayUpgradeL(const Swi::CAppInfo& aAppInfo, const Swi::CAppInfo& aExistingAppInfo); - TBool DisplayOptionsL(const Swi::CAppInfo& aAppInfo, const RPointerArray& aOptions,RArray& aSelections); - TBool DisplaySecurityWarningL(const Swi::CAppInfo& aAppInfo, Swi::TSignatureValidationResult aSigValidationResult, - RPointerArray& aPkixResults, RPointerArray& aCertificates,TBool aInstallAnyway); - TBool DisplayOcspResultL(const Swi::CAppInfo& aAppInfo, Swi::TRevocationDialogMessage aMessage,RPointerArray& aOutcomes, - RPointerArray& aCertificates,TBool aWarningOnly); - TBool DisplayMissingDependencyL(const Swi::CAppInfo& aAppInfo, const TDesC& aDependencyName,TVersion aWantedVersionFrom, - TVersion aWantedVersionTo,TVersion aInstalledVersion); - TBool HandleInstallEventL(const Swi::CAppInfo& aAppInfo, Swi::TInstallEvent aEvent,TInt aValue = 0,const TDesC& aDes = KNullDesC); - void HandleCancellableInstallEventL(const Swi::CAppInfo& aAppInfo, Swi::TInstallCancellableEvent aEvent,Swi::MCancelHandler& aCancelHandler, - TInt aValue = 0,const TDesC& aDes=KNullDesC); - void DisplayCannotOverwriteFileL(const Swi::CAppInfo& aAppInfo, const Swi::CAppInfo& aInstalledAppInfo,const TDesC& aFileName); - void DisplayErrorL(const Swi::CAppInfo& aAppInfo,Swi::TErrorDialog aType,const TDesC& aParam); - private: - CRefNativePluginActiveImpl() : CActive(EPriorityStandard) {} - CRefNativePluginActiveImpl(const CRefNativePluginActiveImpl &); - CRefNativePluginActiveImpl & operator =(const CRefNativePluginActiveImpl &); - void ConstructL(); - void CommonRequestPreamble(const TSecurityContext& aSecurityContext, const COpaqueNamedParams& aInputParams, - COpaqueNamedParams& aOutputParams, TRequestStatus& aStatus); - void UninstallL(TComponentId aComponentId, const TSecurityContext& aSecurityContext, - const COpaqueNamedParams& aInputParams, COpaqueNamedParams& aOutputParams, - TRequestStatus& aStatus); - - TComponentId GetLastInstalledComponentIdL(); - TBool NeedUserCapabilityL(); - void ProcessSilentInstallL(); - private: - Swi::CAsyncLauncher* iAsyncLauncher; - Swi::CInstallPrefs* iInstallPrefs; - TRequestStatus* iClientStatus; - const COpaqueNamedParams* iInputParams; - COpaqueNamedParams* iOutputParams; - CComponentInfo* iComponentInfo; - TFileName iFileName; - RFile* iFileHandle; // FileHandle is not owned by the plug-in - TBool iDeclineOperation; // Used for plugin options - optionally specifies that the operation will not be confirmed at the first callback - TBool iInstallRequest; // Used to identify the type of the current requst in RunL() so we know if the id of an installed component should be sent - TBool iSilentInstall; // Used to identify a silent install - }; - - - NONSHARABLE_CLASS(CRefNativePlugin) : public CSifPlugin - { - public: - static CRefNativePlugin* NewL(); - ~CRefNativePlugin(); - - // MSIFPlugin 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: - CRefNativePlugin() {} - void ConstructL(); - CRefNativePlugin(const CRefNativePlugin &); - CRefNativePlugin & operator =(const CRefNativePlugin &); - private: - CRefNativePluginActiveImpl *iImpl; - }; - } // end namespace Usif - -#endif // REFNATIVEPLUGIN_H