This page was last modified 10:42, 24 August 2007.
TSS000418 - Creating, deleting, editing, and listing WLAN access points
From Forum Nokia Wiki
Subject:
| Creating, deleting, editing, and listing WLAN access points
| TSS000418
|
| Platform(s):
| Device(s), SW version(s):
|
| S60 3rd Edition
|
|
Category:
| Symbian C++
|
Subcategory:
| Networking CommDB
|
Description:
| Sometimes S60 3rd-party applications may want to provide the functionality for managing access points through their UI. It is possible for applications to programmatically create, edit, and delete access points. To create, delete, edit, and list WLAN APs, the following headers/libraries are used: #include <commdb.h> // link against commdb.lib #include <apselect.h> // link against apengine.lib #include <aplistitem.h> #include <apdatahandler.h> #include <apaccesspointitem.h> #include <aputils.h> A short example for each type of operation:
Creating an access point: CApAccessPointItem *wlan = CApAccessPointItem::NewLC(); wlan->SetNamesL(_L("NewAP")); wlan->SetBearerTypeL(EApBearerTypeWLAN); wlan->WriteTextL(EApWlanNetworkName, _L("WlanAP")); // Store it into the CommsDb CCommsDatabase *commDb = CCommsDatabase::NewL(); CleanupStack::PushL(db); CApDataHandler *handler = CApDataHandler::NewLC(*commDb); TUint32 newApId = handler->CreateFromDataL(*wlan); CleanupStack::PopAndDestroy(3); // handler, commDb, wlan
Removing an access point: handler->RemoveAPL(myUid); // myUid: ID of an AP to remove
Editing an access point: handler->AccessPointDataL(myUid, *wlan); // myUid: ID of an AP to edit TInt err; err = wlan->WriteTextL(EApWlanNetworkName, _L("NewName")); // EApWlanNetworkName is the column to edit. // Other columns are listed in ApAccessPointItem.h TBool nameChanged; handler->UpdateAccessPointDataL(*iaccessPoint, nameChanged);
Getting the UID of the access points: The UIDs of access points can be retrieved as follows: CCommsDatabase* commDb = CCommsDatabase::NewL(EDatabaseTypeIAP); CleanupStack::PushL(commDb); CApSelect* select = CApSelect::NewLC( *commDb, KEApIspTypeAll, EApBearerTypeWLAN, // use EApBearerTypeAll for all types KEApSortUidAscending); TBuf<256> accessPoints; _LIT(KAPInfoTxtFormat, "[%d]%S "); TBool ok = select->MoveToFirst(); for(TInt i = 0; ok && (i < select->Count()); i++) { accessPoints.AppendFormat( KAPInfoTxtFormat, select->Uid(), &select->Name()); ok = select->MoveNext(); } CleanupStack::PopAndDestroy(2); // select, commDb // accessPoints descriptor now contains WLAN AP IDs + names
|
Creation date:
| September 21, 2006
|
Last modified:
| -
|