serviceapifw_plat/rtsecuritymanager_client_api/inc/rtsecmanager.h
changeset 57 61b27eec6533
parent 45 7aa6007702af
--- a/serviceapifw_plat/rtsecuritymanager_client_api/inc/rtsecmanager.h	Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,300 +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:       Defines Runtime security manager's core class. Defines
- * 				  APIs for runtime bindings and clients to access security
- * 				  management functionalities
- *
-*/
-
-
-
-
-
-
-#ifndef _CRTSECMANAGER_H
-#define _CRTSECMANAGER_H
-
-#include <e32base.h>
-
-#include <rtsecmgrcommondef.h>
-#include <rtsecmgrtrustinfo.h>
-
-class CRTSecMgrScriptSession;
-class MSecMgrPromptHandler;
-class CRTSecMgrClientProxy;
-class CTrustInfo;
-class CPermission;
-
-/**
- * Core class of the runtime recurity manager component.
- * 
- * Runtime security manager broadly offers 
- *
- *  - Policy management functions
- *	- Script management functions
- *  - Access permission check
- *
- * CRTSecManager offers methods to perform policy management functionalities
- * such as 
- * 	- Registering runtime security access policy
- * 	- Updating the registered security access policy
- * 	- Un-registering the registered security access policy 
- * 
- * Similarly, CRTSecManager offers methods for script management such as
- * 	- Registering a runtime script with security manager
- * 	- Un-registering the registered script
- * 	- Obtaining scipt session associated with the registered script
- * 
- * The main functionality of CRTSecManager is to perform access permission
- * check using script session functions
- * 
- * @lib rtsecmgrclient.lib
- */
-NONSHARABLE_CLASS(CRTSecManager) : public CBase
-	{
-public:
-
-	/**
-	 * Two-phased constructor
-	 * 
-	 * Constructs a CRTSecManager instance
-	 *
-	 * Initializes client side security manager session. Starts the security
-	 * manager server, if it is not already running.
-	 * 
-	 * @return pointer to an instance of CRTSecManager
-	 */
-	IMPORT_C static CRTSecManager* NewL();
-
-	/**
-	 * Two-phased constructor
-	 * 
-	 * Constructs a CRTSecManager instance and leaves the created instance
-	 * onto the cleanupstack.
-	 *
-	 * Initializes client side security manager session. Starts the security
-	 * manager server, if it is not already running.
-	 * 
-	 * @return pointer to an instance of CRTSecManager
-	 */
-	IMPORT_C static CRTSecManager* NewLC();
-
-	/**
-	 * Destructor
-	 * 
-	 * Closes client side security manager session
-	 */
-	IMPORT_C ~CRTSecManager();
-
-	/**
-	 * Registers a runtime security policy. Runtimes should call this function
-	 * to register their security access and trust policies.
-	 *
-	 * @param aSecPolicy RFile Handle to security policy file
-	 *
-	 * @return TPolicyID generated policy identifier if successul; Otherwise one of
-	 *					 system wide error codes
-	 *
-	 * \note
-	 * Clients should call ShareProtected on the file session object as shown below.
-	 * 
-	 * @code	 * 
-	 * 	RFs fileSession;
-	 * 	fileSession.Connect();
-	 * 	fileSession.ShareProtected(); //Mandatorily call before invoking SetPolicy
-	 * 
-	 * 	RFile secPolicyFile;
-	 * 	secPolicyFile.Open(fileSession, _L("AccessPolicy.xml"), EFileShareAny );
-	 * 	TPolicyID policyID = secMgr->SetPolicy(secPolicyFile);
-	 *
-	 *  if(policyID <= KErrNone)
-	 *  {
-	 *		//error..
-	 *	}
-	 * 
-	 * @endcode
-	 * 
-	 */
-	IMPORT_C TPolicyID SetPolicy(const RFile& aSecPolicy);
-	
-	/**
-	 * Registers a runtime security policy. Runtimes should call this function
-	 * to register their security access and trust policies.
-	 *
-	 * @param aPolicyBuffer const TDesC& security policy file buffer
-	 *
-	 * @return TPolicyID generated policy identifier if successul; Otherwise one of
-	 *					 system wide error codes
-	 *
-	 * \note
-	 * Clients should call ShareProtected on the file session object as shown below.
-	 * 
-	 * @code	 * 
-	 * 	RFs fileSession;
-	 * 	fileSession.Connect();
-	 * 	fileSession.ShareProtected(); //Mandatorily call before invoking SetPolicy
-	 * 
-	 * 	RFile secPolicyFile;
-	 * 	secPolicyFile.Open(fileSession, _L("AccessPolicy.xml"), EFileShareAny );	 
-	 *  HBufC8* fileBuffer = HBufC8::NewL(KFileBufferMaxLen);
-	 *  secPolicyFile.Read(*fileBuffer);
-	 *   
-	 * 	TPolicyID policyID = secMgr->SetPolicy(*fileBuffer);
-	 *
-	 *  if(policyID <= KErrNone)
-	 *  {
-	 *		//error..
-	 *	}
-	 * 
-	 * @endcode
-	 * 
-	 */
-	IMPORT_C TPolicyID SetPolicy(const TDesC8& aPolicyBuffer);
-
-	/**
-	 * UnRegisters a registered security policy. Runtimes should call this function
-	 * to de-register the already registered security policy.
-	 *
-	 * @param aPolicyID TPolicyID Policy identifier previously generated with SetPolicy
-	 *
-	 * @return TInt One of sytem wide error codes in case of failure; Otherwise KErrNone
-	 *    
-	 */
-	IMPORT_C TInt UnSetPolicy(TPolicyID aPolicyID);
-
-	/**
-	 * Updates an already registered security policy. Runtimes should call this function
-	 * to update their policy.
-	 *
-	 * @param aPolicyID TPolicyID Policy identifier previously generated with SetPolicy
-	 * @param aSecPolicy RFile Handle to security policy file
-	 *
-	 * @see SetPolicy for file session pre-conditions
-	 *
-	 * @return TPolicyID One of sytem wide error codes in case of failure; Otherwise the passed policyID
-	 *
-	 */
-	IMPORT_C TPolicyID UpdatePolicy(TPolicyID aPolicyID,const RFile& aSecPolicy);
-
-	/**
-	 * Updates an already registered security policy. Runtimes should call this function
-	 * to update their policy.
-	 *
-	 * @param aPolicyID TPolicyID Policy identifier previously generated with SetPolicy
-	 * @param aPolicyBuffer const TDesC& security policy file buffer
-	 *
-	 * @see SetPolicy for file session pre-conditions
-	 *
-	 * @return TPolicyID One of sytem wide error codes in case of failure; Otherwise the passed policyID
-	 *
-	 */
-	IMPORT_C TPolicyID UpdatePolicy(TPolicyID aPolicyID,const TDesC8& aPolicyBuffer);
-	
-	/**
-	 * Registers a script/executable. Runtimes should specify the trust information
-	 * of the script to be registered. 
-	 *
-	 * @param aPolicyID TPolicyID   Runtime's registered policy identifier
-	 * @param aTrustInfo CTrustInfo a valid instance of CTrustInfo object
-	 *
-	 * @return TExecutableID generated executable identifier if successul; Otherwise one of
-	 *					 	 system wide error codes
-	 *
-	 */
-	IMPORT_C TExecutableID RegisterScript(TPolicyID aPolicyID, const CTrustInfo& aTrustInfo);
-
-	/**
-	 * Registers a script/executable. Runtimes should specify the trust information
-	 * of the script to be registered. 
-	 *
-	 * @param aPolicyID TPolicyID   Runtime's registered policy identifier
-	 * @param aHashMarker const TDesC& Hash value to identify script when starting script session
-	 * @param aTrustInfo CTrustInfo a valid instance of CTrustInfo object
-	 *
-	 * @return TExecutableID generated executable identifier if successul; Otherwise one of
-	 *					 	 system wide error codes
-	 *
-	 */
-	IMPORT_C TExecutableID RegisterScript(TPolicyID aPolicyID, const TDesC& aHashMarker, const CTrustInfo& aTrustInfo);
-
-	/**
-	 * De-Registers a script/executable. Runtimes should pass the previously registered
-	 * script identifier corresponding to the script to be de-registered.
-	 *
-	 * @param aExeID TExecutableID   A valid script identifier
-	 *
-	 * @return TInt One of sytem wide error codes in case of failure; Otherwise KErrNone
-	 *     
-	 */
-	IMPORT_C TInt UnRegisterScript(TExecutableID aExeID, TPolicyID aPolicyID);
-
-	/**
-	 * Creates a script session instance. CRTSecMgrScriptSession performs access permission
-	 * check for native platform service invocation. A CRTSecMgrScriptSession instance needs to
-	 * be created for every instance of scripts which could potentially invoke platform service.
-	 *
-	 * @param aPolicyID TPolicyID    Valid registered policy identifier
-	 * @param aExeID TExecutableID   Script identifier, KAnonymousScript in case of anonymous script session
-	 * @param aPromptHdlr MSecMgrPromptHandler An optional prompt handler. If not provided, Security manager
-	 *							     will supply a default prompt handler
-	 *
-	 * @return CRTSecMgrScriptSession* A pointer to the created instance of CRTSecMgrScriptSession if the executableID is valid;
-	 * Otherwise NULL
-	 */
-	IMPORT_C CRTSecMgrScriptSession* GetScriptSessionL(TPolicyID aPolicyID, TExecutableID aExecID, MSecMgrPromptHandler* aPromptHdlr=NULL , const TDesC& aHashValue = KNullDesC);
-
-	/**
-	 * Creates a script session instance for an unregisterd trusted script. CRTSecMgrScriptSession performs access permission
-	 * check for native platform service invocation. 
-	 *
-	 * @param aPolicyID TPolicyID    Valid registered policy identifier
-	 * @param aTrustInfo CTrustInfo a valid instance of CTrustInfo object
-	 * @param aPromptHdlr MSecMgrPromptHandler An optional prompt handler. If not provided, Security manager
-	 *							     will supply a default prompt handler
-	 *
-	 * @return CRTSecMgrScriptSession* A pointer to the created instance of CRTSecMgrScriptSession;
-	 * 								  NULL in case of invalid policy identifier
-	 *           
-	 *     
-	 */
-	IMPORT_C CRTSecMgrScriptSession* GetScriptSessionL(TPolicyID aPolicyID, const CTrustInfo& aTrustInfo, MSecMgrPromptHandler* aPromptHdlr=NULL);
-
-	/**
-	 * Creates a script session instance. CRTSecMgrScriptSession performs access permission
-	 * check for native platform service invocation. A CRTSecMgrScriptSession instance needs to
-	 * be created for every instance of scripts which could potentially invoke platform service.
-	 *
-	 * @param aPolicyID TPolicyID    Valid registered policy identifier
-	 * @param aExeID TExecutableID   Script identifier, KAnonymousScript in case of anonymous script session
-	 * @param aHashValue TDesC		 hash value passed while registering the script
-	 * @param aPromptHdlr MSecMgrPromptHandler An optional prompt handler. If not provided, Security manager
-	 *							     will supply a default prompt handler
-	 *
-	 * @return CRTSecMgrScriptSession* A pointer to the created instance of CRTSecMgrScriptSession if the executableID is valid;
-	 * Otherwise NULL
-	 
-	IMPORT_C CRTSecMgrScriptSession* GetScriptSession(TPolicyID aPolicyID, TExecutableID aExecID, const TDesC& aHashValue, MSecMgrPromptHandler* aPromptHdlr=NULL);*/
-private:
-	//Private default constructor
-	CRTSecManager();
-
-	//Part of second-phase constructor
-	void ConstructL();
-
-private:
-	//Proxy to client side session object
-	CRTSecMgrClientProxy* iClientProxy;
-	};
-#endif //_CRTSECMANAGER_H
-