epoc32/include/swi/pkgremover.h
branchSymbian2
changeset 3 e1b950c65cb4
parent 2 2fe1408b6811
child 4 837f303aceeb
     1.1 --- a/epoc32/include/swi/pkgremover.h	Tue Mar 16 16:12:26 2010 +0000
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,200 +0,0 @@
     1.4 -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5 -// All rights reserved.
     1.6 -// This component and the accompanying materials are made available
     1.7 -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     1.8 -// which accompanies this distribution, and is available
     1.9 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.10 -//
    1.11 -// Initial Contributors:
    1.12 -// Nokia Corporation - initial contribution.
    1.13 -//
    1.14 -// Contributors:
    1.15 -//
    1.16 -// Description:
    1.17 -// Interface class for listing/removing uninstalled packages from a removable drive
    1.18 -// 
    1.19 -//
    1.20 -
    1.21 -
    1.22 -
    1.23 -/**
    1.24 - @file 
    1.25 - @publishedAll
    1.26 - @released
    1.27 -*/
    1.28 -
    1.29 -#ifndef __PKGREMOVER_H__
    1.30 -#define __PKGREMOVER_H__
    1.31 -
    1.32 -#include <e32base.h>
    1.33 -#include <f32fsys.h>
    1.34 -#include <s32mem.h>
    1.35 -
    1.36 -namespace Swi
    1.37 -{
    1.38 -
    1.39 -class CUninstalledPackageEntry;
    1.40 -
    1.41 -
    1.42 -/**
    1.43 - * This class provides static methods for managing uninstalled native packages
    1.44 - * (SIS files) that are taking up space on removable drives.
    1.45 - *
    1.46 - * @publishedAll
    1.47 - * @released
    1.48 - */
    1.49 -
    1.50 -NONSHARABLE_CLASS(UninstalledSisPackages)
    1.51 -{
    1.52 -public:
    1.53 -
    1.54 -	/**
    1.55 -	 * Get the list of uninstalled packages on a specified removable drive. In
    1.56 -	 * this context uninstalled means 'not known by this phone'. This will list
    1.57 -	 * uninstalled PA & PP files found in the SWI Daemon's private directory, and
    1.58 -	 * will also search the sis registry files on the drive for uninstalled
    1.59 -	 * applications.
    1.60 -	 *
    1.61 -	 * @param aDrive    		Removable drive number (@see TDriveNumber)
    1.62 -	 * @param aPackageList      Array of pointers to the uninstalled packages
    1.63 -	 *							found on the specified drive (@see
    1.64 -	 *                          CUninstalledPackageEntry). This array is assumed to be empty.
    1.65 -	 *							The caller takes ownership of the elements added to the array.
    1.66 -	 * @leave					One of the system-wide error codes.
    1.67 -	 * @leave                   KErrNotRemovable If the drive is not removable or is substed
    1.68 -	 * @leave					KErrPackageFileCorrupt If an error occurs during the processing of files
    1.69 -	 * @capability              ReadDeviceData Required to access protected directories during listing operation
    1.70 -	 * @capability              ProtServ Required to access services of software installer
    1.71 -	 * @capability             	TrustedUI Required to access services of software installer
    1.72 -	 */
    1.73 -	IMPORT_C static void ListL(TDriveNumber aDrive, RPointerArray<CUninstalledPackageEntry>& aPackageList);
    1.74 -
    1.75 -	/**
    1.76 -	 * Remove the specified uninstalled package. The following restrictions apply to the files that will be removed:
    1.77 -	 * <ul>
    1.78 -	 * <li> For security reasons only files on the same drive as the package controller will be removed. Files on other drives will be orphaned.
    1.79 -	 * <li> Files belonging to other packages will not be removed.
    1.80 -	 * </ul>
    1.81 -	 *
    1.82 -	 * @param aPackage			The uninstalled package to remove (@see CUninstalledPackageEntry)
    1.83 -	 * @leave					One of the system-wide error codes.
    1.84 -	 * @leave                   KErrNotRemovable If the drive is not removable or is substed
    1.85 -	 * @leave					KErrPackageIsInstalled If the specified package is installed on the device
    1.86 -	 * @leave					KErrPackageFileCorrupt If an error occurs during the processing of files
    1.87 -	 * @capability				WriteDeviceData Required to write to protected directories during remove operation
    1.88 -	 * @capability				ProtServ Required to access services of software installer
    1.89 -	 * @capability				TrustedUI Required to access services of software installer
    1.90 -	 */
    1.91 -	IMPORT_C static void RemoveL(const CUninstalledPackageEntry& aPackage);
    1.92 -};
    1.93 -
    1.94 -
    1.95 -/**
    1.96 - * Uninstalled application entry class.
    1.97 - *
    1.98 - * This class is not externally instantiable. It is returned as a result of 
    1.99 - * querying for a list of uninstalled packages present on a removable drive. 
   1.100 - * Each object of this type represents one uninstalled package. Methods can 
   1.101 - * be called on this object to retrieve the package details such as 
   1.102 - * Package UID, Name, Vendor, Version and Type.
   1.103 - *
   1.104 - * @publishedAll
   1.105 - * @released
   1.106 - */
   1.107 -
   1.108 -NONSHARABLE_CLASS(CUninstalledPackageEntry) : public CBase
   1.109 -{
   1.110 -public:
   1.111 -	enum TPackageType
   1.112 -	{
   1.113 -	    ESaPackage,       ///< Standard Application
   1.114 -		ESpPackage,       ///< Standard Patch (augmentation)
   1.115 -		EPuPackage,       ///< Partial Upgrade
   1.116 -		EPaPackage,       ///< Preinstalled Application
   1.117 -		EPpPackage        ///< Preinstalled Patch
   1.118 -	};
   1.119 -
   1.120 -	/**
   1.121 -	 * Get the package Uid
   1.122 -	 *
   1.123 -	 * @return The Uid of this package
   1.124 -	 */
   1.125 -	IMPORT_C const TUid& Uid() const;
   1.126 -
   1.127 -	/**
   1.128 -	 * Get the package name
   1.129 -	 *
   1.130 -	 * @return The name of this package as reference to TDesC
   1.131 -	 */
   1.132 -	IMPORT_C const TDesC& Name() const;
   1.133 -
   1.134 -	/**
   1.135 -	 * Get the package unique vendor name
   1.136 -	 *
   1.137 -	 * @return The unique vendor name of this package as reference to TDesC
   1.138 -	 */
   1.139 -	IMPORT_C const TDesC& Vendor() const;
   1.140 -
   1.141 -	/**
   1.142 -	 * Get the package version
   1.143 -	 *
   1.144 -	 * @return The version number of this package
   1.145 -	 */
   1.146 -	IMPORT_C const TVersion& Version() const;
   1.147 -
   1.148 -	/**
   1.149 -	 * Get the package type
   1.150 -	 *
   1.151 -	 * @return The package type of this package
   1.152 -	 */
   1.153 -	IMPORT_C const TPackageType& PackageType() const;
   1.154 -
   1.155 -	/**
   1.156 -	* Destructor
   1.157 -	*/
   1.158 -	virtual ~CUninstalledPackageEntry();
   1.159 -
   1.160 -private:
   1.161 -	static CUninstalledPackageEntry* NewLC(const TUid& aUid, const TDesC& aPackageName,
   1.162 -		const TDesC& aVendorName, const TVersion& aVersion, const TPackageType aPackageType,
   1.163 -		const TDesC& aPackageFile, const TDesC& aAssocStubSisFile);
   1.164 -
   1.165 -private:
   1.166 -	CUninstalledPackageEntry();
   1.167 -
   1.168 -private:
   1.169 -	void ConstructL(const TUid& aUid, const TDesC& aPackageName, const TDesC& aVendorName, 
   1.170 -		const TVersion& aVersion, const TPackageType aPackageType, const TDesC& aPackageFile,
   1.171 -		const TDesC& aAssocStubSisFile);
   1.172 -
   1.173 -	const TDesC& PackageFile() const;
   1.174 -	const TDesC& AssociatedStubSisFile() const;
   1.175 -
   1.176 -private:
   1.177 -	/// The package Uid
   1.178 -	TUid iUid;
   1.179 -
   1.180 -    /// The package name
   1.181 -	HBufC* iPackageName;
   1.182 -
   1.183 -    /// The package unique vendor name
   1.184 -	HBufC* iVendorName;
   1.185 -
   1.186 -    /// The package version
   1.187 -	TVersion iVersion; 
   1.188 -
   1.189 -	/// The package type
   1.190 -	TPackageType iType;
   1.191 -
   1.192 -	// The sis/controller file name with full path
   1.193 -	HBufC* iPackageFile;
   1.194 -
   1.195 -	// The stub sis file name with full path (if the package file is a controller file)
   1.196 -	HBufC* iAssocStubSisFile;
   1.197 -private:
   1.198 -	friend class UninstalledSisPackages;
   1.199 -};
   1.200 -
   1.201 -} // namespace Swi
   1.202 -
   1.203 -#endif // __PKGREMOVER_H__