diff -r f10336de0cd6 -r faa5ef4f80da accesspointcontrol/apcontrollistplugin/inc/apcontrollistapiwrapper.h --- a/accesspointcontrol/apcontrollistplugin/inc/apcontrollistapiwrapper.h Thu Jun 17 22:32:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,240 +0,0 @@ -/* -* Copyright (c) 2006 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: -* Wrapper class for asyncron calls in RMyPhone and RMyCustomAPI. -* -*/ - -#ifndef APCONTROLLISTAPIWRAPPER_H -#define APCONTROLLISTAPIWRAPPER_H - -// INCLUDES -#include -#include - -// FORWARD DECLARATIONS -class CAPControlListPlugin; - -// CLASS DECLARATION -/** -* Wrapper class for asyncron calls in RMyPhone and RMyCustomAPI. -*/ -class CAPControlListAPIWrapper : public CActive - { - private: - // Enum for the states checked in RunL() - enum TRequestType { EGetACLStatus, EAddAPN, EAddAPNSecurity, - ERemoveAPN, ERemoveAPNSecurity, EActivateACL, - EActivateACLSecurity, EDeactivateACL, - EDeactivateACLSecurity, EReadData, - EEnumerateAPN, ENoRequest}; - - public: - // Constructor and destructor - - /** - * Constructor. - * @param aPlugin reference to the view - * @param aPriority priority for CActive - */ - CAPControlListAPIWrapper(CAPControlListPlugin& aPlugin, - TInt aPriority = EPriorityStandard ); - /** - * Destructor. - */ - ~CAPControlListAPIWrapper(); - - // New functions - - /** - * Initialises iPhone and iCustomAPI members. - * Uses User::WaitForRequest - * because we need to know the ACL status before Visible() is called. - */ - void ConstructL(); - - // Primary functions for the API calls - // These are the functions for which security check is necessary. - // If the security was already checked they call the correspondig - // secondary function. If the security wasn't already checked they - // call the asyncron security check and let RunL call the correspondig - // secondary function when the security check is finished. - /** - * Add APN to the ACL list - */ - void AddAPNL(); - /** - * Remove APN from the ACL list which is currently selected in the - * listbox. - */ - void RemoveAPN(); - /** - * Activates the ACL list - */ - void ActivateACL(); - /** - * Deactivates the ACL list - */ - void DeActivateACL(); - - /** - * Gets the ACL status then reads the ACL list. - * If this call is succesfull then RunL calls EnumerateAPN - * then it calls DoReadData - */ - void ReadData(); - - /** - * Method for checking if plugin should be visible and used in - * the Connection settings. - * @return ETrue if plugin should be visible. - * @return EFalse if plugin should not be visible. - */ - TBool Visible() const; - - /** - * Method for checking if the ACL list is enabled or not. - * @return ETrue if the ACL list is enabled. - * @return EFalse if the ACL list is not enabled. - */ - TBool Enabled() const; - - /** - * Calls RMyPhone::NotifyIccAccessCapsChange - * Used by CAPControlListCapsChange class. This function is nescessary - * since iPhone is a private member. - */ - void NotifyIccAccessCapsChange(TRequestStatus& aReqStatus, - TUint32& aCaps); - /** - * Calls RTelSubSessionBase::CancelAsyncRequest - * Used by CAPControlListCapsChange class. This function is nescessary - * since iPhone is a private member. - */ - void CancelNotify(); - - // Functions from CActive - /** - * Closes API in case of Cancel() - */ - void DoCancel(); - /** - * Handles asynchronous function completion - */ - void RunL(); - - private: - // New functions - - /** - * Called from one of the primary functions for the API calls - * Calls RMmCustomAPI::CheckSecurityCode asyncron call. This functon is - * called only once. - * @param aRequest We need this to set the state so we'll know in RunL - * which primary function called it. - */ - void SecurityCheck( TRequestType aRequest ); - - // Secondary functions for the API calls - /** - * Secondary function for AddAPNL().Makes the asyncron call to - * add an APN to the ACL list. - * If the security was already checked it is called from AddAPNL. - * If the security was not checked it is called from the RunL() - * when RunL() is called for RMmCustomAPI::CheckSecurityCode() - */ - void DoAddAPNL(); - /** - * Secondary function for RemoveAPN().Makes the asyncron call to - * remove an APN from the ACL list. - * If the security was already checked it is called from AddAPNL. - * If the security was not checked it is called from the RunL() - * when RunL() is called for RMmCustomAPI::CheckSecurityCode() - */ - void DoRemoveAPN(); - /** - * Secondary function for ActivateACL() and DeActivateACL().Makes the - * asyncron call to SetACLStatus either EAclStatusEnabled or - * EAclStatusDisabled. - * If the security was already checked it is called from ActivateACL() - * or DeActivateACL(). - * If the security was not checked it is called from the RunL() - * when RunL() is called for RMmCustomAPI::CheckSecurityCode() - * @param aAclStatus the status we want to set. - */ - void SetACLStatus( const RMobilePhone::TAPNControlListServiceStatus - aAPNControlListServiceStatus ); - - /** - * Reads the ACL list. - * Gets the number of items with an asyncron call. The actual reading - * of the APNs happens in DoReadData() - */ - void EnumerateAPN(); - - /** - * Reads an APN entry from the ACL list and puts it in the listbox. - * Called from RunL() when RunL() after ReadData() was called. It is - * called iSize times. - */ - void DoReadData(); - - /** - * Case EReadData in RunL - * Code removed from RunL to make it's size smaller - */ - void FinishReadDataL(); - - private: // Data - - //@var reference to the view - CAPControlListPlugin& iPlugin; - - // API objects - //@var RTelServer object for the ACL API - RTelServer iServer; - //@var RMobilePhone object for the ACL API - RMobilePhone iPhone; - //@var RMmCustomAPI object for the ACL API - RMmCustomAPI iCustomAPI; - - //@var state to store which is the current request - TRequestType iRequest; - - //@var ACL status - RMobilePhone::TAPNControlListServiceStatus iAclStatus; - - //@var phone is online - TBool iConnAllowed; - - //@var security checked - TBool iSecurityChecked; - - //@var AP Name from the user input ( AddAPN2L() ) - HBufC* iAPN; - - //members for reading data ( ReadData() ReadData2() ) - //@var AP Name in the form expected by the API - RMobilePhone::TAPNEntryV3 iApn; - //@var iApn packaged - RMobilePhone::TAPNEntryV3Pckg iApnPKG; - //@var size of the ACL list - TUint32 iSize; - //@var index of item currently read from the ACL list - TUint32 iIndex; - } ; - -#endif - -// End of file