diff -r 7aa6007702af -r 61b27eec6533 rtsecuritymanager/rtsecuritymanagerclient/src/rtsecmanager.cpp --- a/rtsecuritymanager/rtsecuritymanagerclient/src/rtsecmanager.cpp Fri Apr 16 15:54:49 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,328 +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 CRTSecManager and CRTSecMgrClientProxy classes - * -*/ - - - - - - -#include -#include -#include -#include "rtsecmgrclient.h" -#include "rtsecmgrtracer.h" - -/** - * Proxy delegate class for runtime security manager client-side - * session handle. - * - * @lib rtsecmgrclient.lib - */ -class CRTSecMgrClientProxy : public CBase - { -public: - CRTSecMgrClientProxy() - { - } - - void ConstructL() - { - User::LeaveIfError (iSecSession.Connect ()); - } - - static CRTSecMgrClientProxy* NewL() - { - CRTSecMgrClientProxy* self = CRTSecMgrClientProxy::NewLC (); - CleanupStack::Pop (self); - return self; - } - - static CRTSecMgrClientProxy* NewLC() - { - CRTSecMgrClientProxy* self = new (ELeave) CRTSecMgrClientProxy(); - CleanupStack::PushL (self); - self->ConstructL (); - return self; - } - - virtual ~CRTSecMgrClientProxy() - { - iSecSession.Close (); - } - - RSecMgrSession& Session() - { - return iSecSession; - } - RSecMgrSession* operator ->() - { - return &iSecSession; - } -private: - RSecMgrSession iSecSession; - }; - -// --------------------------------------------------------------------------- -// Defintiion of default private constructor -// --------------------------------------------------------------------------- -// -CRTSecManager::CRTSecManager() - { - } - -// --------------------------------------------------------------------------- -// Definition of second phase constructor -// -// Instantiates client proxy object, in turn creating a client-side -// session -// --------------------------------------------------------------------------- -// -void CRTSecManager::ConstructL() - { - iClientProxy = CRTSecMgrClientProxy::NewL (); - -#ifdef _DEBUG - if(CCoeEnv::Static()) - { - CCoeEnv::Static()->DisableExitChecks(ETrue); - } -#endif - } - -// --------------------------------------------------------------------------- -// Definition of second phase constructor -// -// Constructs a CRTSecManager instance -// --------------------------------------------------------------------------- -// -EXPORT_C CRTSecManager* CRTSecManager::NewL() - { - RTSecMgrCreateTraceFile() ; - CRTSecManager* self = CRTSecManager::NewLC(); - CleanupStack::Pop(self); - return self; - } - -// --------------------------------------------------------------------------- -// Definition of second phase constructor -// -// Constructs a CRTSecManager instance and leaves the created instance -// on the cleanupstack -// --------------------------------------------------------------------------- -// -EXPORT_C CRTSecManager* CRTSecManager::NewLC() - { - CRTSecManager* self = new (ELeave) CRTSecManager(); - CleanupStack::PushL(self); - self->ConstructL(); - return self; - } - -// --------------------------------------------------------------------------- -// Destructor -// -// Closes client-side session in turn closing the peer server -// side session -// --------------------------------------------------------------------------- -// -EXPORT_C CRTSecManager::~CRTSecManager() - { - delete iClientProxy; - } - -// --------------------------------------------------------------------------- -// Definition of SetPolicy -// -// This method delegates the actual handling to the client-side session -// handle class -// --------------------------------------------------------------------------- -EXPORT_C TPolicyID CRTSecManager::SetPolicy(const RFile& aSecPolicy) - { - RTSecMgrTraceFunction("CRTSecManager::SetPolicy(const RFile& aSecPolicy)") ; - return (*iClientProxy)->SetPolicy(aSecPolicy); - } - -// --------------------------------------------------------------------------- -// Definition of SetPolicy -// -// This method delegates the actual handling to the client-side session -// handle class -// --------------------------------------------------------------------------- -EXPORT_C TPolicyID CRTSecManager::SetPolicy(const TDesC8& aPolicyBuffer) - { - RTSecMgrTraceFunction("CRTSecManager::SetPolicy(const TDesC8& aPolicyBuffer)") ; - return (*iClientProxy)->SetPolicy(aPolicyBuffer); - } - -// --------------------------------------------------------------------------- -// Definition of UnSetPolicy -// -// This method delegates the actual handling to the client-side session -// handle class -// --------------------------------------------------------------------------- -EXPORT_C TInt CRTSecManager::UnSetPolicy(TPolicyID aPolicyID) - { - RTSecMgrTraceFunction("CRTSecManager::UnSetPolicy(TPolicyID aPolicyID)") ; - return (*iClientProxy)->UnSetPolicy(aPolicyID); - } - -// --------------------------------------------------------------------------- -// Definition of UpdatePolicy -// -// This method delegates the actual handling to the client-side session -// handle class -// --------------------------------------------------------------------------- -EXPORT_C TPolicyID CRTSecManager::UpdatePolicy(TPolicyID aPolicyID,const RFile& aSecPolicy) - { - RTSecMgrTraceFunction("CRTSecManager::UpdatePolicy(TPolicyID aPolicyID,const RFile& aSecPolicy)") ; - return (*iClientProxy)->UpdatePolicy(aPolicyID,aSecPolicy); - } - -// --------------------------------------------------------------------------- -// Definition of UpdatePolicy -// -// This method delegates the actual handling to the client-side session -// handle class -// --------------------------------------------------------------------------- -EXPORT_C TPolicyID CRTSecManager::UpdatePolicy(TPolicyID aPolicyID,const TDesC8& aPolicyBuffer) - { - RTSecMgrTraceFunction("CRTSecManager::UpdatePolicy(TPolicyID aPolicyID,const TDesC8& aPolicyBuffer)") ; - return (*iClientProxy)->UpdatePolicy(aPolicyID,aPolicyBuffer); - } - -// --------------------------------------------------------------------------- -// Definition of RegisterScript -// -// This method delegates the actual handling to the client-side session -// handle class -// --------------------------------------------------------------------------- -EXPORT_C TExecutableID CRTSecManager::RegisterScript(TPolicyID aPolicyID, const CTrustInfo& aTrustInfo) - { - RTSecMgrTraceFunction("CRTSecManager::RegisterScript(TPolicyID aPolicyID, const CTrustInfo& aTrustInfo)") ; - return (*iClientProxy)->RegisterScript(aPolicyID,aTrustInfo); - } - -// --------------------------------------------------------------------------- -// Definition of RegisterScript with script having hash value -// -// This method delegates the actual handling to the client-side session -// handle class -// --------------------------------------------------------------------------- -EXPORT_C TExecutableID CRTSecManager::RegisterScript(TPolicyID aPolicyID, const TDesC& aHashMarker, const CTrustInfo& aTrustInfo) - { - RTSecMgrTraceFunction("CRTSecManager::RegisterScript(TPolicyID aPolicyID, const TDesC& aHashMarker, const CTrustInfo& aTrustInfo)") ; - return (*iClientProxy)->RegisterScript(aPolicyID,aHashMarker,aTrustInfo); - } - -// --------------------------------------------------------------------------- -// Definition of UnRegisterScript -// -// This method delegates the actual handling to the client-side session -// handle class -// --------------------------------------------------------------------------- -EXPORT_C TInt CRTSecManager::UnRegisterScript(TExecutableID aExeID, TPolicyID aPolicyID) - { - RTSecMgrTraceFunction("CRTSecManager::UnRegisterScript(TExecutableID aExeID, TPolicyID aPolicyID)") ; - return (*iClientProxy)->UnRegisterScript(aExeID,aPolicyID); - } - -// --------------------------------------------------------------------------- -// Definition of GetScriptSession -// -// This method starts a client-side sub-session handle, modelling script -// session. This in turn creates a server-side peer sub-session handle -// --------------------------------------------------------------------------- -/*EXPORT_C CRTSecMgrScriptSession* CRTSecManager::GetScriptSession(TPolicyID aPolicyID, - TExecutableID aExecID, - MSecMgrPromptHandler* aPromptHdlr,const TDesC& aHashValue) - { - if(aExecID<=KAnonymousScript) - return NULL; - - CRTSecMgrScriptSession* scriptSession = CRTSecMgrScriptSession::NewLC(aPromptHdlr); - - if(KErrNone==scriptSession->Open(iClientProxy->Session(),aPolicyID,aExecID)) - { - CleanupStack::Pop(scriptSession); - return scriptSession; - } - - if(scriptSession) - CleanupStack::PopAndDestroy(scriptSession); - - return NULL; - }*/ - - -// --------------------------------------------------------------------------- -// Definition of GetScriptSession -// -// This method starts a client-side sub-session handle, modelling script -// session. This in turn creates a server-side peer sub-session handle -// --------------------------------------------------------------------------- -EXPORT_C CRTSecMgrScriptSession* CRTSecManager::GetScriptSessionL(TPolicyID aPolicyID, - const CTrustInfo& aTrustInfo, - MSecMgrPromptHandler* aPromptHdlr) - { - RTSecMgrTraceFunction("CRTSecManager::GetScriptSession(TPolicyID aPolicyID,\ - const CTrustInfo& aTrustInfo,\ - MSecMgrPromptHandler* aPromptHdlr)") ; - CRTSecMgrScriptSession* scriptSession = CRTSecMgrScriptSession::NewLC(aPromptHdlr); - - if(KErrNone==scriptSession->Open(iClientProxy->Session(),aPolicyID,KAnonymousScript,aTrustInfo)) - { - CleanupStack::Pop(scriptSession); - return scriptSession; - } - - if(scriptSession) - CleanupStack::PopAndDestroy(scriptSession); - - return NULL; - } - -// --------------------------------------------------------------------------- -// Definition of GetScriptSession -// -// This method starts a client-side sub-session handle, modelling script -// session. This in turn creates a server-side peer sub-session handle -// --------------------------------------------------------------------------- -EXPORT_C CRTSecMgrScriptSession* CRTSecManager::GetScriptSessionL(TPolicyID aPolicyID, - TExecutableID aExecID, - MSecMgrPromptHandler* aPromptHdlr, - const TDesC& aHashValue) - { - RTSecMgrTraceFunction("CRTSecManager::GetScriptSession(TPolicyID aPolicyID,\ - TExecutableID aExecID,MSecMgrPromptHandler* aPromptHdlr,\ - const TDesC& aHashValue)") ; - if(aExecID<=KAnonymousScript) - return NULL; - - CRTSecMgrScriptSession* scriptSession = CRTSecMgrScriptSession::NewLC(aPromptHdlr); - - if(KErrNone==scriptSession->Open(iClientProxy->Session(),aPolicyID,aExecID,aHashValue)) - { - CleanupStack::Pop(scriptSession); - return scriptSession; - } - - if(scriptSession) - CleanupStack::PopAndDestroy(scriptSession); - - return NULL; - } -