TInt CCommDbTest036_03::executeStepL() { CCommsDbTemplateRecord* templateRecord = CCommsDbTemplateRecord::NewL(iTheDb, TPtrC(MODEM_BEARER)); CleanupStack::PushL(templateRecord); User::LeaveIfError(templateRecord->Modify()); TBufC<KCommsDbSvrMaxFieldLength> inputString = _L("string"); templateRecord->WriteTextL(TPtrC(COMMDB_NAME), _L("DummyName")); templateRecord->WriteTextL(TPtrC(MODEM_PORT_NAME), inputString); User::LeaveIfError(templateRecord->StoreModifications()); CleanupStack::PopAndDestroy(templateRecord); //Create a view on the modem table, make a new record and check the value is the one set for the template CCommsDbTableView* tableView = iTheDb->OpenTableLC(TPtrC(MODEM_BEARER)); TUint32 dummyId; //Create a new record, so we can be sure it is the same as the templated one User::LeaveIfError(tableView->InsertRecord(dummyId)); tableView->WriteTextL(TPtrC(COMMDB_NAME), _L("NewModem")); User::LeaveIfError(tableView->PutRecordChanges()); //Retrieve the string we set for the template TBuf<KCommsDbSvrMaxFieldLength> retrievedString; tableView->ReadTextL(TPtrC(MODEM_PORT_NAME), retrievedString); CleanupStack::PopAndDestroy(tableView); if(retrievedString!=inputString) return KErrGeneral; return KErrNone; }
/** * Function that takes an IP address from user input, accesses the * Bluetooth PAN Profile table in the CommDb and updates the IpAddr * field with the supplied address. */ void CPanConnections::SetLocalIpAddrL(TUint32 addr) { iLocalIpAddr = addr; iSrcAddr.SetAddress(iLocalIpAddr); CCommsDatabase* db = CCommsDatabase::NewL(); CleanupStack::PushL(db); // Get the LAN service table CCommsDbTableView* tableView = db->OpenTableLC(TPtrC(LAN_SERVICE)); TBuf<KMaxBufferSize> tableName; TInt err = tableView->GotoFirstRecord(); if(err == KErrNone) { // Get the name of the table tableView->ReadTextL(TPtrC(COMMDB_NAME), tableName); if(tableName == TPtrC(_S("BluetoothPANProfile"))) { TInetAddr tempAddr; TBuf<KMaxBufferSize> dispBuf; tempAddr.SetAddress(iLocalIpAddr); tempAddr.Output(dispBuf); User::LeaveIfError(tableView->UpdateRecord()); tableView->WriteTextL(_L("IpAddr"), dispBuf); User::LeaveIfError(tableView->PutRecordChanges()); User::LeaveIfError(db->CommitTransaction()); } } else { User::Leave(KErrNotFound); } CleanupStack::PopAndDestroy(2);//db & tableView }
TInt CCommDbTest036_02::executeStepL() { CCommsDbTemplateRecord* templateRecord = CCommsDbTemplateRecord::NewL(iTheDb, TPtrC(MODEM_BEARER)); CleanupStack::PushL(templateRecord); User::LeaveIfError(templateRecord->Modify()); TBufC8<KCommsDbSvrMaxFieldLength> firstInputString = _L8("string"); templateRecord->WriteTextL(TPtrC(COMMDB_NAME), _L("DummyName")); templateRecord->WriteTextL(TPtrC(MODEM_FAX_INIT_STRING), firstInputString); User::LeaveIfError(templateRecord->StoreModifications()); CleanupStack::PopAndDestroy(templateRecord); //Create a view on the modem table, over write the template value previosly set and check it sticks CCommsDbTableView* tableView = iTheDb->OpenTableLC(TPtrC(MODEM_BEARER)); TUint32 dummyId; //Create a new record, so we can be sure it is the same as the templated one User::LeaveIfError(tableView->InsertRecord(dummyId)); tableView->WriteTextL(TPtrC(COMMDB_NAME), _L("NewModem")); //Do overwrite of setting TBufC8<KCommsDbSvrMaxFieldLength> overwriteString = _L8("different string"); tableView->WriteTextL(TPtrC(MODEM_FAX_INIT_STRING), overwriteString); User::LeaveIfError(tableView->PutRecordChanges()); TBuf8<KCommsDbSvrMaxFieldLength> retrievedString; tableView->ReadTextL(TPtrC(MODEM_FAX_INIT_STRING), retrievedString); CleanupStack::PopAndDestroy(tableView); if(retrievedString!=overwriteString) return KErrGeneral; return KErrNone; }
// --------------------------------------------------------------------------- // TIap::ResolveIapL // --------------------------------------------------------------------------- // TInt TIap::ResolveIapL( RArray<TIap>& aIapArray ) { RDebug::Print( _L("TEST PRINT: CTestAppConsole::ResolveIapL -start\n") ); TBuf<40> name; TUint32 iapid; CCommsDatabase* db = CCommsDatabase::NewL( EDatabaseTypeIAP ); CleanupStack::PushL( db ); CCommsDbTableView* view = db->OpenTableLC( TPtrC( IAP ) ); TInt res = view->GotoFirstRecord(); if ( res != KErrNone ) { CleanupStack::PopAndDestroy( 2 ); // db, view RDebug::Print( _L("TEST PRINT: CTestAppConsole::ResolveIapL -end err: %d\n"), res ); return res; } while ( res == KErrNone ) { view->ReadTextL( TPtrC( COMMDB_NAME ), name ); view->ReadUintL( TPtrC( COMMDB_ID ), iapid ); aIapArray.AppendL( TIap( iapid, name ) ); res = view->GotoNextRecord(); } CleanupStack::PopAndDestroy( 2 ); // db, view RDebug::Print( _L("TEST PRINT: CTestAppConsole::ResolveIapL -end" ) ); return KErrNone; }
void CSymTorrentIAPSelectView::GetGPRSIAPsFromIAPTableL() { TBuf<52> iapfromtable; TBuf<53> listItem; TInt err = KErrNone; CCommsDatabase* commsDB = CCommsDatabase::NewL(EDatabaseTypeIAP); CleanupStack::PushL(commsDB); // Open IAP table using the GPRS as the bearer. CCommsDbTableView* gprsTable = commsDB->OpenIAPTableViewMatchingBearerSetLC(ECommDbBearerGPRS, ECommDbConnectionDirectionOutgoing); // Point to the first entry User::LeaveIfError(gprsTable->GotoFirstRecord()); gprsTable->ReadTextL(TPtrC(COMMDB_NAME), iapfromtable); listItem.SetLength(0); listItem.Append(_L("\t")); listItem.Append(iapfromtable); iContainer->AppendItemL(listItem); TUint32 id; gprsTable->ReadUintL(TPtrC(COMMDB_ID), id); User::LeaveIfError(iIAPIDs.Append(id)); while (err = gprsTable->GotoNextRecord(), err == KErrNone) { gprsTable->ReadTextL(TPtrC(COMMDB_NAME), iapfromtable); listItem.SetLength(0); listItem.Append(_L("\t")); listItem.Append(iapfromtable); iContainer->AppendItemL(listItem); TUint32 id; gprsTable->ReadUintL(TPtrC(COMMDB_ID), id); User::LeaveIfError(iIAPIDs.Append(id)); } CleanupStack::PopAndDestroy(); // gprsTable CleanupStack::PopAndDestroy(); // commsDB }
EXPORT_C void CPodcastModel::UpdateIAPListL() { iIapNameArray->Reset(); iIapIdArray.Reset(); CCommsDbTableView* table = iCommDB->OpenTableLC (TPtrC (IAP)); TInt ret = table->GotoFirstRecord (); TPodcastIAPItem IAPItem; TBuf <KCommsDbSvrMaxFieldLength> bufName; while (ret == KErrNone) // There was a first record { table->ReadUintL(TPtrC(COMMDB_ID), IAPItem.iIapId); table->ReadTextL (TPtrC(COMMDB_NAME), bufName); table->ReadTextL (TPtrC(IAP_BEARER_TYPE), IAPItem.iBearerType); table->ReadTextL (TPtrC(IAP_SERVICE_TYPE), IAPItem.iServiceType); iIapIdArray.Append(IAPItem); iIapNameArray->AppendL(bufName); ret = table->GotoNextRecord(); } CleanupStack::PopAndDestroy(); // Close table }
TInt CCommDbTest036_10::executeStepL() { CCommsDbTemplateRecord* templateRecord = CCommsDbTemplateRecord::NewL(iTheDb, TPtrC(DIAL_IN_ISP)); CleanupStack::PushL(templateRecord); User::LeaveIfError(templateRecord->Modify()); TUint32 inputInt = RMobileCall::KCapsSpeed32000; templateRecord->WriteTextL(TPtrC(COMMDB_NAME), _L("Name")); templateRecord->WriteTextL(TPtrC(ISP_IP_NAME_SERVER1),_L("MyDnsServer")); templateRecord->WriteBoolL(TPtrC(ISP_IP_ADDR_FROM_SERVER), ETrue); templateRecord->WriteBoolL(TPtrC(ISP_IP_DNS_ADDR_FROM_SERVER), ETrue); templateRecord->WriteBoolL(TPtrC(ISP_IP6_DNS_ADDR_FROM_SERVER), ETrue); templateRecord->WriteUintL(TPtrC(ISP_BEARER_SPEED), inputInt); User::LeaveIfError(templateRecord->StoreModifications()); CleanupStack::PopAndDestroy(templateRecord); //Create a view on the DialInISP table, make a new record and change the value we set in the template CCommsDbTableView* tableView = iTheDb->OpenTableLC(TPtrC(DIAL_IN_ISP)); TUint32 dummyId; //Create a new record, so we can be sure it is the same as the templated one User::LeaveIfError(tableView->InsertRecord(dummyId)); tableView->WriteTextL(TPtrC(COMMDB_NAME), _L("Test ISP")); tableView->WriteBoolL(TPtrC(ISP_IP_ADDR_FROM_SERVER), EFalse); tableView->WriteBoolL(TPtrC(ISP_IP_DNS_ADDR_FROM_SERVER), EFalse); tableView->WriteBoolL(TPtrC(ISP_IP6_DNS_ADDR_FROM_SERVER), EFalse); //Overwrite value we set in the template TUint32 overwriteInt = RMobileCall::KCapsSpeed64000; tableView->WriteUintL(TPtrC(ISP_BEARER_SPEED), overwriteInt); User::LeaveIfError(tableView->PutRecordChanges()); //Retrieve the TUint32 we just set TUint32 retrievedInt; tableView->ReadUintL(TPtrC(ISP_BEARER_SPEED), retrievedInt); TBuf16<KCommsDbSvrMaxFieldLength> ifAuthName(_L16("Invalid")); tableView->ReadTextL(TPtrC(ISP_IP_NAME_SERVER1), ifAuthName); if(ifAuthName.Compare(_L16("MyDnsServer"))) { User::Leave(KErrGeneral); } CleanupStack::PopAndDestroy(tableView); if(retrievedInt!=overwriteInt) return KErrGeneral; return KErrNone; }
// ----------------------------------------------------------------------------- // CCommsDatEnforcement::LockWLANAccessPointsL() // ----------------------------------------------------------------------------- // void CCommsDatEnforcement::LockWLANAccessPointsL( TBool aLockValue ) { RDEBUG_2("CCommsDatEnforcement::LockAccessPoint( %d )", aLockValue ); //Get WLAN service table and get ServiceID--> which is nothing but IAP ID and lock that record //TBool ret = EFalse; TUint32 apIAPID = 0; CCommsDbTableView* checkView; CCommsDatabase* commsDataBase = CCommsDatabase::NewL(); CleanupStack::PushL( commsDataBase ); checkView = commsDataBase->OpenTableLC(TPtrC(IAP)); RDEBUG(" -> After opening IAP table "); TBuf<KCommsDbSvrMaxFieldLength> serviceType; TInt error = checkView->GotoFirstRecord(); RDEBUG(" -> After going to first record "); while (error == KErrNone) { RDEBUG(" -> KERRNONE "); // Get the ID and check for service type checkView->ReadTextL(TPtrC(IAP_SERVICE_TYPE), serviceType); if(serviceType == TPtrC(LAN_SERVICE)) { checkView->ReadUintL(TPtrC(COMMDB_ID), apIAPID); RDEBUG_2(" ->found %d WLAN AP. being protected or unprotected", apIAPID ); if(aLockValue) { ((CCommsDbProtectTableView*)checkView)->ProtectRecord(); RDEBUG(" -> WLAN AP protected successfully!"); } else { ((CCommsDbProtectTableView*)checkView)->UnprotectRecord(); RDEBUG(" -> WLAN AP UN protected successfully!"); } } error = checkView->GotoNextRecord(); } CleanupStack::PopAndDestroy(); // checkView CleanupStack::PopAndDestroy( commsDataBase ); }
/** * Function that accesses the PAN Service Table in the CommsDb and configures * the IAP to the required settings. */ void CPanConnections::ConfigureIAPL(TBool aIsListening, TBTDevAddr* aDevAddr, TBool aUsePANNotifier) { // Open CommDb and get a view of the PAN service extentions table. CCommsDatabase* db = CCommsDatabase::NewL(); CleanupStack::PushL(db); CCommsDbTableView* tableView = db->OpenTableLC(TPtrC(PAN_SERVICE_EXTENSIONS)); TBuf<KMaxBufferSize> tableName; TInt err = tableView->GotoFirstRecord(); if(err == KErrNone) { tableView->ReadTextL(TPtrC(COMMDB_NAME), tableName); if(tableName == TPtrC(_S("PANServiceExtensionsTable1"))) { User::LeaveIfError(tableView->UpdateRecord());// Start update //enable listening mode tableView->WriteBoolL(TPtrC(PAN_ALLOW_INCOMING),aIsListening); tableView->WriteBoolL(TPtrC(PAN_DISABLE_SDP_QUERY), 0); tableView->WriteBoolL(TPtrC(PAN_PROMPT_FOR_REMOTE_DEVICES), aUsePANNotifier); if(aDevAddr) { TBuf<KMaxBufferSize> buf; aDevAddr->GetReadable(buf); tableView->WriteTextL(TPtrC(PAN_PEER_MAC_ADDRESSES), buf); } else { tableView->WriteTextL(TPtrC(PAN_PEER_MAC_ADDRESSES), _L("")); } // Finalise changes made. User::LeaveIfError(tableView->PutRecordChanges());// Finish update User::LeaveIfError(db->CommitTransaction()); CleanupStack::PopAndDestroy(2); // db & tableView return; } } User::Leave(KErrNotFound); }
/** * Function that will access the PAN service table in the CommDb * and use the values contained to printout the current state. */ void CPanConnections::PrintIAPL() { CCommsDatabase* db = CCommsDatabase::NewL(); CleanupStack::PushL(db); CCommsDbTableView* tableView = db->OpenTableLC(TPtrC(PAN_SERVICE_EXTENSIONS)); TInt err = tableView->GotoFirstRecord(); if(err == KErrNone) { // Print the IAP TUint32 uVal; TBool bVal; TBuf<KMaxBufferSize> sVal; iConsole.Printf(_L("------------------- CURRENT IAP ------------------\n")); tableView->ReadUintL(TPtrC(PAN_LOCAL_ROLE), uVal); iConsole.Printf(_L("Local Role: %d, "), uVal); tableView->ReadUintL(TPtrC(PAN_PEER_ROLE), uVal); iConsole.Printf(_L("Peer Role: %d\n"), uVal); tableView->ReadBoolL(TPtrC(PAN_PROMPT_FOR_REMOTE_DEVICES), bVal); iConsole.Printf(_L("Peer Prompt: %d, "), bVal); tableView->ReadBoolL(TPtrC(PAN_DISABLE_SDP_QUERY), bVal); iConsole.Printf(_L("Disable SDP: %d, "), bVal); tableView->ReadBoolL(TPtrC(PAN_ALLOW_INCOMING), bVal); iConsole.Printf(_L("Listening: %d\n"), bVal); tableView->ReadTextL(TPtrC(PAN_PEER_MAC_ADDRESSES), sVal); iConsole.Printf(_L("Peer MAC Addr: %S\n"), &sVal); iConsole.Printf(_L("--------------------------------------------------\n")); CleanupStack::PopAndDestroy(2); return; } User::Leave(KErrNotFound); }
/** * Function that accesses the PAN Service table in the CommDb * and applies the appropriate role, this function will be used for * local or peer as well as the PAN role (U or Gn). */ void CPanConnections::SetFixedRoleL(TSide aSide, TUint aRole) { if (aSide == ELocalRole) iLocalRole = aRole; else iPeerRole = aRole; CCommsDatabase* db = CCommsDatabase::NewL(); CleanupStack::PushL(db); CCommsDbTableView* tableView = db->OpenTableLC(TPtrC(PAN_SERVICE_EXTENSIONS)); TBuf<KMaxBufferSize> tableName; TInt err = tableView->GotoFirstRecord(); if(err == KErrNone) { tableView->ReadTextL(TPtrC(COMMDB_NAME), tableName); if(tableName == TPtrC(_S("PANServiceExtensionsTable1"))) { User::LeaveIfError(tableView->UpdateRecord()); if(aSide == ELocalRole) { tableView->WriteBoolL(TPtrC(PAN_LOCAL_ROLE), aRole); } else { tableView->WriteBoolL(TPtrC(PAN_PEER_ROLE), aRole); } User::LeaveIfError(tableView->PutRecordChanges()); User::LeaveIfError(db->CommitTransaction()); CleanupStack::PopAndDestroy(2); return; } } User::Leave(KErrNotFound); }
TInt CConnectionManager::SelectIAP() { CArrayFixFlat<TIapData>* iEApList=new (ELeave) CArrayFixFlat<TIapData>(2) ; TInt stack=0; // Make listitems. and PUSH it CAknSinglePopupMenuStyleListBox* list = new(ELeave) CAknSinglePopupMenuStyleListBox; CleanupStack::PushL(list); stack++; // Create popup list and PUSH it. CAknPopupList* popupList = CAknPopupList::NewL(list, R_AVKON_SOFTKEYS_OK_CANCEL, AknPopupLayouts::EMenuWindow); CleanupStack::PushL(popupList);stack++; CDesCArrayFlat* items = new (ELeave) CDesCArrayFlat(5); CleanupStack::PushL(items);stack++; // initialize listbox. list->ConstructL(popupList, CEikListBox::ELeftDownInViewRect); list->CreateScrollBarFrameL(ETrue); list->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto); TBuf<52> iapfromtable; TInt err = KErrNone; CCommsDatabase* iCommsDB=CCommsDatabase::NewL(EDatabaseTypeIAP); CleanupStack::PushL(iCommsDB);stack++; #ifdef __SERIES60_3X__ CCommsDbTableView* gprsTable = iCommsDB->OpenIAPTableViewMatchingBearerSetLC( iBearerFilter == EApBearerTypeWLAN ? ECommDbBearerWLAN : ECommDbBearerGPRS|ECommDbBearerWLAN|ECommDbBearerVirtual, ECommDbConnectionDirectionOutgoing); #else CCommsDbTableView* gprsTable = iCommsDB->OpenIAPTableViewMatchingBearerSetLC( ECommDbBearerGPRS|ECommDbBearerVirtual, ECommDbConnectionDirectionOutgoing); #endif User::LeaveIfError(gprsTable->GotoFirstRecord()); TInt i=0; TUint32 id; TIapData eap; TInt cur =0; //current value do { gprsTable->ReadTextL(TPtrC(COMMDB_NAME), iapfromtable); gprsTable->ReadUintL(TPtrC(COMMDB_ID), id); items->AppendL(iapfromtable); eap.iIap = id; eap.iName.Copy(iapfromtable); iEApList->AppendL(eap); err = gprsTable->GotoNextRecord(); i++; } while (err == KErrNone); CleanupStack::PopAndDestroy(2); stack--; // Set listitems. CTextListBoxModel* model = list->Model(); model->SetItemTextArray(items); model->SetOwnershipType(ELbmOwnsItemArray); CleanupStack::Pop(); popupList->SetTitleL(_L("Access Point")); list->SetListBoxObserver(popupList); TInt popupOk = popupList->ExecuteLD(); CleanupStack::Pop(); TInt iap=0; if (popupOk) { TInt index = list->CurrentItemIndex(); iap=(*iEApList)[index].iIap; } CleanupStack::PopAndDestroy(); iEApList->Reset(); delete iEApList; return iap; }