WEB开发网
开发学院手机开发Symbian 开发 Symbian IAP的选择以及接入点的隐藏 阅读

Symbian IAP的选择以及接入点的隐藏

 2010-08-11 12:11:00 来源:WEB开发网   
核心提示://选择默认的接入点 aIapType接入点的类型 得到对应的接入点aIapIdvoid ***Engine::SetDefaultIap(TInt aIapType, TUint32 &aIapId){TBuf apnName;TBuf<10> defApn;TUint32 fakeIapId;aIapI

//选择默认的接入点 aIapType接入点的类型 得到对应的接入点aIapId

void ***Engine::SetDefaultIap(TInt aIapType, TUint32 &aIapId)

{

TBuf apnName;

TBuf<10> defApn;

TUint32 fakeIapId;

aIapId = 0;

if(aIapType == 0)

defApn = _L("net");//这里最好写成net,因为联通的卡不是cmnet

else if(aIapType == 1)

defApn = _L("wap");//这里最好写成WAP,因为联通的卡不是cmwap

else if(aIapType == 2) //模拟器

defApn = _L("Winsock");

int temp = -1;

TBuf<64> Name;

TUint32 id = 0;

CCommsDatabase* CommDb = CCommsDatabase::NewL(EDatabaseTypeIAP);

CleanupStack::PushL(CommDb);

//先在OUTGOING_GPRS表里查找

CCommsDbTableView* tableIAP = CommDb->OpenTableLC(TPtrC(OUTGOING_GPRS));

if (tableIAP->GotoFirstRecord() == KErrNone)

{

do

{

TBuf<64> bufApn;

tableIAP->ReadTextL(TPtrC(GPRS_APN),bufApn);

tableIAP->ReadTextL(TPtrC(COMMDB_NAME), Name);

tableIAP->ReadUintL(TPtrC(COMMDB_ID), id);

if (bufApn.FindF(defApn) != -1)

{

temp = id;

break;

}

}

while (tableIAP->GotoNextRecord() == KErrNone);

}

CleanupStack::PopAndDestroy(); // view

TBuf<128> CommDBNamename;

//再在IAP表里查找,根据上一个表查到的NAME来查出IAP ID

CCommsDbTableView* view = CommDb->OpenTableLC(TPtrC(IAP));

int err = view->GotoFirstRecord();

while (err == KErrNone)

{

view->ReadUintL(TPtrC(COMMDB_ID), id); //接入点ID

view->ReadTextL(TPtrC(COMMDB_NAME), CommDBNamename);//连接名称

if (CommDBNamename.CompareF(Name) == 0)

1 2  下一页

Tags:Symbian IAP 选择

编辑录入:coldstar [复制链接] [打 印]
赞助商链接