dependencies/swi/sisregistryentry.h
author jake
Tue, 13 Apr 2010 15:07:27 +0300
branchv5backport
changeset 56 7b5c31fac191
parent 31 a3e98f9c292b
permissions -rw-r--r--
Many of the components were not compilingm,because bld.inf had undefined flag #ifdef RD_CUSTOMIZABLE_AI. All the flags removed now. Components do not compile right away. E.g. many icons are missing and need to be copied from Symbian3. See example from MCSPlugin. Shortcut plugin does not need to be compiled as MCSPlugin replaces it.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     1
/*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     2
* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     3
* All rights reserved.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     4
* This component and the accompanying materials are made available
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     6
* which accompanies this distribution, and is available
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     8
*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     9
* Initial Contributors:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    11
*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    12
* Contributors:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    13
*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    14
* Description: 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    15
* SisRegistry - client registry entry(package) interface
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    16
* Clients use the defined interface to access and querry information
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    17
* specific to a single installed package.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    18
* The access to specific functionality depends on the client capabilities
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    19
* and may be restricted.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    20
*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    21
*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    22
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    23
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    24
/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    25
 @file
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    26
 @released
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    27
 @publishedPartner
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    28
*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    29
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    30
#ifndef __SISREGISTRYENTRY_H__
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    31
#define __SISREGISTRYENTRY_H__
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    32
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    33
#include <e32std.h>
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    34
#include <swi/sispackagetrust.h>
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    35
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    36
class CX509Certificate;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    37
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    38
namespace Swi
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    39
{
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    40
class RSisRegistrySession;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    41
class CSisRegistryPackage;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    42
class CSisRegistryDependency;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    43
class CHashContainer;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    44
class TSisTrustStatus;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    45
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    46
/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    47
 * Client registry entry interface
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    48
 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    49
 * @publishedPartner
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    50
 * @released
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    51
 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    52
class RSisRegistryEntry : public RSubSessionBase
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    53
	{
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    54
public:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    55
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    56
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    57
	 * Opens the base package entry by specifying a UID.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    58
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    59
	 * - A base package is a self-sufficient package which does
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    60
	 * not depend on other packages with the same UID. It is also completely removed
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    61
	 *  together with all related augmentation packages.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    62
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    63
	 * - An agmentation package shares a UID with a base package and 'augments' the base package.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    64
	 * It can only be installed only when the related base package is installed
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    65
	 * It can be uninstalled separatelly (without removing base package)
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    66
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    67
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    68
	 * @param aSession	The open RSisRegistrySession to use
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    69
	 * @param aUid		The UID identifying the entry
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    70
	 * @return			KErrNone if successful, otherwise an error code
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    71
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    72
	IMPORT_C TInt Open(RSisRegistrySession &aSession, TUid aUid);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    73
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    74
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    75
	 * Open a registry entry (includes augmentations) by specifying a package
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    76
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    77
	 * @param aSession The open RSisRegistrySession to use
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    78
	 * @param aPackage The package to open
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    79
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    80
	 * @return KErrNone if successful, or an error code
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    81
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    82
	IMPORT_C TInt OpenL(RSisRegistrySession &aSession, const CSisRegistryPackage& aPackage);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    83
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    84
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    85
	 * Open a registry entry (includes augmentations) by specifying a package
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    86
	 * and vendor name.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    87
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    88
	 * @param aSession		The open RSisRegistrySession to use
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    89
	 * @param aPackageName	The name of the package
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    90
	 * @param aVendorName	The name of the vendor
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    91
	 * @return				KErrNone if successful, otherwise an error code
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    92
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    93
	IMPORT_C TInt Open(RSisRegistrySession &aSession, const TDesC& aPackageName, const TDesC& aVendorName);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    94
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    95
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    96
	 * Closes the registry entry by closing the sub-session
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    97
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    98
	IMPORT_C void Close();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    99
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   100
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   101
	 * Indicates whether the package is currently on the device (i.e. not on
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   102
	 * removable media that is not inserted).
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   103
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   104
	 * @return	ETrue if the package is on the device;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   105
	 *			EFalse otherwise
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   106
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   107
	IMPORT_C TBool IsPresentL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   108
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   109
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   110
	 * Indicates whether the package is signed
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   111
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   112
	 * @return	ETrue the package is signed;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   113
	 *			EFalse otherwise
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   114
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   115
	IMPORT_C TBool IsSignedL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   116
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   117
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   118
	 * Indicates the level of trust associated with the package
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   119
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   120
	 * @return	The level of trust
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   121
	 * @deprecated Will be replaced in the future by a more complete TrustStatusL method.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   122
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   123
	IMPORT_C TSisPackageTrust TrustL() const;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   124
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   125
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   126
	 * The time at which the trust level was established
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   127
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   128
	 * @return The time at which the trust level was established
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   129
	 * @deprecated Will be replaced in the future by a more complete TrustStatusL method.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   130
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   131
	IMPORT_C TTime TrustTimeStampL() const;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   132
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   133
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   134
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   135
	 * The trust status object for the entry. This supercedes information
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   136
	 * provided by the deprecated TrustL and TrustTimeStampL methods.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   137
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   138
	 * @return The trust status information associated with
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   139
	 * this entry.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   140
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   141
	IMPORT_C TSisTrustStatus TrustStatusL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   142
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   143
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   144
	 * Indicates whether or not the package is installed on read-only media
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   145
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   146
	 * 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   147
	 * @return	ETrue if any drive used by this package is read-only;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   148
	 *			EFalse otherwise
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   149
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   150
#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK		 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   151
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   152
	 * N.B. Using Usif::RSoftwareComponentRegistry::IsComponentOnReadOnlyDriveL 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   153
	 * will return different result when we have an empty ROM stub or when all 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   154
	 * the files of a ROM based package are eclipsed, since SCR only considers
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   155
	 * the current list of files registered with it.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   156
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   157
#endif
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   158
	IMPORT_C TBool IsInRomL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   159
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   160
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   161
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   162
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   163
	 * Indicates whether or not the package augments another package
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   164
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   165
	 * @return	ETrue if the package is an augmentation;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   166
	 *			EFalse otherwise
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   167
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   168
	IMPORT_C TBool IsAugmentationL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   169
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   170
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   171
	 * Gets the version of this package
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   172
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   173
	 * @return	The version
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   174
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   175
	IMPORT_C TVersion VersionL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   176
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   177
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   178
	 * Gets the installed language for this package
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   179
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   180
	 * @return	The language
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   181
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   182
	IMPORT_C TLanguage LanguageL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   183
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   184
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   185
	 * Gets the UID of this package
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   186
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   187
	 * @return	The UID
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   188
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   189
	IMPORT_C TUid UidL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   190
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   191
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   192
	 * Gets the name of a package
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   193
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   194
	 * @return	The name of the package
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   195
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   196
	IMPORT_C HBufC* PackageNameL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   197
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   198
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   199
	 * Gets the unique vendor name of this package
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   200
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   201
	 * @return	The unique vendor name
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   202
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   203
	IMPORT_C HBufC* UniqueVendorNameL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   204
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   205
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   206
	 * Gets the localised vendor name of a package
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   207
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   208
	 * @return	The localised name of the vendor
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   209
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   210
	IMPORT_C HBufC* LocalizedVendorNameL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   211
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   212
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   213
	 * Returns an array of Sids (executables). The array is supplied by the
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   214
	 * client which is then populated.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   215
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   216
	 * @param aSids	 On return, the array object to be populated.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   217
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   218
	IMPORT_C void SidsL(RArray<TUid>& aSids);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   219
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   220
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   221
	 * Provides a list of files installed by this package. This function may also return
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   222
	 * a file specification that contains wildcard characters ('?' and/or '*') if the 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   223
	 * package is a rom 'stub' sis file. Wildcard file specifications are NOT expanded and
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   224
	 * in this instance, the Count() member function on 'aFiles' cannot be used as an
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   225
	 * indicator of the number of files within the package.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   226
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   227
	 * @param aFiles	The array of files to be populated.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   228
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   229
	IMPORT_C void FilesL(RPointerArray<HBufC>& aFiles);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   230
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   231
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   232
     *  Returns the size of the installation excluding the size of
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   233
     *  other embedded packages
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   234
     *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   235
     *  @return  A TInt64 value of the total installation size
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   236
     */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   237
	IMPORT_C TInt64 SizeL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   238
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   239
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   240
	 * Provides the certificate chains associated with this package
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   241
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   242
	 * @param aCertificateChains	The array of certificate chains
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   243
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   244
	IMPORT_C void CertificateChainsL(RPointerArray<HBufC8>& aCertificateChains);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   245
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   246
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   247
	 * Gets the value of a property within a package
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   248
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   249
	 * @param aKey	The key to search for
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   250
	 * @return		The value of this key if found;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   251
	                KErrNotFound otherwise.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   252
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   253
	IMPORT_C TInt PropertyL(TInt aKey);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   254
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   255
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   256
	 * Returns all augmentations to this package. If no augmentations exist,
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   257
	 * the lists are empty
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   258
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   259
	 * @param aPackageNames	On return, a list of PackageNames
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   260
	 * @param aVendorNames	On return, the corresponding list of VendorNames
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   261
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   262
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   263
	IMPORT_C void AugmentationsL(RPointerArray<HBufC>& aPackageNames, RPointerArray<HBufC>& aVendorNames);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   264
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   265
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   266
	 * Returns all augmentations to this package. If no augmentations exist,
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   267
	 * the list is empty
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   268
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   269
	 * @param aPackages The array of CSisRegistryPackages to be populated
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   270
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   271
    IMPORT_C void AugmentationsL(RPointerArray<CSisRegistryPackage>& aPackages);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   272
	
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   273
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   274
	 * Gets the number of augmentations to this package.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   275
	 * @return the number of augmentations to this package
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   276
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   277
	IMPORT_C TInt AugmentationsNumberL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   278
	
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   279
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   280
     *  Returns the hash value of a selected file, identified by its name
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   281
     *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   282
     *  @param aFileName the full file path
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   283
     *  @return A new CHashContainer object
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   284
     */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   285
	IMPORT_C CHashContainer* HashL(const TDesC& aFileName);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   286
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   287
	 /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   288
	 *  Returns the package of a current entry
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   289
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   290
	 *  @return A new CSisRegistryPackage object
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   291
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   292
	IMPORT_C CSisRegistryPackage* PackageL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   293
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   294
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   295
	 * Return the controllers associated with this package as raw binary data
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   296
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   297
	 * @param aControllers The array of controllers to be populated.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   298
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   299
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   300
	IMPORT_C void ControllersL(RPointerArray<HBufC8>& aControllers);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   301
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   302
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   303
	 Returns what drive the user selected for files in the Sis file that
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   304
	 did not specify drive.It returns KNoDriveSelected if user is not prompted for drive selection.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   305
	 For ROM stub packages it returns zero instead of KNoDriveSelected
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   306
	 To determine the set of drives that files were installed to for this registry entry @see RSisRegistryEntry::InstalledDrivesL().
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   307
	 @return TChar The drive selected
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   308
	 @see KNoDriveSelected
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   309
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   310
	IMPORT_C TChar SelectedDriveL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   311
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   312
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   313
	Determines whether the base package or any of the partial upgrades
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   314
	require all applications within this package to be to be shutdown before
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   315
	uninstalling the package.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   316
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   317
	@return Whether to shutdown all applications at un-install.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   318
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   319
	IMPORT_C TBool ShutdownAllAppsL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   320
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   321
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   322
	The function is used to re-verify the signature and certificate of the
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   323
	SIS Controller associated to the RSisRegistryEntry object.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   324
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   325
	aX509CertArray parameter is used to give set of trusted root certificates
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   326
	that are used for validation of the SIS Controller certificate. If the
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   327
	set given as parameter is empty, Symbian implementation can fetch the
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   328
	set of trusted root certificates from Certificate Management. If the set
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   329
	is not empty, then root certificates should not be fetched from
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   330
	Certificate Mgmt, but only the root certificates from the set given as
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   331
	parameter should be used for SIS Controller certificate validation.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   332
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   333
	@param Array of trusted root certificates.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   334
	@return Returns ETrue if the registry entry is validated against the
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   335
			trusted certificates provided.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   336
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   337
	IMPORT_C TBool VerifyControllerSignatureL(RPointerArray<CX509Certificate>& aX509CertArray);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   338
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   339
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   340
	The function is used to re-verify the signature and certificate of the
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   341
	SIS Controller associated to the RSisRegistryEntry object.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   342
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   343
	aX509CertArray parameter is used to give set of trusted root certificates
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   344
	that are used for validation of the SIS Controller certificate. If the
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   345
	set given as parameter is empty, Symbian implementation can fetch the
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   346
	set of trusted root certificates from Certificate Management. If the set
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   347
	is not empty, then root certificates should not be fetched from
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   348
	Certificate Mgmt, but only the root certificates from the set given as
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   349
	parameter should be used for SIS Controller certificate validation.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   350
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   351
	@param aX509CertArray Array of trusted root certificates.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   352
	@param aCheckDateAndTime Indicates if the certificate validity period should be checked against the current date and time.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   353
	@return Returns ETrue if the registry entry is validated against the
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   354
			trusted certificates provided.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   355
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   356
	IMPORT_C TBool VerifyControllerSignatureL(RPointerArray<CX509Certificate>& aX509CertArray, TBool aCheckDateAndTime);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   357
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   358
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   359
	Indicates whether or not the package will be removed by uninstalling the last dependant
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   360
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   361
	IMPORT_C TInt RemoveWithLastDependentL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   362
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   363
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   364
	This function is used to indicate the embedding package has been uninstalled but
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   365
	this package remained because of dependency.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   366
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   367
	IMPORT_C void SetRemoveWithLastDependentL(TUid uid);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   368
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   369
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   370
	 * @return true if the 'non-removable' flag is NOT set in the SisInfo object
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   371
	 * belonging to this package.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   372
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   373
	IMPORT_C TBool RemovableL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   374
	
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   375
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   376
	 Returns set of drives to which files were installed in SIS file
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   377
	 @return Returns The bitmask of drives is as follows:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   378
		Bit 0 -> A drive  
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   379
		Bit 1 -> B drive  
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   380
		so on and so forth.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   381
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   382
	IMPORT_C TUint InstalledDrivesL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   383
	
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   384
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   385
	 * Returns whether or not the package was pre-installed
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   386
	 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   387
	 * @return ETrue if the package was pre-installed
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   388
	 *         EFalse otherwise
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   389
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   390
	IMPORT_C TBool PreInstalledL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   391
	
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   392
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   393
	* Returns whether or not the package was pre-installed and files should
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   394
	* be deleted on uninstall.  This will have been set true if and only if
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   395
	* the swipolicy indicates that preinstalled files can be deleted, and the
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   396
	* stub sis file used to install the package was writable at install time.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   397
	*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   398
	* @return ETrue if the package was pre-installed and files should be
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   399
	*               deleted on uninstall.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   400
	*         EFalse otherwise
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   401
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   402
	IMPORT_C TBool IsDeletablePreInstalledL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   403
	
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   404
		
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   405
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   406
	* Returns the array of packages which are either dependent on this package or are
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   407
	* augmentations of this package.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   408
	*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   409
	* @note 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   410
	* A is a "Dependent" of B if B is in A's dependency list
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   411
	* A is a "dependency" of B if A is in B's dependency list
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   412
	* For example consider a package Shared_library_B which is used by a package App_A. 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   413
	* Shared_Library_B will be listed as a dependency in the sis file which installs App_A 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   414
	* App_A cannot be installed successfully without Shared_Library_B being present. 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   415
	* If Shared_Library_B is un-installed App_A may not function correctly.  
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   416
	* App_A is a "dependent" of Shared_library_B
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   417
	* Shared_library_B is a "dependency" of App_A
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   418
	*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   419
	* @param aDependents The array of packages which are either dependent on this package  
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   420
	* or are augmentations of this package (i.e. its dependents)
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   421
	*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   422
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   423
	IMPORT_C void DependentPackagesL(RPointerArray<CSisRegistryPackage>& aDependents);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   424
	
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   425
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   426
	* Returns the dependency array for this package (ie the packages, denoted 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   427
	* by UID and the version ranges it depends on).
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   428
	*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   429
	* @note 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   430
	* A is a "Dependent" of B if B is in A's dependency list
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   431
	* A is a "dependency" of B if A is in B's dependency list
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   432
	* For example consider a package Shared_library_B which is used by a package App_A. 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   433
	* Shared_Library_B will be listed as a dependency in the sis file which installs App_A 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   434
	* App_A cannot be installed successfully without Shared_Library_B being present. 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   435
	* If Shared_Library_B is un-installed App_A may not function correctly.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   436
	* In this scenario 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   437
	* App_A is a "dependent" of Shared_library_B
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   438
	* Shared_library_B is a "dependency" of App_A
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   439
	*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   440
	* @param aDependencies The array of packages that this package depends on (i.e. its dependencies)
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   441
	*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   442
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   443
	IMPORT_C void DependenciesL(RPointerArray<CSisRegistryDependency>& aDependencies);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   444
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   445
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   446
	* For a given package entry, return a array of packages that were
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   447
	* embedded within this package.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   448
	*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   449
	* @param aEmbedded The array of embedded packages
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   450
	*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   451
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   452
	IMPORT_C void EmbeddedPackagesL(RPointerArray<CSisRegistryPackage>& aEmbedded);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   453
		
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   454
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   455
	* For a given package entry, return a array of packages that 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   456
	* embed it. 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   457
	* Note: This is possible when package A embeds D and the subsequently installed packages
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   458
	*       B and C each in turn embed D. As there will be a single copy and a single 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   459
	*       registration for D, it is imperative this back information is retained 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   460
	*       and it is accessible.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   461
	*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   462
	* @param aEmbedding The array of embedding packages
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   463
	*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   464
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   465
	IMPORT_C void EmbeddingPackagesL(RPointerArray<CSisRegistryPackage>& aEmbedding);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   466
	
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   467
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   468
	* Returns ETrue if the SIS package is signed by a certificate trusted by the device (SU)
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   469
	* for eclipsing of files on the Z drive
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   470
	*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   471
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   472
	IMPORT_C TBool IsSignedBySuCertL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   473
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   474
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   475
    * Returns the list of files that were created internally by registry. This function
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   476
	* is to be used to determine the list of internal files that are not to be removed for
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   477
	* an NR package during an RFS(Restore Factory Settings).
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   478
    *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   479
    * @param aRegistryFiles     The array of filenames with complete path
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   480
    */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   481
    IMPORT_C void RegistryFilesL(RPointerArray<HBufC>& aRegistryFiles);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   482
		
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   483
protected:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   484
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   485
     * @internalComponent
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   486
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   487
	HBufC8* SendReceiveBufferLC(TInt aMessage);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   488
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   489
     * @internalComponent
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   490
	 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   491
	HBufC8* SendReceiveBufferLC(TInt aMessage, const TDesC& aInputDescriptor);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   492
	};
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   493
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   494
} // namespace
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   495
#endif