--- 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 <e32cmn.h>
-#include <f32file.h>
-#include <usif/sif/sifcommon.h>
-
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-
-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