diff -r 000000000000 -r 3553901f7fa8 telephonyserverplugins/ctsydispatchlayer/inc/csecuritydispatcher.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserverplugins/ctsydispatchlayer/inc/csecuritydispatcher.h Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,152 @@ +// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "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: +// + +/** + @file + @internalAll +*/ + +#ifndef __CSECURITYDISPATCHER_H_ +#define __CSECURITYDISPATCHER_H_ + +// INCLUDES +#include +#include +#include +#include + +#include + + +#include "requestqueueoneshot.h" +#include +#include "mdispatchercallback.h" + +// FORWARD DECLARATIONS +class CMmDataPackage; +class MmMessageManagerCallback; +class TDispatcherHolder; + +class MLtsyDispatchSecurityGetSecurityCodeInfo; +class MLtsyDispatchSecurityGetLockInfo; +class MLtsyDispatchSecurityAbortSecurityCode; +class MLtsyDispatchSecurityGetCurrentActivePin; +class MLtsyDispatchSecuritySetLockSetting; +class MLtsyDispatchSecurityVerifySecurityCode; +class MLtsyDispatchSecurityGetPin1DisableSupported; +class MLtsyDispatchSecurityCheckSecurityCode; +class MLtsyDispatchSecurityDisablePhoneLock; +class MLtsyDispatchSecurityGetCipheringInfo; +class MLtsyDispatchSecurityIsSecurityCodeBlocked; +class MLtsyDispatchSecurityCheckSecurityCodeCancel; + +// CLASS DECLARATION + +/** + * This class is responsible for packing and unpacking data belonging + * to Security related requests to the Licensee LTSY. + */ +class CSecurityDispatcher : public CBase, public MDispatcherCallback + { +public: + + virtual ~CSecurityDispatcher(); + + static CSecurityDispatcher* NewL( + MLtsyDispatchFactoryV1& aLtsyFactory, + MmMessageManagerCallback& aMessageManagerCallback, + CRequestQueueOneShot& aRequestAsyncOneShot); + + static CSecurityDispatcher* NewLC( + MLtsyDispatchFactoryV1& aLtsyFactory, + MmMessageManagerCallback& aMessageManagerCallback, + CRequestQueueOneShot& aRequestAsyncOneShot); + + // Dispatcher functions for dispatching requests DOWN to the Licensee LTSY + + TInt DispatchGetSecurityCodeInfoL(const CMmDataPackage* aDataPackage); + TInt DispatchGetLockInfoL(const CMmDataPackage* aDataPackage); + TInt DispatchAbortSecurityCodeL(const CMmDataPackage* aDataPackage); + TInt DispatchGetCurrentActivePinL(); + TInt DispatchSetLockSettingL(const CMmDataPackage* aDataPackage); + TInt DispatchVerifySecurityCodeL(const CMmDataPackage* aDataPackage); + TInt DispatchGetPin1DisableSupportedL(); + TInt DispatchCheckSecurityCodeL(const CMmDataPackage* aDataPackage); + TInt DispatchDisablePhoneLockL(const CMmDataPackage* aDataPackage); + TInt DispatchGetCipheringInfoL(); + TInt DispatchIsSecurityCodeBlockedL(const CMmDataPackage* aDataPackage); + TInt DispatchCheckSecurityCodeCancelL(const CMmDataPackage* aDataPackage); + + + // Complete functions for receiving completions UP from the Licensee LTSY + // via the CCtsyDispatcherCallback object. + + void CallbackBootNotifySecurityReady(TInt aError); + void CallbackNotifySecurityEvent(TInt aError, RMobilePhone::TMobilePhoneSecurityEvent aSecEvent); + void CallbackNotifyLockInfoChange(TInt aError, RMobilePhone::TMobilePhoneLockStatus aStatus, RMobilePhone::TMobilePhoneLockSetting aSetting, RMobilePhone::TMobilePhoneLock aLock); + void CallbackGetSecurityCodeInfo(TInt aError, RMobilePhone::TMobilePhoneSecurityCode aSecCode, TInt aRemainingEntryAttempts); + void CallbackGetLockInfo(TInt aError, RMobilePhone::TMobilePhoneLockStatus aLockStatus, RMobilePhone::TMobilePhoneLockSetting aLockSetting); + void CallbackAbortSecurityCode(TInt aError); + void CallbackGetCurrentActivePin(TInt aError, RMobilePhone::TMobilePhoneSecurityCode aSecCode); + void CallbackSetLockSetting(TInt aError); + void CallbackVerifySecurityCode(TInt aError); + void CallbackGetPin1DisableSupported(TInt aError, TBool aIsSupported); + void CallbackNotifyCipheringInfoChange(TInt aError, const RMmCustomAPI::TCipheringInfo& aInfo); + void CallbackCheckSecurityCode(TInt aError); + void CallbackDisablePhoneLock(TInt aError); + void CallbackGetCipheringInfo(TInt aError, TBool aIndStatus); + void CallbackIsSecurityCodeBlocked(TInt aError, TBool aIsBlocked); + void CallbackCheckSecurityCodeCancel(TInt aError); + + // From MDispatcherCallback + void CallbackSync(CRequestQueueOneShot::TIpcDataPackage& aIpcDataPackage); + + // Other public functions + void SetDispatcherHolder(TDispatcherHolder& aDispatcherHolder); + +private: + + CSecurityDispatcher(MLtsyDispatchFactoryV1& aLtsyFactory, + MmMessageManagerCallback& aMessageManagerCallback, + CRequestQueueOneShot& aRequestAsyncOneShot); + + void ConstructL(); + +private: // Not owned + + MLtsyDispatchFactoryV1& iLtsyFactoryV1; + MmMessageManagerCallback& iMessageManagerCallback; + CRequestQueueOneShot& iRequestAsyncOneShot; + TDispatcherHolder* iDispatcherHolder; + + // Interfaces in the Licensee LTSY, not owned by this object + + MLtsyDispatchSecurityGetSecurityCodeInfo* iLtsyDispatchSecurityGetSecurityCodeInfo; + MLtsyDispatchSecurityGetLockInfo* iLtsyDispatchSecurityGetLockInfo; + MLtsyDispatchSecurityAbortSecurityCode* iLtsyDispatchSecurityAbortSecurityCode; + MLtsyDispatchSecurityGetCurrentActivePin* iLtsyDispatchSecurityGetCurrentActivePin; + MLtsyDispatchSecuritySetLockSetting* iLtsyDispatchSecuritySetLockSetting; + MLtsyDispatchSecurityVerifySecurityCode* iLtsyDispatchSecurityVerifySecurityCode; + MLtsyDispatchSecurityGetPin1DisableSupported* iLtsyDispatchSecurityGetPin1DisableSupported; + MLtsyDispatchSecurityCheckSecurityCode* iLtsyDispatchSecurityCheckSecurityCode; + MLtsyDispatchSecurityDisablePhoneLock* iLtsyDispatchSecurityDisablePhoneLock; + MLtsyDispatchSecurityGetCipheringInfo* iLtsyDispatchSecurityGetCipheringInfo; + MLtsyDispatchSecurityIsSecurityCodeBlocked* iLtsyDispatchSecurityIsSecurityCodeBlocked; + MLtsyDispatchSecurityCheckSecurityCodeCancel* iLtsyDispatchSecurityCheckSecurityCodeCancel; + + }; // class CSecurityDispatcher + +#endif // __CSECURITYDISPATCHER_H_ +