wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlanscanresultcache.h
changeset 39 3d23268b50f6
parent 0 c40eb8fe8501
equal deleted inserted replaced
36:1c425781161e 39:3d23268b50f6
    13 *
    13 *
    14 * Description:  Cache for scan results
    14 * Description:  Cache for scan results
    15 *
    15 *
    16 */
    16 */
    17 
    17 
       
    18 /*
       
    19 * %version: 13 %
       
    20 */
    18 
    21 
    19 #ifndef WLANSCANRESULTCACHE_H
    22 #ifndef WLANSCANRESULTCACHE_H
    20 #define WLANSCANRESULTCACHE_H
    23 #define WLANSCANRESULTCACHE_H
    21 
    24 
    22 #include <e32base.h>
    25 #include <e32base.h>
    31 struct TWlanAvailableNetwork
    34 struct TWlanAvailableNetwork
    32     {
    35     {
    33     TBuf8<KMaxSSIDLength> ssid;
    36     TBuf8<KMaxSSIDLength> ssid;
    34     EConnectionMode networkType;
    37     EConnectionMode networkType;
    35     WlanSecurityMode securityMode;
    38     WlanSecurityMode securityMode;
       
    39     TUint8 rcpi;
    36     };
    40     };
    37 
    41 
    38 /**
    42 /**
    39  * CWlanScanResultCache
    43  * CWlanScanResultCache
    40  * The class caches latest scan results for a specific time period.
    44  * The class caches latest scan results for a specific time period.
    73     ScanList* GetScanList(
    77     ScanList* GetScanList(
    74         TUint aCacheLifetime );
    78         TUint aCacheLifetime );
    75     
    79     
    76     /**
    80     /**
    77      * Updates the list of available networks (IAPs and SSIDs)
    81      * Updates the list of available networks (IAPs and SSIDs)
    78      * @param aIapIdList List of available IAPs.
    82      * @param aIapAvailabilityList List of available IAPs.
    79      * @param aNetworkList List of available networks.
    83      * @param aNetworkList List of available networks.
    80      * @param aNewIapsAvailable is set to ETrue on completion if
    84      * @param aNewIapsAvailable is set to ETrue on completion if
    81      *        new networks or IAPs were detected since the last update.
    85      *        new networks or IAPs were detected since the last update.
    82      * @param aOldIapsLost is set to ETrue on completion if
    86      * @param aOldIapsLost is set to ETrue on completion if
    83      *        networks or IAPs have been lost since the last update.
    87      *        networks or IAPs have been lost since the last update.
    84      */
    88      */
    85     void UpdateAvailableNetworksList(
    89     void UpdateAvailableNetworksList(
    86         core_type_list_c<u32_t>& aIapIdList,
    90         core_type_list_c<core_iap_availability_data_s>& aIapAvailabilityList,
    87         RArray<TWlanAvailableNetwork>& aNetworkList,
    91         RArray<TWlanAvailableNetwork>& aNetworkList,
    88         TBool& aNewIapsAvailable,
    92         TBool& aNewIapsAvailable,
    89         TBool& aOldIapsLost );
    93         TBool& aOldIapsLost );
    90     
    94     
    91     /**
    95     /**
    94      * @param aIapList Latest list of WLAN IAPs from commsdat.
    98      * @param aIapList Latest list of WLAN IAPs from commsdat.
    95      * @param aCacheLifetime how old results (in seconds) are considered valid.
    99      * @param aCacheLifetime how old results (in seconds) are considered valid.
    96      * @return Pointer to list of available IAPs or NULL if they are not available
   100      * @return Pointer to list of available IAPs or NULL if they are not available
    97      * or they are too old.
   101      * or they are too old.
    98      */
   102      */
    99     RArray<TUint>* AvailableIaps(
   103     RArray<TWlmAvailabilityData>* AvailableIaps(
   100         RArray<TWlanLimitedIapData>& aIapList,
   104         RArray<TWlanLimitedIapData>& aIapList,
   101         TUint aCacheLifetime );
   105         TUint aCacheLifetime );
   102 
   106 
   103     /**
   107     /**
   104      * Returns the latest list of WLAN IAPs from commsdat.
   108      * Returns the latest list of WLAN IAPs from commsdat.
   142     static TBool IsNetworkEqual(
   146     static TBool IsNetworkEqual(
   143         const TWlanAvailableNetwork& aFirst,
   147         const TWlanAvailableNetwork& aFirst,
   144         const TWlanAvailableNetwork& aSecond );
   148         const TWlanAvailableNetwork& aSecond );
   145 
   149 
   146     /**
   150     /**
       
   151      * Method for determining whether two IAPs are equal.
       
   152      * @param aFirst First IAP.
       
   153      * @param aSecond Second IAP.
       
   154      * @return Result of comparison.
       
   155      */
       
   156     static TBool IsIapEqual(
       
   157         const TWlmAvailabilityData& aFirst,
       
   158         const TWlmAvailabilityData& aSecond );
       
   159 
       
   160     /**
   147      * Check whether the given IAP list is equal with the given IAP data list.
   161      * Check whether the given IAP list is equal with the given IAP data list.
   148      *
   162      *
   149      * @param aIapList IAP list to compare.
   163      * @param aIapList IAP list to compare.
   150      * @param aIapDataList IAP data list to compare against.
   164      * @param aIapDataList IAP data list to compare against.
   151      * @return ETrue is the lists are equal, EFalse otherwise.
   165      * @return ETrue is the lists are equal, EFalse otherwise.
   152      */
   166      */
   153     TBool IsIapListEqual(
   167     static TBool IsIapListEqual(
   154         const RArray<TWlanLimitedIapData>& aFirst,
   168         const RArray<TWlanLimitedIapData>& aFirst,
   155         const RArray<TWlanLimitedIapData>& aSecond );
   169         const RArray<TWlanLimitedIapData>& aSecond );
   156 
   170 
   157     /**
   171     /**
   158      * Update the list of IAPs from the given IAP data list.
   172      * Update the list of IAPs from the given IAP data list.
   175 
   189 
   176     /** Latest list of IAPs. */
   190     /** Latest list of IAPs. */
   177     RArray<TWlanLimitedIapData> iIapList;
   191     RArray<TWlanLimitedIapData> iIapList;
   178 
   192 
   179     /** Latest list of available IAPs */
   193     /** Latest list of available IAPs */
   180     RArray<TUint> iAvailableIapList;
   194     RArray<TWlmAvailabilityData> iAvailableIapList;
   181 
   195 
   182     /** Latest list of available networks */
   196     /** Latest list of available networks */
   183     RArray<TWlanAvailableNetwork> iAvailableNetworkList;
   197     RArray<TWlanAvailableNetwork> iAvailableNetworkList;
   184 
   198 
   185     };
   199     };