ipcm_pub/access_point_engine_api/inc/APSelect.h
changeset 61 8b0c979bbe8c
parent 59 2709c04a4af5
child 70 ac5daea24fb0
--- a/ipcm_pub/access_point_engine_api/inc/APSelect.h	Fri Sep 03 09:38:26 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,738 +0,0 @@
-/*
-* Copyright (c) 2002 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:  Declaration of the CApSelect class.
-*
-*/
-
-
-#ifndef CAPSELECT_H
-#define CAPSELECT_H
-
-// Deprecation warning
-#warning This header file has been deprecated and will be fully removed between weeks 12 and 18 of 2010. See Polonium CR #153 for details.
- 
- 
-//  INCLUDES
-#include <commdb.h>
-#include <ApEngineVer.h>
-#include <ApEngineConsts.h>
-
-
-// FORWARD DECLARATIONS
-class CApListItem;
-class CApListItemList;
-class CApUtils;
-
-
-
-enum TVpnFilterType
-    {
-    EVpnFilterVpnOnly,          ///< Shows only VPN access points
-    EVpnFilterNoVpn,            ///< Shows only non-VPN access points
-    EVpnFilterBoth              ///< Shows both normal and VPN access points
-    };
-
-
-// CLASS DECLARATION
-// Extra data holder
-typedef struct
-    {
-        TInt                iMaxIndex;
-        TInt                iReqIpvType;
-        TInt                iIsIpv6Supported;
-        TInt                iExtra;
-        TBool               iIsFeatureManagerInitialised;
-        TBool               iCdma;
-        TInt                iVpnFilterType; // TVpnFilterType values !!
-        TBool               iWlanSupported;
-        TBool               iIncludeEasyWlan;
-    }TSelectExtra;
-
-
-
-typedef struct
-    {
-    TUint32     iVpnIapId;
-    TUint32     iHomeIapId;
-    TUint32     iHomeSnapId;
-    HBufC *     iName;
-    }TVpnData;
-
-
-/**
-*  This class is used to help client's access point selection.
-*  Selection can be tailored with specific filters, rules and sort order.
-*  Provides methods for setting and getting filters and sort order.
-*
-*/
-class CApSelect :public CBase
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor. Leaves on failure, places instance
-        * on cleanup stack.
-        * @param aDb a pointer to a CCommsDataBase.
-        * @param aIspTypeFilter Filtering criteria on ISP type
-        * Possible values are:
-        * KEApIspTypeInternetOnly, KEApIspTypeWAPOnly,
-        * KEApIspTypeInternetAndWAP, KEApIspTypeWAPMandatory
-        * KEApIspTypeAll and their combinations.
-        * @param aBearerFilter Filtering criteria on bearer type
-        * Possible values are the TApBearer enums and
-        * their combinations (or-ed).
-        * @param aSortType Specifies the sort order to use.
-        * Possible values are:
-        * KEApSortUidAscending, KEApSortUidDescending,
-        * KEApSortNameAscending, KEApSortNameDescending
-        * @return The constructed CApSelect.
-        *
-        * @deprecated
-        */
-        IMPORT_C static CApSelect* NewLC(
-                                        CCommsDatabase& aDb,
-                                        TInt aIspFilter,
-                                        TInt aBearerFilter,
-                                        TInt aSortType
-                                        );
-
-
-        /**
-        * Two-phased constructor. Leaves on failure, places instance
-        * on cleanup stack.
-        * @param aDb a pointer to a CCommsDataBase.
-        * @param aIspTypeFilter Filtering criteria on ISP type
-        * Possible values are:
-        * KEApIspTypeInternetOnly, KEApIspTypeWAPOnly,
-        * KEApIspTypeInternetAndWAP, KEApIspTypeWAPMandatory
-        * KEApIspTypeAll and their combinations.
-        * @param aBearerFilter Filtering criteria on bearer type
-        * Possible values are the TApBearer enums and
-        * their combinations (or-ed).
-        * @param aSortType Specifies the sort order to use.
-        * Possible values are:
-        * KEApSortUidAscending, KEApSortUidDescending,
-        * KEApSortNameAscending, KEApSortNameDescending
-        * @param aReqIpvType Filtering criteria on the IPv type of the 
-        * access point. In case of GPRS, GPRS_PDP_TYPE holds it, while
-        * in case of CSD, all CSD access points are 
-        * considered to be IPv4 & IPv6 (both)
-        * @return The constructed CApSelect.
-        *
-        * @deprecated
-        */
-        IMPORT_C static CApSelect* NewLC(
-                                        CCommsDatabase& aDb,
-                                        TInt aIspFilter,
-                                        TInt aBearerFilter,
-                                        TInt aSortType,
-                                        TInt aReqIpvType
-                                        );
-
-
-
-        /**
-        * Two-phased constructor. Leaves on failure, places instance
-        * on cleanup stack.
-        * @param aDb a pointer to a CCommsDataBase.
-        * @param aIspTypeFilter Filtering criteria on ISP type
-        * Possible values are:
-        * KEApIspTypeInternetOnly, KEApIspTypeWAPOnly,
-        * KEApIspTypeInternetAndWAP, KEApIspTypeWAPMandatory
-        * KEApIspTypeAll and their combinations.
-        * @param aBearerFilter Filtering criteria on bearer type
-        * Possible values are the TApBearer enums and
-        * their combinations (or-ed).
-        * @param aSortType Specifies the sort order to use.
-        * Possible values are:
-        * KEApSortUidAscending, KEApSortUidDescending,
-        * KEApSortNameAscending, KEApSortNameDescending
-        * @param aReqIpvType Filtering criteria on the IPv type of the 
-        * access point. In case of GPRS, GPRS_PDP_TYPE holds it, while
-        * in case of CSD, all CSD access points are 
-        * considered to be IPv4 & IPv6 (both)
-        * @param aVpnFilterType a TVpnFilterType enum specifying the 
-        * vpn filtering.
-        * @return The constructed CApSelect.
-        *
-        * @deprecated
-        */
-        IMPORT_C static CApSelect* NewLC(
-                                        CCommsDatabase& aDb,
-                                        TInt aIspFilter,
-                                        TInt aBearerFilter,
-                                        TInt aSortType,
-                                        TInt aReqIpvType,
-                                        TVpnFilterType aVpnFilterType );
-
-
-        /**
-        * Two-phased constructor. Leaves on failure, places instance
-        * on cleanup stack.
-        * @param aDb a pointer to a CCommsDataBase.
-        * @param aIspTypeFilter Filtering criteria on ISP type
-        * Possible values are:
-        * KEApIspTypeInternetOnly, KEApIspTypeWAPOnly,
-        * KEApIspTypeInternetAndWAP, KEApIspTypeWAPMandatory
-        * KEApIspTypeAll and their combinations.
-        * @param aBearerFilter Filtering criteria on bearer type
-        * Possible values are the TApBearer enums and
-        * their combinations (or-ed).
-        * @param aSortType Specifies the sort order to use.
-        * Possible values are:
-        * KEApSortUidAscending, KEApSortUidDescending,
-        * KEApSortNameAscending, KEApSortNameDescending
-        * @param aReqIpvType Filtering criteria on the IPv type of the 
-        * access point. In case of GPRS, GPRS_PDP_TYPE holds it, while
-        * in case of CSD, all CSD access points are 
-        * considered to be IPv4 & IPv6 (both)
-        * @param aVpnFilterType a TVpnFilterType enum specifying the 
-        * vpn filtering.
-        * @param aIncludeEasyWlan TBool specifying whther to include
-        * EasyWlan access point in the list or not...
-        * @return The constructed CApSelect.
-        *
-        * @deprecated
-        */
-        IMPORT_C static CApSelect* NewLC(
-                                        CCommsDatabase& aDb,
-                                        TInt aIspFilter,
-                                        TInt aBearerFilter,
-                                        TInt aSortType,
-                                        TInt aReqIpvType,
-                                        TVpnFilterType aVpnFilterType,
-                                        TBool aIncludeEasyWlan );
-
-
-        /**
-        * Destructor.
-        *
-        * @deprecated
-        */
-        IMPORT_C virtual ~CApSelect();
-
-
-    protected:      // Constructors
-
-        /**
-        * C++ default constructor.
-        *
-        * @deprecated
-        */
-        IMPORT_C CApSelect();
-
-
-        /**
-        * Second-phase constructor.
-        * @param aDb a pointer to a CCommsDataBase.
-        * @param aIspTypeFilter Filtering criteria on ISP type
-        * Possible values are:
-        * KEApIspTypeInternetOnly, KEApIspTypeWAPOnly,
-        * KEApIspTypeInternetAndWAP, KEApIspTypeWAPMandatory
-        * KEApIspTypeAll and their combinations.
-        * @param aBearerFilter Filtering criteria on bearer type
-        * Possible values are the TApBearer enums and
-        * their combinations (or-ed).
-        * @param aSortType Specifies the sort order to use.
-        * Possible values are:
-        * KEApSortUidAscending, KEApSortUidDescending,
-        * KEApSortNameAscending, KEApSortNameDescending
-        *
-        * @deprecated
-        */
-        IMPORT_C void ConstructL(
-                                CCommsDatabase& aDb,
-                                TInt aIspFilter,
-                                TInt aBearerFilter,
-                                TInt aSortType
-                                );
-
-
-        /**
-        * Second-phase constructor.
-        * @param aDb a pointer to a CCommsDataBase.
-        * @param aIspTypeFilter Filtering criteria on ISP type
-        * Possible values are:
-        * KEApIspTypeInternetOnly, KEApIspTypeWAPOnly,
-        * KEApIspTypeInternetAndWAP, KEApIspTypeWAPMandatory
-        * KEApIspTypeAll and their combinations.
-        * @param aBearerFilter Filtering criteria on bearer type
-        * Possible values are the TApBearer enums and
-        * their combinations (or-ed).
-        * @param aSortType Specifies the sort order to use.
-        * Possible values are:
-        * KEApSortUidAscending, KEApSortUidDescending,
-        * KEApSortNameAscending, KEApSortNameDescending
-        * @param aReqIpvType Filtering criteria on the IPv type of the 
-        * access point. In case of GPRS, GPRS_PDP_TYPE holds it, while
-        * in case of CSD, all CSD access points are 
-        * considered to be IPv4 & IPv6 (both)
-        *
-        * @deprecated
-        */
-        IMPORT_C void ConstructL(
-                                CCommsDatabase& aDb,
-                                TInt aIspFilter,
-                                TInt aBearerFilter,
-                                TInt aSortType,
-                                TInt aReqIpvType
-                                );
-
-
-        /**
-        * Second-phase constructor.
-        * @param aDb a pointer to a CCommsDataBase.
-        * @param aIspTypeFilter Filtering criteria on ISP type
-        * Possible values are:
-        * KEApIspTypeInternetOnly, KEApIspTypeWAPOnly,
-        * KEApIspTypeInternetAndWAP, KEApIspTypeWAPMandatory
-        * KEApIspTypeAll and their combinations.
-        * @param aBearerFilter Filtering criteria on bearer type
-        * Possible values are the TApBearer enums and
-        * their combinations (or-ed).
-        * @param aSortType Specifies the sort order to use.
-        * Possible values are:
-        * KEApSortUidAscending, KEApSortUidDescending,
-        * KEApSortNameAscending, KEApSortNameDescending
-        * @param aReqIpvType Filtering criteria on the IPv type of the 
-        * access point. In case of GPRS, GPRS_PDP_TYPE holds it, while
-        * in case of CSD, all CSD access points are 
-        * considered to be IPv4 & IPv6 (both)
-        * @param aVpnFilterType a TVpnFilterType enum specifying the 
-        * vpn filtering.
-        *
-        * @deprecated
-        */
-        IMPORT_C void ConstructL( CCommsDatabase& aDb,
-                                 TInt aIspFilter,
-                                 TInt aBearerFilter,
-                                 TInt aSortType,
-                                 TInt aReqIpvType,
-                                 TVpnFilterType aVpnFilterType 
-                                 );
-                                 
-        /**
-        * Second-phase constructor.
-        * @param aDb a pointer to a CCommsDataBase.
-        * @param aIspTypeFilter Filtering criteria on ISP type
-        * Possible values are:
-        * KEApIspTypeInternetOnly, KEApIspTypeWAPOnly,
-        * KEApIspTypeInternetAndWAP, KEApIspTypeWAPMandatory
-        * KEApIspTypeAll and their combinations.
-        * @param aBearerFilter Filtering criteria on bearer type
-        * Possible values are the TApBearer enums and
-        * their combinations (or-ed).
-        * @param aSortType Specifies the sort order to use.
-        * Possible values are:
-        * KEApSortUidAscending, KEApSortUidDescending,
-        * KEApSortNameAscending, KEApSortNameDescending
-        * @param aReqIpvType Filtering criteria on the IPv type of the 
-        * access point. In case of GPRS, GPRS_PDP_TYPE holds it, while
-        * in case of CSD, all CSD access points are 
-        * considered to be IPv4 & IPv6 (both)
-        * @param aVpnFilterType a TVpnFilterType enum specifying the 
-        * vpn filtering.
-        * @param aIncludeEasyWlan TBool specifying whther to include
-        * EasyWlan access point in the list or not...
-        *
-        * @deprecated
-        */                                 
-        IMPORT_C void ConstructL( CCommsDatabase& aDb,
-                                 TInt aIspFilter,
-                                 TInt aBearerFilter,
-                                 TInt aSortType,
-                                 TInt aReqIpvType,
-                                 TVpnFilterType aVpnFilterType,
-                                 TBool aIncludeEasyWlan );
-                                 
-    public: // New functions
-        /**
-        * Sets filters and sorting order for the list of available
-        * access points
-        * @param aIspTypeFilter Filtering criteria on ISP type
-        * Possible values are:
-        * KEApIspTypeInternetOnly, KEApIspTypeWAPOnly,
-        * KEApIspTypeInternetAndWAP,
-        * KEApIspTypeWAPMandatory, KEApIspTypeAll and their combinations.
-        * @param aBearerFilter Filtering criteria on bearer type
-        * Possible values are the TApBearer enums and
-        * their combinations (or-ed).
-        * @param aSortType Specifies the sort order to use.
-        * Possible values are:
-        * KEApSortUidAscending, KEApSortUidDescending,
-        * KEApSortNameAscending, KEApSortNameDescending
-        *
-        * @deprecated
-        */
-        IMPORT_C void SetFiltersL(
-                                 TInt aIspFilter,
-                                 TInt aBearerFilter,
-                                 TInt aSortType
-                                 );
-
-
-
-        /**
-        * Gets the current ISP-type filter
-        * @return The current ISP-type filter
-        *
-        * @deprecated
-        */
-        IMPORT_C TInt IspTypeFilter();
-
-
-        /**
-        * Gets the current bearer-type filter
-        * @return The current bearer-type filter
-        *
-        * @deprecated
-        */
-        IMPORT_C TInt BearerFilter();
-
-
-        /**
-        * Gets the current sorting order
-        * @return The current sorting order
-        *
-        * @deprecated
-        */
-        IMPORT_C TInt SortOrder();
-
-
-        /**
-        * Navigates to the first access point in the list.
-        * @return Boolean indicating the success of the operation.
-        *
-        * @deprecated
-        */
-        IMPORT_C TBool  MoveToFirst();
-
-
-        /**
-        * Navigates to the next access point in the list.
-        * @return Boolean indicating the success of the operation.
-        *
-        * @deprecated
-        */
-        IMPORT_C TBool  MoveNext();
-
-
-        /**
-        * Navigates to the last access point in the list.
-        * @return Boolean indicating the success of the operation.
-        *
-        * @deprecated
-        */
-        IMPORT_C TBool  MoveLast();
-
-
-        /**
-        * Navigates to the previous access point in the list.
-        * @return Boolean indicating the success of the operation.
-        *
-        * @deprecated
-        */
-        IMPORT_C TBool  MovePrev();
-
-
-        /**
-        * Counts the items in the list
-        * @return The number of items in the list.
-        *
-        * @deprecated
-        */
-        IMPORT_C TUint32 Count();
-
-
-        /**
-        * Gets the name of the 'current' access point
-        * Ownership of the returned text is not passed.
-        * @return The name of the current access point
-        *
-        * @deprecated
-        */
-        IMPORT_C const TDesC& Name();
-
-
-        /**
-        * Gets the UID of the current access point
-        * @return The UID of the current access point
-        *
-        * @deprecated
-        */
-        IMPORT_C TUint32 Uid();
-
-
-        /**
-        * Gets the ISP-type of the current access point
-        * @return The ISP-type of the current access point.
-        *
-        * @deprecated
-        */
-        IMPORT_C TCommsDbIspType Type();
-
-
-        /**
-        * Gets the bearer-type of the current access point
-        * @return The bearer-type of the current access point.
-        *
-        * @deprecated
-        */
-        IMPORT_C TApBearerType BearerType();
-
-
-        /**
-        * Provides all data in a CApListItemList array.
-        * @param aList A reference to a CApListItemList object
-        * to hold the values.
-        * @return The number of items in the list.
-        * All elements in the aList array and their memory
-        * will be freed inside the routine.
-        * The routine expands or shrinks the array as necessary
-        * to minimize memory consumption.
-        *
-        * @deprecated
-        */
-        IMPORT_C TInt AllListItemDataL( CApListItemList& aList );
-
-        /**
-        * Returns whether the current item is read-only or not.
-        * @return Returns whether the current item is read-only or not.
-        *
-        * @deprecated
-        */
-        IMPORT_C TBool IsReadOnly() const;
-
-    private:
-        /**
-        * This function updates the member data according to the
-        * current filter settings.
-        * @return Error code.
-        */
-        TInt DoUpdateL();
-
-
-        /**
-        * Gets the filtered and sorted wap table
-        * and places it on the Cleanupstack
-        */
-        CCommsDbTableView* GetFilteredSortedWapTableViewLC();
-
-
-        /**
-        * Gets the filtered and sorted IP bearer table
-        * and places it on the Cleanupstack
-        */
-        CCommsDbTableView* GetFilteredSortedIpBearerTableViewLC();
-
-
-        /**
-        * Gets the filtered and sorted ISP table
-        * and places it on the Cleanupstack
-        */
-        CCommsDbTableView* GetFilteredSortedIspOutTableViewLC();
-
-
-        /**
-        * Gets the filtered and sorted GPRS table
-        * and places it on the Cleanupstack
-        */
-        CCommsDbTableView* GetFilteredSortedGprsTableViewLC( TBool aIn );
-
-        /**
-        * Reads up the specified columns TUint32 values stored
-        * in the table and returns it in the passed array
-        */
-        void GetUintValuesL
-                (
-                CCommsDbTableView* aTable,
-                const TDesC& aField,
-                CArrayFixFlat<TUint32>& aArray
-                );
-
-
-        /**
-        * Reads up the protection values stored
-        * in the table and returns it in the passed array
-        */
-        void GetProtValuesL( CCommsDbTableView* aTable,
-                             CArrayFixFlat<TUint32>& aArray );
-
-        /**
-        * Reads up the specified columns text values stored
-        * in the table and returns it in the passed array
-        */
-        void GetTextValuesL
-                (
-                CCommsDbTableView* aTable,
-                const TDesC& aField,
-                CArrayPtrFlat<HBufC>& aArray
-                );
-
-
-        /**
-        * Reads up the specified columns long text values stored
-        * in the table and returns it in the passed array
-        */
-        void GetLongTextValuesL
-                (
-                CCommsDbTableView* aTable,
-                const TDesC& aField,
-                CArrayPtrFlat<HBufC>& aArray
-                );
-
-
-        /**
-        * Returns whether a given value is in the given array or not
-        */
-        TBool IsInArray( CArrayFixFlat<TUint32>* aArray, TUint32 aValue );
-
-
-        /**
-        * Returns the position of a given value in the given array.
-        */
-        TInt PosInArray( CArrayFixFlat<TUint32>* aArray, TUint32 aValue );
-
-
-        /**
-        * Returns the position of an item with a given UID in the given list.
-        */
-        TInt GetItemPos( CApListItemList* aTmpApList, TUint32 aId );
-
-
-        /**
-        * Opens a view on the given table where a given text coloumn has
-        * a given value
-        * @return the opened view on the table
-        */
-        CCommsDbTableView* OpenViewMatchingTextL
-                                (
-                                const TDesC& aTableName,
-                                const TDesC& aColumnToMatch,
-                                const TDesC16& aValueToMatch
-                                );
-
-        /**
-        * Gets the ISP values (ISP UID, ISP type, ISP bearer type)
-        * from a given table
-        * @param aTable the table to go through (already filtered & ordered)
-        * @param aArray An array to hold the readed values
-        * @param aColName Column name (different column names are used for
-        * CSD/GPRS/CDMA.
-        */
-        void GetIspValuesL
-                (
-                CCommsDbTableView* aTable,
-                CArrayFixFlat<TUint32[3]>* aArray,
-                const TDesC& aColName
-                );
-
-        /**
-        * Gets the position of an element with a given IAP UID
-        */
-        TInt GetIapPos
-                (
-                CArrayFixFlat<TUint32[3]>* aArray,
-                TUint32 aValue
-                );
-
-        /**
-        * Sorts the data according to localised sorting on the 
-        * access point names, using CompareC
-        */
-        void SortLocalisedNameL( TBool aAscending = ETrue );
-
-
-        /**
-        * Sorts the data according to Uids
-        */
-        void SortUidL( TBool aAscending = ETrue );
-
-
-
-    private:    // New functions
-        /**
-        * Sets filters and sorting order for the list of available
-        * access points
-        * @param aIspTypeFilter Filtering criteria on ISP type
-        * Possible values are:
-        * KEApIspTypeInternetOnly, KEApIspTypeWAPOnly,
-        * KEApIspTypeInternetAndWAP,
-        * KEApIspTypeWAPMandatory, KEApIspTypeAll and their combinations.
-        * @param aBearerFilter Filtering criteria on bearer type
-        * Possible values are the TApBearer enums and
-        * their combinations (or-ed).
-        * @param aSortType Specifies the sort order to use.
-        * Possible values are:
-        * KEApSortUidAscending, KEApSortUidDescending,
-        * KEApSortNameAscending, KEApSortNameDescending
-        * @param aReqIpvType The filtering criteria for IPv type
-        * @param aVpnFilterType The Vpn filtering type, TVpnFilterType values
-        */
-        void SetFiltersL( TInt aIspFilter,
-                          TInt aBearerFilter,
-                          TInt aSortType,
-                          TInt aReqIpvType,
-                          TInt aVpnFilterType
-                         );
-
-
-        /**
-        * Returns a pointer to the opened VPN_SERVICE table
-        */
-        CCommsDbTableView* GetVpnTableViewLC();
-
-
-        /**
-        * Gets the VPN values (VPN IAP UID, VPN HOME IAP UID, VPN Name )
-        * from the given VPN table
-        * @param aTable the table to go through (already filtered & ordered)
-        * @param aVpnArray An array to hold the readed vpn data values
-        */
-        void GetVpnValuesL( CCommsDbTableView* aTable, 
-                            CArrayFixFlat<TVpnData>* aVpnArray );
-
-
-        /**
-        * Returns the supported bearer set from the passed requested bearer set
-        * @param aBearerFilter The requested bearer set
-        * return The supported subset of the requested bearers.
-        */
-        TInt GetSupportedBearerSet( TInt aBearerFilter );
-
-
-        /**
-        * Adding WLAN or LAN access points to existing list.
-        * aWlan a TBool specifying whether WLAN or LAN
-        */
-        void AddLanL( TBool aWlan );
-
-
-
-
-    private:    // Data
-        CCommsDatabase*             iDb;    // Does not own it!
-        TInt                        iIsp;
-        TInt                        iBearer;
-        TInt                        iSort;
-        CApListItemList*            iApList;
-        TInt                        iCursor;
-        TInt                        iCount;
-        TSelectExtra*               iExt;
-
-    };
-
-#endif      // CAPSELECT_H
-
-// End of File