--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrstore.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,292 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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: Definition of security manager persistent store class
- *
-*/
-
-
-
-
-
-
-#ifndef C_RTSECMGRSTORE_H
-#define C_RTSECMGRSTORE_H
-
-#include <e32std.h>
-#include <badesca.h>
-#include <d32dbms.h>
-#include <f32file.h>
-#include <s32file.h>
-#include "rtsecmgrcommondef.h"
-#include "rtsecmgrserverdef.h"
-#include "rtsecmgrdata.h"
-
-/*
- * Abstracts the underlying security manager persistent storage
- * type.
- *
- * Provides methods to store and retrieve security policy data
- * and script related data.
- *
- * @see CProtectionDomain
- * @see CScript
- *
- * @exe rtsecmgrserver.exe
- */
-NONSHARABLE_CLASS(CSecMgrStore) : public CBase
- {
-public:
-
- /**
- * Two-phased constructor
- *
- * Constructs a CSecMgrStore instance
- *
- * @return CSecMgrStore* pointer to an instance of CSecMgrStore
- */
- static CSecMgrStore* NewL();
-
- /**
- * Two-phased constructor
- *
- * Constructs a CSecMgrStore instance and leaves the created
- * instance on the cleanupstack
- *
- * @return CSecMgrStore* pointer to an instance of CSecMgrStore
- */
- static CSecMgrStore* NewLC();
-
- /**
- * Destructor
- *
- * Closes file session connection
- *
- */
- inline ~CSecMgrStore();
-
- /**
- * Updates policy data to the stream.
- *
- * This method creates a new policy file with the name equivalent to
- * policy identifier under security manager servers private directory.
- *
- * The policy data are serialized to the newly created policy file.
- *
- * If policy file already exists, the content will be overwritten.
- *
- * @param aPolicyID TPolicyID policy identifier
- * @param aPolicies const RProtectionDomains& list of domains to serialize
- *
- */
- void StorePolicyL(const CPolicy& aPolicy);
-
- /**
- * Removes policy file from the persistent storage.
- *
- * This method looks for an existing policy file with the name equivalent to
- * policy identifier under security manager servers private directory. If policy
- * file is found, the file will be deleted from file system.
- *
- * @param aPolicyID TPolicyID policy identifier of the policy to be removed
- *
- * @return KErrNone if policy file removal corresponding to policy identifier passed is successful;
- * Otherwise, one of system wide error codes
- *
- */
- TInt RemovePolicy(TPolicyID aPolicyID);
-
- /**
- * Restores policy data from the stream.
- *
- * This method internalizes the policy data from the persistent
- * storage.
- *
- * @param aPolicies RPolicies& Input policy data to be internalized
- *
- */
- void RestorePoliciesL(RPolicies& aPolicies);
-
- /**
- * Registers a script with security manager persistent store.
- *
- * This method creates a new script file externalizing the script
- * data to the persistent stream.
- *
- * @param aExecID TExecutableID script identifier
- * @param aPolicyID TPolicyID policy identifier of the script
- * @param aScript const CScript& script data to be serialized
- *
- */
- void RegisterScriptL(TExecutableID aExecID, const CScript& aScript);
-
- /**
- * UnRegisters a script with security manager persistent store.
- *
- * This method removes an existing script file from the persistent stream.
- *
- * @param aExecID TExecutableID script identifier to be removed
- *
- */
- void UnRegisterScriptL(TExecutableID aExecID);
-
- /**
- * Internalizes the script data structure with script
- * information read from the persistent store
- *
- * @param aExecID TExecutableID script identifier
- * @param aScriptInfo CScript& script data to be internalized
- *
- */
- TInt ReadScriptInfo(TExecutableID aExecID, CScript& aScriptInfo);
-
- /**
- * Utility method to get the script file name given the script identifier.
- *
- * @param aExecID TExecutableID script identifier
- * @param aScriptFile TDes& output file name to be returned
- *
- * @return KErrNone if script file name is found; Otherwise one of
- * system wide error codes
- *
- */
- TInt GetScriptFile(TExecutableID aExecID,TDes& aScriptFile);
-
- /**
- * Externalizes the script data structure with script
- * information read to the persistent store
- *
- * @param aExecID TExecutableID script identifier
- * @param aScriptInfo CScript& script data to be externalized
- *
- */
- void WriteScriptInfoL(TExecutableID aExecID, CScript& aScriptInfo);
-
- /**
- * Reads the script identifier from security manager configuration
- * repository
- *
- * @param aExecID TExecutableID& output script identifier
- *
- * @return KErrNone if reading of identifier is successful; Otherwise
- * one of system wide error codes
- */
- TInt ReadCounter(TExecutableID& aExecID);
-
- /**
- * Writes the script identifier to security manager configuration
- * repository
- *
- * @param aExecID TExecutableID script identifier to be externalized
- *
- * @return KErrNone if writing of identifier is successful; Otherwise
- * one of system wide error codes
- */
- TInt WriteCounter(TExecutableID aExecID);
-
- /*
- * Utility method to create a backup for the policy file
- *
- * @param aPolicyID TPolicyID policy identifier for the file
- * getting backed up
- * @return KErrNone if backupfile is successsfully created
- *
- */
-
- TInt BackupFile(TPolicyID aPolicyID);
-
- /*
- * Utility method to remove the backup file created
- *
- * @param aPolicyID TPolicyID policy identifier for the file
- * whose backup is getting removed
- * @return KErrNone if backup file is successsfully removed
- *
- */
- TInt RemoveTempPolicy(TPolicyID aPolicyID);
-
- /*
- * Utility method to restore the backup file created if update fails
- *
- * @param aPolicyID TPolicyID policy identifier for the file
- * which is restored back
- * @return KErrNone if backup file is successsfully restored
- *
- */
- TInt RestoreTempPolicy(TPolicyID aPolicyID);
-
-private:
-
- /*
- * Default private constructor
- */
- inline CSecMgrStore();
-
- /*
- * Two-phased constructor
- *
- */
- inline void ConstructL();
-
- /*
- * Utility method to get security manager's private path
- *
- */
- TInt GetPrivatePath(TDes& aPrivatePath);
-
- /*
- * Utility method to get security manager's configuration file
- *
- */
- TInt GetConfigFile(TDes& aPrivatePath);
-
- /*
- * Utility method to get security manager's policy file
- * name
- *
- */
- TInt GetPolicyPath(TDes& aFile);
-
- /*
- * Utility method to get security manager's script file
- * storage path
- *
- */
- TInt GetScriptPath(TDes& aFile);
-
- /*
- * Utility method to get security manager's script file
- * name given a script identifier
- *
- */
- TInt GetScriptFile(TDes& aFile,TExecutableID aExecID);
-
-
-
- /*
- * Utility method to get security manager's policy file
- * name given the policy identifier
- *
- */
- TInt GetPolicyFile(TDes& aFile,TPolicyID aPolicyID);
-
-
-private:
-
- //underlying file session
- RFs iFsSession;
- };
-
-#include "rtsecmgrstore.inl"
-
-#endif