Archived:How can I create a WLAN access point and automatically connect to it?
Article Metadata
Compatibility
Article
Overview
How can I create a WLAN access point and automatically connect to it?
Description
Below is a code snippet for creating a WLAN access point and automatically connecting to it with RConnection.
//------------------------------------------------------------------------------
// Create a WLAN AP and fill in its mandatory fields.
CApAccessPointItem *wlan = CApAccessPointItem::NewLC();
wlan->SetNamesL(_L("myWLAN_IAP"));
wlan->SetBearerTypeL(EApBearerTypeWLAN);
wlan->WriteTextL(EApWlanNetworkName, _L("mySSID"));
// Store it into CommDb
CCommsDatabase *db = CCommsDatabase::NewL();
CleanupStack::PushL(db);
CApDataHandler *handler = CApDataHandler::NewLC(*db);
TUint32 apId = handler->CreateFromDataL(*wlan);
CApUtils *aputil = CApUtils::NewLC(*db);
TUint32 wapuid = wlan->WapUid();
TInt Iap = aputil->IapIdFromWapIdL(wapuid);
// Remove the comments below to run the AP settings dialog,
// in case the AP needs to have WEP setting etc. entered
/*
CApSettingsHandler *settings =
CApSettingsHandler::NewLC(
EFalse,
EApSettingsSelListIsListPane,
EApSettingsSelMenuNormal, 0, 0, 0);
settings->RunSettingsL(apId, apId);
*/
CleanupStack::PopAndDestroy(4); // (5) if CApSettingsHandler is used
// Create an RConnection using a defined IAP
RSocketServ server;
RConnection connection;
TInt error;
error = server.Connect(KESockDefaultMessageSlots);
error = connection.Open(server, KConnectionTypeDefault);
TCommDbConnPref prefs;
prefs.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
prefs.SetDirection(ECommDbConnectionDirectionOutgoing);
prefs.SetIapId(Iap);
error = connection.Start(prefs);
...
// Close connection / server
// connection.Close();
// server.Close();
//------------------------------------------------------------------------------

