installationservices/swi/source/sisregistry/server/sisregistryserversubsession.h
changeset 0 ba25891c3a9e
equal deleted inserted replaced
-1:000000000000 0:ba25891c3a9e
       
     1 /*
       
     2 * Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 * CSisRegistrySubSession class definition
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 /**
       
    21  @file 
       
    22  @released
       
    23  @internalComponent
       
    24 */
       
    25 #ifndef __SISREGISTRYSERVERSUBSESSION_H__
       
    26 #define __SISREGISTRYSERVERSUBSESSION_H__
       
    27 
       
    28 #include <e32base.h>
       
    29 #include <e32cmn.h>
       
    30 #include <usif/scr/scr.h>
       
    31 #include "sisregistryserver.h"
       
    32 
       
    33 namespace Swi
       
    34 {
       
    35 	
       
    36 // Swi: Forward Declarations 
       
    37 class CSisRegistryPackage;
       
    38 class CSisRegistryFileDescription;
       
    39 class CSisRevocationManager;
       
    40 class CSisControllerVerifier;
       
    41 
       
    42 class CSisRegistrySubSession : public CBase
       
    43 {
       
    44 public:
       
    45 	~CSisRegistrySubSession();
       
    46 	CSisRegistrySubSession(CSisRegistrySession& aSession, Usif::TComponentId& aCompId, TUid aCompUid);
       
    47 	void ResetFileAPIData();
       
    48 
       
    49 public:
       
    50 	void RequestVersionRegistryEntryL(const RMessage2& aMessage);
       
    51 	void RequestPackageNameRegistryEntryL(const RMessage2& aMessage);
       
    52 	void RequestLocalizedVendorNameRegistryEntryL(const RMessage2& aMessage);
       
    53 	void RequestUniqueVendorNameRegistryEntryL(const RMessage2& aMessage);
       
    54 	void RequestUidRegistryEntryL(const RMessage2& aMessage);
       
    55 	void RequestLanguageRegistryEntryL(const RMessage2& aMessage);
       
    56 	void RequestPropertyRegistryEntryL(const RMessage2& aMessage);
       
    57 	void RequestFileNamesRegistryEntryL(const RMessage2& aMessage);
       
    58 	
       
    59 	void RequestFileDescriptionsRegistryEntryL(const RMessage2& aMessage);
       
    60 	
       
    61 	void RequestSidsRegistryEntryL(const RMessage2& aMessage);
       
    62 	void RequestSelectedDriveRegistryEntryL(const RMessage2& aMessage);
       
    63 	void RequestInstalledDrivesRegistryEntryL(const RMessage2& aMessage);
       
    64 	void RequestInstallTypeRegistryEntryL(const RMessage2& aMessage);
       
    65 	void RequestCertificateChainsRegistryEntryL(const RMessage2& aMessage);
       
    66 	void RequestHashRegistryEntryL(const RMessage2& aMessage);
       
    67     void RequestEmbeddedPackageRegistryEntryL(const RMessage2& aMessage);
       
    68     void RequestEmbeddingPackagesRegistryEntryL(const RMessage2& aMessage);
       
    69     void RequestPackageAugmentationsRegistryEntryL(const RMessage2& aMessage);
       
    70     void RequestPackageAugmentationsNumberL(const RMessage2& aMessage);
       
    71 	void RequestSizeRegistryEntryL(const RMessage2& aMessage);
       
    72 	void RequestPackageRegistryEntryL(const RMessage2& aMessage);
       
    73 
       
    74 	void UidPresentRegistryEntryL(const RMessage2& aMessage);
       
    75 	void SignedRegistryEntryL(const RMessage2& aMessage);
       
    76 	void RegistryEntryTrustL(const RMessage2& aMessage);
       
    77 	void RequestDependenciesRegistryEntryL(const RMessage2& aMessage);
       
    78 	void RequestDependentPackagesRegistryEntryL(const RMessage2& aMessage);
       
    79 	void DeletablePreInstalledRegistryEntryL(const RMessage2& aMessage);
       
    80 	void TrustTimeStampL(const RMessage2& aMessage);
       
    81 	void TrustStatusEntryL(const RMessage2& aMessage);
       
    82 	void RevocationCheckEntryL(const RMessage2& aMessage);
       
    83 	void CancelRevocationCheckEntryL(const RMessage2& aMessage);
       
    84 	void ShutdownAllAppsL(const RMessage2& aMessage);
       
    85 
       
    86 	//Request to get the value of RemoveWithLastDependent flag
       
    87 	void RemoveWithLastDependentL(const RMessage2& aMessage);
       
    88 	//Request to set the value of RemoveWithLastDependent flag
       
    89 	void SetRemoveWithLastDependentL(const RMessage2& aMessage);
       
    90 
       
    91 	void IsRemovableL(const RMessage2& aMessage);
       
    92 	void InRomRegistryEntryL(const RMessage2& aMessage);
       
    93 	void AugmentationRegistryEntryL(const RMessage2& aMessage);
       
    94 	void RequestControllersL(const RMessage2& aMessage);
       
    95 	void PreInstalledRegistryEntryL(const RMessage2& aMessage);
       
    96 	void VerifyControllerL(const RMessage2& aMessage);
       
    97 	void SignedBySuCertRegistryEntryL(const RMessage2& aMessage);
       
    98 	void RequestMatchingSupportedLanguagesL(const RMessage2& aMessage);
       
    99 
       
   100 private:
       
   101 	// Helper methods
       
   102 	Usif::CComponentEntry* ComponentL();
       
   103 	void FileListL(RPointerArray<HBufC>& aFiles);
       
   104 	void FileDescriptionListL(RPointerArray<CSisRegistryFileDescription>& aFileDescriptions);
       
   105 	TBool IsCompletelyPresentL();
       
   106 	void GenerateControllersArrayL(const Usif::TComponentId aCompId, RPointerArray<HBufC8>& aControllers);
       
   107 	TUint InstalledDrivesL();
       
   108 	void EmbeddingPackagesL(const Usif::TComponentId aCompId, TUid aCompUid, RPointerArray<CSisRegistryPackage>& aEmbeddingPackages);
       
   109 	void GenerateChainListL(const Usif::TComponentId aCompId, RPointerArray<HBufC8>& aChainList);	
       
   110 	TBool UidPresentInStubL(const TUid& aUid, TInt aDrive);
       
   111 	TBool UidPresentInFlaggingControllerL(Usif::TComponentId aComponentId, const TUid& aUid, TInt aDrive, TInt aAugmentationIndex, TInt aComponentControllerCount);
       
   112 
       
   113 private:
       
   114 	// Handle to session object
       
   115 	CSisRegistrySession& iSession;
       
   116 
       
   117 	// The component id of the opened component
       
   118 	Usif::TComponentId iComponentId;
       
   119 	// The UID of the opened component
       
   120 	TUid iCompUid;
       
   121 	
       
   122 	// Information about the FilesL and FileDescriptionListL API since these return entries in chunks
       
   123 	// spread over more than one call
       
   124 	TInt iNumFilesSent;
       
   125 	TInt iWildcardFileCount;
       
   126 	TInt iRegularFileCount;
       
   127 
       
   128 	// Saved file description in case we did not manage to fit into the buffer. Used in order to return it on the next corresponding call to SWI Registry.
       
   129 	CSisRegistryFileDescription* iSavedFileDesc;
       
   130 	Usif::RSoftwareComponentRegistryFilesList* iScrFileList;
       
   131 
       
   132 	CSisRevocationManager* iRevocationManager;
       
   133 	CSisControllerVerifier* iSisControllerVerifier;
       
   134 	RPointerArray<HBufC8> 	iControllerArray;
       
   135 	Usif::CComponentEntry* iComponentEntry;
       
   136 };
       
   137 
       
   138 } //namespace
       
   139 
       
   140 #endif // __SISREGISTRYSERVERSUBSESSION_H__
       
   141 
       
   142