diff -r 7333d7932ef7 -r 8b7f4e561641 installationservices/swinstallationfw/inc/sifplugin.h --- a/installationservices/swinstallationfw/inc/sifplugin.h Tue Aug 31 15:21:33 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,179 +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 interface. -* -*/ - - -/** - @file - @publishedAll - @released -*/ - -#ifndef SIFPLUGIN_H -#define SIFPLUGIN_H - -#include -#include -#include - -#include -#include - -namespace Usif - { - /** ECOM SIF plug-in Uid */ - const TUid PluginEcomUid = {0x10285BC2}; - - /** - An abstract SIF plug-in interface. It implements the SIF software management - services interfaces for a particular software type. - - The SIF Server uses a SIF plug-in when a package of a type it supports - is to be processed. - - Each method in this interface provides a security context. An installer may - use it in order to verify client's identity and capabilities. For example, a Java - installer may require the ECapabilityWriteUserData capability to activate or - deactivate a MIDlet. - - Complex installers that need to be implemented as stand-alone servers may use - the SIF Transport library in order to simplify sending/receiving SIF requests - across a process boundary. - */ - class CSifPlugin : public CBase - { - public: - - /** - A derived class must provide an implementation that returns details of a component - to be installed by file name. - - @param aFileName Component's file name - @param aSecurityContext this param allows the plug-in to verify client's identity - @param aComponentInfo On return, contains component's details - @param aStatus Asynchronous completion status - */ - virtual void GetComponentInfo(const TDesC& aFileName, const TSecurityContext& aSecurityContext, - CComponentInfo& aComponentInfo, TRequestStatus& aStatus) = 0; - - /** - A derived class must provide an implementation that returns details of a component - to be installed by file handle. - - @param aFileHandle Component's file name - @param aSecurityContext this param allows the plug-in to verify client's identity - @param aComponentInfo On return, contains component's details - @param aStatus Asynchronous completion status - */ - virtual void GetComponentInfo(RFile& aFileHandle, const TSecurityContext& aSecurityContext, - CComponentInfo& aComponentInfo, TRequestStatus& aStatus) = 0; - - /** - A derived class must provide an implementation that installs a component by file name. - - @param aFileName Component's file name - @param aSecurityContext this param allows the plug-in to verify client's identity - @param aArguments The array of opaque params for the plug-in. An empty - array may be passed. The following param is defined for the "SCOMO Install - Inactive" operation: - Name: InstallInactive, Type: Int, Value: ETrue - If a plug-in receives this param, it must install a component normally but the SCOMO - State should remain EDeactivated. - @param aResults The array of opaque params returned from the plug-in. - The following return param is defined for the id of an installed component: - Name: ComponentId, Type: Int - Each plug-in must add this param to aResults after a successful installation. - For packages containing embedded components, the returned param contains - the id of the last/most embedded component. - @param aStatus Asynchronous completion status - */ - virtual void Install(const TDesC& aFileName, const TSecurityContext& aSecurityContext, - const COpaqueNamedParams& aArguments, COpaqueNamedParams& aResults, - TRequestStatus& aStatus) = 0; - - /** - A derived class must provide an implementation that installs a component by file handle. - - @param aFileHandle Component's file handle - @param aSecurityContext this param allows the plug-in to verify client's identity - @param aArguments The array of opaque params for the plug-in. An empty - array may be passed. The following param is defined for the "SCOMO Install - Inactive" operation: - Name: InstallInactive, Type: Int, Value: ETrue - If a plug-in receives this param, it must install a component normally but the SCOMO - State should remain EDeactivated. - @param aResults The array of opaque params returned from the plug-in. - The following return param is defined for the id of an installed component: - Name: ComponentId, Type: Int - Each plug-in must add this param to aResults after a successful installation. - For packages containing embedded components, the returned param contains - the id of the last/most embedded component. - @param aStatus Asynchronous completion status - */ - virtual void Install(RFile& aFileHandle, const TSecurityContext& aSecurityContext, - const COpaqueNamedParams& aArguments, COpaqueNamedParams& aResults, - TRequestStatus& aStatus) = 0; - - /** - A derived class must provide an implementation that uninstalls a component. - - @param aComponentId The id of a component to be uninstalled - @param aSecurityContext this param allows the plug-in to verify client's identity - @param aArguments The array of opaque params for the plug-in. An empty - array may be passed. - @param aResults The array of opaque results returned from the plug-in. - @param aStatus The request status. KErrNone, if successful, otherwise - one of the other system-wide or SIF error codes defined in usiferror.h. - */ - virtual void Uninstall(TComponentId aComponentId, const TSecurityContext& aSecurityContext, - const COpaqueNamedParams& aArguments, COpaqueNamedParams& aResults, - TRequestStatus& aStatus) = 0; - - /** - A derived class must provide an implementation that activates a component. - - @param aComponentId The id of a component to be activated - @param aSecurityContext this param allows the plug-in to verify client's identity - @param aStatus The request status. KErrNone, if successful, otherwise - one of the other system-wide or SIF error codes defined in usiferror.h. - */ - virtual void Activate(TComponentId aComponentId, const TSecurityContext& aSecurityContext, - TRequestStatus& aStatus) = 0; - - /** - A derived class must provide an implementation that deactivates a component. - - @param aComponentId The id of a component to be deactivated - @param aSecurityContext this param allows the plug-in to verify client's identity - @param aStatus The request status. KErrNone, if successful, otherwise - one of the other system-wide or SIF error codes defined in usiferror.h. - */ - virtual void Deactivate(TComponentId aComponentId, const TSecurityContext& aSecurityContext, - TRequestStatus& aStatus) = 0; - - /** - A derived class must provide an implementation that cancels an ongoing asynchronous request. - - This is a synchronous call. When it returns the original asynchronous call is completed. - */ - virtual void CancelOperation() = 0; - - virtual ~CSifPlugin() {} - }; - } // namespace Usif - -#endif // SIFPLUGIN_H