installationservices/swi/source/sisregistry/server_legacy/sisregistryserversession.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/installationservices/swi/source/sisregistry/server_legacy/sisregistryserversession.h Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,191 @@
+/*
+* Copyright (c) 2004-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:
+* CSisRegistrySession class definition
+*
+*/
+
+
+/**
+ @file
+ @released
+ @internalComponent
+*/
+#ifndef __SISREGISTRYSERVERSESSION_H__
+#define __SISREGISTRYSERVERSESSION_H__
+
+#include <e32base.h>
+#include <e32cmn.h>
+#include <swi/msisuihandlers.h>
+#include "sisregistryclientserver.h"
+#include "sisregistryserver.h"
+#include "sisregistrycache.h"
+
+// Forward Declarations
+class CX509Certificate;
+
+namespace Swi
+{
+/**
+ * This enum is used to make IPC indexes used as arguments in function calls less obscure.
+ * @internalComponent
+ * @released
+ */
+
+enum TIpcIndexes
+ {
+ EIpcArgument0 = 0, ///< IPC indexes arguments 0
+ EIpcArgument1, ///< IPC indexes arguments 1
+ EIpcArgument2, ///< IPC indexes arguments 2
+ EIpcArgument3 ///< IPC indexes arguments 3
+ };
+
+
+// Swi: Forward Declarations
+class CIntegrityServices;
+class CSisRegistryPackage;
+class CSisRegistryCache;
+class CSisRevocationManager;
+class CSecurityManager;
+class CSisControllerVerifier;
+
+
+/**
+ * @internalComponent
+ * @released
+ */
+
+class CSisRegistrySession : public CSession2
+ {
+public:
+ void CreateL();
+
+private:
+ ~CSisRegistrySession();
+
+ CSisRegistryServer& Server();
+ void ServiceL(const RMessage2& aMessage);
+ void ServiceError(const RMessage2& aMessage,TInt aError);
+
+ void PanicClient(const RMessagePtr2& aMessage, TSisRegistryPanic aPanic);
+
+ //////// Requests processing ////////
+ // general
+ void RequestInstalledUidsL(const RMessage2& aMessage);
+ void RequestInstalledPackagesL(const RMessage2& aMessage);
+ void UidInstalledL(const RMessage2& aMessage);
+ void ControllerInstalledL(const RMessage2& aMessage);
+ void RequestRegistryEntryL(const RMessage2& aMessage);
+ void RequestSidToPackageL(const RMessage2& aMessage);
+ void RequestSidToFileNameL(const RMessage2& aMessage);
+ void RequestModifiableL(const RMessage2& aMessage);
+ void RequestHashL(const RMessage2& aMessage);
+ void IsSidPresentL(const RMessage2& aMessage);
+ void ShutdownAllAppsL(const RMessage2& aMessage);
+ void PackageExistsInRomL(const RMessage2& aMessage);
+ void RequestStubFileEntriesL(const RMessage2& aMessage);
+
+ // subsession oriented
+ void OpenRegistryUidEntryL(const RMessage2& aMessage);
+ void OpenRegistryPackageEntryL(const RMessage2& aMessage);
+ void OpenRegistryNamesEntryL(const RMessage2& aMessage);
+ void CloseRegistryEntryL(const RMessage2& aMessage);
+ void RequestVersionRegistryEntryL(const RMessage2& aMessage);
+ void RequestPackageNameRegistryEntryL(const RMessage2& aMessage);
+ void RequestLocalizedVendorNameRegistryEntryL(const RMessage2& aMessage);
+ void RequestUniqueVendorNameRegistryEntryL(const RMessage2& aMessage);
+ void RequestUidRegistryEntryL(const RMessage2& aMessage);
+ void RequestLanguageRegistryEntryL(const RMessage2& aMessage);
+ void RequestPropertyRegistryEntryL(const RMessage2& aMessage);
+ void RequestFileNamesRegistryEntryL(const RMessage2& aMessage);
+
+ void RequestFileDescriptionsRegistryEntryL(const RMessage2& aMessage);
+
+ void RequestSidsRegistryEntryL(const RMessage2& aMessage);
+ void RequestSelectedDriveRegistryEntryL(const RMessage2& aMessage);
+ void RequestInstalledDrivesRegistryEntryL(const RMessage2& aMessage);
+ void RequestInstallTypeRegistryEntryL(const RMessage2& aMessage);
+ void RequestCertificateChainsRegistryEntryL(const RMessage2& aMessage);
+ void RequestHashRegistryEntryL(const RMessage2& aMessage);
+ void RequestEmbeddedPackageRegistryEntryL(const RMessage2& aMessage);
+ void RequestEmbeddingPackagesRegistryEntryL(const RMessage2& aMessage);
+ void RequestPackageAugmentationsRegistryEntryL(const RMessage2& aMessage);
+ void RequestPackageAugmentationsNumberL(const RMessage2& aMessage);
+ void RequestSizeRegistryEntryL(const RMessage2& aMessage);
+ void RequestPackageRegistryEntryL(const RMessage2& aMessage);
+
+ void UidPresentRegistryEntryL(const RMessage2& aMessage);
+ void SignedRegistryEntryL(const RMessage2& aMessage);
+ void RegistryEntryTrustL(const RMessage2& aMessage);
+ void TrustTimeStampL(const RMessage2& aMessage);
+ void TrustStatusEntryL(const RMessage2& aMessage);
+ void RevocationCheckEntryL(const RMessage2& aMessage);
+ void CancelRevocationCheckEntryL(const RMessage2& aMessage);
+ void InRomRegistryEntryL(const RMessage2& aMessage);
+ void PreInstalledRegistryEntryL(const RMessage2& aMessage);
+ void AugmentationRegistryEntryL(const RMessage2& aMessage);
+ void RequestControllersL(const RMessage2& aMessage);
+
+ // support for the writeable interface
+ void RegisterEntryL(const RMessage2& aMessage, TBool aNewEntry);
+ void DeleteEntryL(const RMessage2& aMessage);
+ void RequestDependenciesRegistryEntryL(const RMessage2& aMessage);
+ void RequestDependentPackagesRegistryEntryL(const RMessage2& aMessage);
+ void AddDriveL(const RMessage2& aMessage);
+ void RemoveDriveL(const RMessage2& aMessage);
+ void DeletablePreInstalledRegistryEntryL(const RMessage2& aMessage);
+ void SignedBySuCertRegistryEntryL(const RMessage2& aMessage);
+
+ // Regenerate the registry cache from the disk
+ void RegenerateCacheL(const RMessage2& aMessage);
+
+ /// Tells the server cache to update the trust status of the entry with
+ /// the specified uid.
+ void UpdateTrustStatusL(const TUid& uid,
+ const TSisTrustStatus& status );
+
+ void VerifyControllerL(const RMessage2& aMessage);
+
+ //Request to get the value of RemoveWithLastDependent flag
+ void RemoveWithLastDependentL(const RMessage2& aMessage);
+ //Request to set the value of RemoveWithLastDependent flag
+ void SetRemoveWithLastDependentL(const RMessage2& aMessage);
+
+ // Non-removable
+ void RequestRemovablePackagesL(const RMessage2& aMessage);
+ void IsRemovableL(const RMessage2& aMessage);
+
+ void RecoverL(const RMessage2& aMessage);
+
+ void LoggingFileInfoL(const RMessage2& aMessage);
+
+ void RequestMatchingSupportedLanguagesL(const RMessage2& aMessage);
+private:
+ friend class CSisRevocationManager;
+ RFs iFs;
+
+ CSisRevocationManager* iRevocationManager;
+ CSisControllerVerifier* iSisControllerVerifier;
+ RPointerArray<HBufC8> iControllerArray;
+ };
+
+inline CSisRegistryServer& CSisRegistrySession::Server()
+ {
+ // cast to remove const-ness
+ return *static_cast<CSisRegistryServer*>(const_cast<CServer2*>(CSession2::Server()));
+ }
+
+} //namespace
+
+#endif // __SISREGISTRYSERVERSESSION_H__