diff -r 6b1d113cdff3 -r 6638e7f4bd8f telephonyserverplugins/common_tsy/commontsy/inc/mmcustomtsy/CMmCustomSecurityTsy.h --- a/telephonyserverplugins/common_tsy/commontsy/inc/mmcustomtsy/CMmCustomSecurityTsy.h Mon May 03 13:37:20 2010 +0300 +++ b/telephonyserverplugins/common_tsy/commontsy/inc/mmcustomtsy/CMmCustomSecurityTsy.h Thu May 06 15:10:38 2010 +0100 @@ -1,336 +1,336 @@ -/* -* Copyright (c) 2006-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: -* -*/ - - - -#ifndef CCUSTOMMMSECURITYTSY_H -#define CCUSTOMMMSECURITYTSY_H - -// INCLUDES -#include "CMmCustomTsy.h" -#include "cmmtsyreqhandlestore.h" -#include -#include - -// FORWARD DECLARATIONS -class CMmMessageManagerBase; -class CMmDataPackage; - - -// CLASS DECLARATION - -/** -* CMmCustomSecurityTsy -*/ -NONSHARABLE_CLASS( CMmCustomSecurityTsy ) : public CBase - { - - public: - - // TSecurityRequestType enumerates indexes to Security's request handle - // table. Request handles are stored there while waiting for - // completion of the request. - enum TSecurityRequestType - { - ESecurityTsyReqHandleUnknown, - ESecurityRequestTypeIsBlocked, - ESecurityRequestTypeCheckSecurityCode, - ESecurityRequestTypeDisablePhoneLock, - - // Declare constant for those requests that need - // own request handle record in iTsyReqHandleStore above the - // following - ESecurityRequestTypeMaxNumOfRequests, - - // Let the next literal be the last - ESecurityRequestTypeUndefined = 0xff - }; - - public: // Constructors and destructor - - /** - * C++ default constructor. - */ - CMmCustomSecurityTsy(); - - /** - * Two-phased constructor. - */ - static CMmCustomSecurityTsy* NewL( CMmCustomTsy* aMmCustomTsy, - CMmPhoneTsy* aPhoneTsy ); - - /** - * Delivers password to extension for lock setting change - * - * @param aCodes - * @return KErrNone - */ - virtual TInt DeliverCodeL( RMobilePhone::TCodeAndUnblockCode aCodes ); - - /** - * Destructor. - */ - ~CMmCustomSecurityTsy(); - - public: - - /** - * Initialisation method - * - */ - void Init(); - - /** - * Tells whether the object supports given IPC. - * - * @param aIpc Request's IPC value - * @return TBool ETrue if object supports given IPC - */ - TBool SupportingIPC( const TInt aIpc ); - - /** - * Handles extended client requests. Uses TRAP to ensure functioning - * on memory allocation failure. - * - * @param aTsyReqHandle Request handle - * @param aIpc Request's IPC value - * @param aPackage Reference to a data package - * @return Error value - */ - TInt DoExtFuncL( const TTsyReqHandle aTsyReqHandle, - const TInt aIpc, - const TDataPackage& aPackage ); - - /** - * Returns request mode for given IPC number. - * - * @param aIpc An interprocess communication command identifier - * @return The ReqMode corresponding to given IPC - */ - CTelObject::TReqMode ReqModeL( const TInt aIpc ); - - /** - * Returns number of slots to be used for given IPC. - * - * @param aIpc An interprocess communication command identifier - * @return The number of slots reserved for a given IPC - */ - TInt NumberOfSlotsL( const TInt aIpc ); - - /** - * Cancels request of which IPC number and request handle are given - * in parameters. - * - * @param aIpc An interprocess communication command identifier - * @param aTsyReqHandle Request handle - * @return Error value - */ - TInt CancelService( const TInt aIpc, - const TTsyReqHandle aTsyReqHandle ); - - /** - * Register given notification. - * - * @param aIpc An interprocess communication command identifier - * @return KErrNotSupported - */ - TInt RegisterNotification( const TInt aIpc ); - - /** - * Deregister given notification. - * - * @param aIpc An interprocess communication command identifier - * @return KErrNotSupported - */ - TInt DeregisterNotification( const TInt aIpc ); - - public: // New functions - - /** - * Completes the IsBlocked response message. - * - * @param aError Error value - * @param aIsBlocked - */ - void CompleteIsBlocked( TInt aError, TBool aIsBlocked ); - - /** - * Completes the CheckSecurityCode response message. - * - * @param aError Error value - */ - void CompleteCheckSecurityCode( TInt aError ); - - /** - * Completes the CheckSecurityCodeCancel response message. - * - */ - void CompleteCheckSecurityCodeCancel(); - - /** - * Completes the DisablePhoneLock request. - * - * @param aError Error value - */ - void CompleteDisablePhoneLock( TInt aError ); - - /** - * Change the information about the currently active PIN. - * - * @param aDataPackage Data package - */ - void SetActivePin( CMmDataPackage* aDataPackage ); - - -#ifdef REQHANDLE_TIMER - /** - * Calls the needed complete method due the timer expiration - * - * @param aReqHandleType - * @param aError - */ - void Complete( TInt aReqHandleType, TInt aError ); -#endif //REQHANDLE_TIMER - - private: - - /** - * By default EPOC constructor is private. - */ - void ConstructL( CMmCustomTsy* aMmCustomTsy, CMmPhoneTsy* aMmPhoneTsy ); - - /** - * Is Blocked - * - * @param aTsyReqHandle Request handle - * @param aCode Security code type - * @param aIsBlocked - * @return Error value - */ - TInt IsBlocked( const TTsyReqHandle aTsyReqHandle, - RMmCustomAPI::TSecurityCodeType* aCode, - TBool* aIsBlocked ); - - /** - * Check Security Code - * - * @param aTsyReqHandle Request handle - * @param aCode Security code type - * @return Error value - */ - TInt CheckSecurityCodeL( const TTsyReqHandle aTsyReqHandle, - RMmCustomAPI::TSecurityCodeType* aCode ); - - /** - * Cancel the CheckSecurityCode request - * - * @return KErrNone - */ - TInt CheckSecurityCodeCancelL(); - - /** - * Disable Phone Lock - * - * @param aTsyReqHandle Request handle - * @param aPassword Password for verify - * @return Error value - */ - TInt DisablePhoneLockL( const TTsyReqHandle aTsyReqHandle, - RMobilePhone::TMobilePassword* aPassword ); - - /** - * Gets the currently active PIN (PIN/UPIN) code - * - * @param aTsyReqHandle Request handle - * @param aActivePin - * @return KErrNone - */ - TInt GetActivePin( const TTsyReqHandle aTsyReqHandle, - RMobilePhone::TMobilePhoneSecurityCode* aActivePin ); - -#ifdef REQHANDLE_TIMER - /** - * Chooses the type of response, automatic or common - * - * @param aReqHandleType - * @param aTsyReqHandle - */ - void SetTypeOfResponse( const TInt aReqHandleType, - const TTsyReqHandle aTsyReqHandle ); -#endif // REQHANDLE_TIMER - - private: // Data - - /** - * Pointer to CMmCustomTsy class - * Not Own. - */ - CMmCustomTsy* iMmCustomTsy; - - /** - * Pointer to request handle store - * Own. - */ - CMmTsyReqHandleStore* iTsyReqHandleStore; - - /** - * SIM CustomAPI request handle table - */ - TTsyReqHandle iSecReqHandles[ESecurityRequestTypeMaxNumOfRequests]; - - /** - * SIM CustomAPI request handle table - */ - TUint8 iTransId; - - /** - * Saves temporarily last TSY request type - */ - TSecurityRequestType iReqHandleType; - - /** - * Code: PIN, PIN2 or Security - */ - TUint8 iCodeID; - - /** - * Pointer to client side data - * Not Own. - */ - TBool* iIsBlocked; - - /** - * Variable for storing temporarily Security code - */ - RMobilePhone::TMobilePassword iSecCode; - - /** - * Pointer to CMmPhoneTsy class - * Not Own. - */ - CMmPhoneTsy* iMmPhoneTsy; - - /** - * Holding the information of the currently active PIN - */ - RMobilePhone::TMobilePhoneSecurityCode iActivePin; - - }; - -#endif // CMMCUSTOMSECURITYTSY_H - -// End of File +/* +* Copyright (c) 2006-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: +* +*/ + + + +#ifndef CCUSTOMMMSECURITYTSY_H +#define CCUSTOMMMSECURITYTSY_H + +// INCLUDES +#include "CMmCustomTsy.h" +#include "cmmtsyreqhandlestore.h" +#include +#include + +// FORWARD DECLARATIONS +class CMmMessageManagerBase; +class CMmDataPackage; + + +// CLASS DECLARATION + +/** +* CMmCustomSecurityTsy +*/ +NONSHARABLE_CLASS( CMmCustomSecurityTsy ) : public CBase + { + + public: + + // TSecurityRequestType enumerates indexes to Security's request handle + // table. Request handles are stored there while waiting for + // completion of the request. + enum TSecurityRequestType + { + ESecurityTsyReqHandleUnknown, + ESecurityRequestTypeIsBlocked, + ESecurityRequestTypeCheckSecurityCode, + ESecurityRequestTypeDisablePhoneLock, + + // Declare constant for those requests that need + // own request handle record in iTsyReqHandleStore above the + // following + ESecurityRequestTypeMaxNumOfRequests, + + // Let the next literal be the last + ESecurityRequestTypeUndefined = 0xff + }; + + public: // Constructors and destructor + + /** + * C++ default constructor. + */ + CMmCustomSecurityTsy(); + + /** + * Two-phased constructor. + */ + static CMmCustomSecurityTsy* NewL( CMmCustomTsy* aMmCustomTsy, + CMmPhoneTsy* aPhoneTsy ); + + /** + * Delivers password to extension for lock setting change + * + * @param aCodes + * @return KErrNone + */ + virtual TInt DeliverCodeL( RMobilePhone::TCodeAndUnblockCode aCodes ); + + /** + * Destructor. + */ + ~CMmCustomSecurityTsy(); + + public: + + /** + * Initialisation method + * + */ + void Init(); + + /** + * Tells whether the object supports given IPC. + * + * @param aIpc Request's IPC value + * @return TBool ETrue if object supports given IPC + */ + TBool SupportingIPC( const TInt aIpc ); + + /** + * Handles extended client requests. Uses TRAP to ensure functioning + * on memory allocation failure. + * + * @param aTsyReqHandle Request handle + * @param aIpc Request's IPC value + * @param aPackage Reference to a data package + * @return Error value + */ + TInt DoExtFuncL( const TTsyReqHandle aTsyReqHandle, + const TInt aIpc, + const TDataPackage& aPackage ); + + /** + * Returns request mode for given IPC number. + * + * @param aIpc An interprocess communication command identifier + * @return The ReqMode corresponding to given IPC + */ + CTelObject::TReqMode ReqModeL( const TInt aIpc ); + + /** + * Returns number of slots to be used for given IPC. + * + * @param aIpc An interprocess communication command identifier + * @return The number of slots reserved for a given IPC + */ + TInt NumberOfSlotsL( const TInt aIpc ); + + /** + * Cancels request of which IPC number and request handle are given + * in parameters. + * + * @param aIpc An interprocess communication command identifier + * @param aTsyReqHandle Request handle + * @return Error value + */ + TInt CancelService( const TInt aIpc, + const TTsyReqHandle aTsyReqHandle ); + + /** + * Register given notification. + * + * @param aIpc An interprocess communication command identifier + * @return KErrNotSupported + */ + TInt RegisterNotification( const TInt aIpc ); + + /** + * Deregister given notification. + * + * @param aIpc An interprocess communication command identifier + * @return KErrNotSupported + */ + TInt DeregisterNotification( const TInt aIpc ); + + public: // New functions + + /** + * Completes the IsBlocked response message. + * + * @param aError Error value + * @param aIsBlocked + */ + void CompleteIsBlocked( TInt aError, TBool aIsBlocked ); + + /** + * Completes the CheckSecurityCode response message. + * + * @param aError Error value + */ + void CompleteCheckSecurityCode( TInt aError ); + + /** + * Completes the CheckSecurityCodeCancel response message. + * + */ + void CompleteCheckSecurityCodeCancel(); + + /** + * Completes the DisablePhoneLock request. + * + * @param aError Error value + */ + void CompleteDisablePhoneLock( TInt aError ); + + /** + * Change the information about the currently active PIN. + * + * @param aDataPackage Data package + */ + void SetActivePin( CMmDataPackage* aDataPackage ); + + +#ifdef REQHANDLE_TIMER + /** + * Calls the needed complete method due the timer expiration + * + * @param aReqHandleType + * @param aError + */ + void Complete( TInt aReqHandleType, TInt aError ); +#endif //REQHANDLE_TIMER + + private: + + /** + * By default EPOC constructor is private. + */ + void ConstructL( CMmCustomTsy* aMmCustomTsy, CMmPhoneTsy* aMmPhoneTsy ); + + /** + * Is Blocked + * + * @param aTsyReqHandle Request handle + * @param aCode Security code type + * @param aIsBlocked + * @return Error value + */ + TInt IsBlocked( const TTsyReqHandle aTsyReqHandle, + RMmCustomAPI::TSecurityCodeType* aCode, + TBool* aIsBlocked ); + + /** + * Check Security Code + * + * @param aTsyReqHandle Request handle + * @param aCode Security code type + * @return Error value + */ + TInt CheckSecurityCodeL( const TTsyReqHandle aTsyReqHandle, + RMmCustomAPI::TSecurityCodeType* aCode ); + + /** + * Cancel the CheckSecurityCode request + * + * @return KErrNone + */ + TInt CheckSecurityCodeCancelL(); + + /** + * Disable Phone Lock + * + * @param aTsyReqHandle Request handle + * @param aPassword Password for verify + * @return Error value + */ + TInt DisablePhoneLockL( const TTsyReqHandle aTsyReqHandle, + RMobilePhone::TMobilePassword* aPassword ); + + /** + * Gets the currently active PIN (PIN/UPIN) code + * + * @param aTsyReqHandle Request handle + * @param aActivePin + * @return KErrNone + */ + TInt GetActivePin( const TTsyReqHandle aTsyReqHandle, + RMobilePhone::TMobilePhoneSecurityCode* aActivePin ); + +#ifdef REQHANDLE_TIMER + /** + * Chooses the type of response, automatic or common + * + * @param aReqHandleType + * @param aTsyReqHandle + */ + void SetTypeOfResponse( const TInt aReqHandleType, + const TTsyReqHandle aTsyReqHandle ); +#endif // REQHANDLE_TIMER + + private: // Data + + /** + * Pointer to CMmCustomTsy class + * Not Own. + */ + CMmCustomTsy* iMmCustomTsy; + + /** + * Pointer to request handle store + * Own. + */ + CMmTsyReqHandleStore* iTsyReqHandleStore; + + /** + * SIM CustomAPI request handle table + */ + TTsyReqHandle iSecReqHandles[ESecurityRequestTypeMaxNumOfRequests]; + + /** + * SIM CustomAPI request handle table + */ + TUint8 iTransId; + + /** + * Saves temporarily last TSY request type + */ + TSecurityRequestType iReqHandleType; + + /** + * Code: PIN, PIN2 or Security + */ + TUint8 iCodeID; + + /** + * Pointer to client side data + * Not Own. + */ + TBool* iIsBlocked; + + /** + * Variable for storing temporarily Security code + */ + RMobilePhone::TMobilePassword iSecCode; + + /** + * Pointer to CMmPhoneTsy class + * Not Own. + */ + CMmPhoneTsy* iMmPhoneTsy; + + /** + * Holding the information of the currently active PIN + */ + RMobilePhone::TMobilePhoneSecurityCode iActivePin; + + }; + +#endif // CMMCUSTOMSECURITYTSY_H + +// End of File