⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mybluetoothengineclass.cpp

📁 Symbian C++ 蓝牙例程
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    	{
    	iErrCodeBuf.AppendNum(iErrCode);
    	CEikonEnv::InfoWinL(_L("GetSearchMode Error "), iErrCodeBuf); 	
    	iErrCodeBuf.Zero();
    	}	
	}

// sets the Bluetooth Search Mode to General	
void CMyBTEngine::SetSearchMdGeneral()
	{
	iSearchMode = EBTSearchModeGeneral;
    
    iErrCode = iBtSettings->SetSearchMode(iSearchMode);
    if ( iErrCode == KErrNone )
    	{
    	CEikonEnv::InfoWinL(_L("setting of General "),_L("successful")); 	
    	}
    else
    	{
    	iErrCodeBuf.AppendNum(iErrCode);
    	CEikonEnv::InfoWinL(_L("SetSearchMdGeneral Error"), iErrCodeBuf); 	
    	iErrCodeBuf.Zero();
    	}
	}
    
// sets the Bluetooth Search Mode to Limited    
void CMyBTEngine::SetSearchMdLimited()
	{
	iSearchMode = EBTSearchModeLimited;
    
    iErrCode = iBtSettings->SetSearchMode(iSearchMode);
    if ( iErrCode == KErrNone )
    	{
    	CEikonEnv::InfoWinL(_L("setting of Limited "),_L("successful")); 	
    	}
    else
    	{
    	iErrCodeBuf.AppendNum(iErrCode);
    	CEikonEnv::InfoWinL(_L("SetSearchMdLimited Error"), iErrCodeBuf); 	
    	iErrCodeBuf.Zero();
    	}
    }

// gets the Bluetooth Power State
void CMyBTEngine::GetPowerState()
	{
	iErrCode = iBtSettings->GetPowerState(iPowerState);
	
	if ( iErrCode == KErrNone )
    	{
	    if(iPowerState)
		    {
		    CEikonEnv::InfoWinL(_L("BlueTooth On"),_L(""));
	 		}
	    else
	    	{
			CEikonEnv::InfoWinL(_L("BlueTooth Off"),_L(""));     	
	    	}
	    }
	else
		{
		iErrCodeBuf.AppendNum(iErrCode);
    	CEikonEnv::InfoWinL(_L("GetPowerState Error"), iErrCodeBuf); 	
    	iErrCodeBuf.Zero();
    	}
	}
	
// sets the Bluetooth Power State On 	
void CMyBTEngine::SetPowerStateOn()
	{
    iErrCode = iBtSettings->SetPowerState(ETrue);
    if ( iErrCode == KErrNone )
    	{
    	CEikonEnv::InfoWinL(_L("setting of Power State On"),_L("successful")); 	
    	}
    else
    	{
    	iErrCodeBuf.AppendNum(iErrCode);
    	CEikonEnv::InfoWinL(_L("SetPowerStateOn Error"), iErrCodeBuf); 	
    	iErrCodeBuf.Zero();
    	}
    }
    
// sets the Bluetooth Power State Off     
void CMyBTEngine::SetPowerStateOff()
	{
    iErrCode = iBtSettings->SetPowerState(EFalse);
    if ( iErrCode == KErrNone )
    	{
    	CEikonEnv::InfoWinL(_L("setting of Power State Off"),_L("successful")); 	
    	}
    else
    	{
    	iErrCodeBuf.AppendNum(iErrCode);
    	CEikonEnv::InfoWinL(_L("SetPowerStateOff Error"), iErrCodeBuf); 	
    	iErrCodeBuf.Zero();
    	}
    }
    
// gets the Bluetooth Sap Enabled Status    
void CMyBTEngine::GetBTSapEnabledStatus()
	{
	iErrCode = iBtSettings->GetBTSapEnableState(iSapMode);
	
	if ( iErrCode == KErrNone )
    	{
		if(iSapMode == EBTSapDisabled)
		    {
		    CEikonEnv::InfoWinL(_L("BlueTooth SAPMode"),_L("Disabled")); 	
	    	}
	    else
	    	{
	    	CEikonEnv::InfoWinL(_L("BlueTooth SAPMode"),_L("Enabled")); 	
	    	}
		}
	else
    	{
    	iErrCodeBuf.AppendNum(iErrCode);
    	CEikonEnv::InfoWinL(_L("GetBTSapEnabledStatus Error"), iErrCodeBuf); 	
    	iErrCodeBuf.Zero();
    	}
	}
	
// enables the Bluetooth Sap Mode	
void CMyBTEngine::EnableSapMode()
	{
	iSapMode = EBTSapEnabled;
    
    iErrCode = iBtSettings->EnableBTSap(iSapMode);
	
	if ( iErrCode == KErrNone )
    	{
    	CEikonEnv::InfoWinL(_L("Enabling BT Sap"),_L("successful")); 	
    	}
    else
    	{
    	iErrCodeBuf.AppendNum(iErrCode);
    	CEikonEnv::InfoWinL(_L("EnableSapMode Error"), iErrCodeBuf); 	
    	iErrCodeBuf.Zero();
    	}
	}

// disables the Bluetooth Sap Mode
void CMyBTEngine::DisableSapMode()
	{
	iSapMode = EBTSapDisabled;
    
    iErrCode = iBtSettings->EnableBTSap(iSapMode);
	
	if ( iErrCode == KErrNone )
    	{
    	CEikonEnv::InfoWinL(_L("Enabling BT Sap"),_L("successful")); 	
    	}
    else
    	{
    	iErrCodeBuf.AppendNum(iErrCode);
    	CEikonEnv::InfoWinL(_L("DisableSapMode Error"), iErrCodeBuf); 	
    	iErrCodeBuf.Zero();
    	}
	}
	
// gets the details of all the paired devices
void CMyBTEngine::GetBTGetPairedDevices()
	{
	CBTDeviceArray* selectedDeviceArray = new (ELeave) CArrayPtrFlat<CBTDevice>(4);
	
	CleanupStack::PushL(selectedDeviceArray);
	
	iErrCode =  iBtDeviceHandler.GetPairedDevicesL(*selectedDeviceArray);
	
	if(iErrCode == KErrNone)
		{	
		iDupAppView->UpdateListBoxItems(*selectedDeviceArray);
		}
	else
		{
		iErrCodeBuf.AppendNum(iErrCode);
    	CEikonEnv::InfoWinL(_L("GetBTGetPairedDevices Error"), iErrCodeBuf); 	
    	iErrCodeBuf.Zero();
    	}
	CleanupStack::Pop(selectedDeviceArray);
	}
	
// adds the device to Bluetooth Registry	
void CMyBTEngine::AddDeviceToRegistry()
	{
	iErrCode = iBtDeviceHandler.AddDeviceIntoRegistryL(*iBTDevice);
	
	if ( iErrCode == KErrNone )
		{
		CEikonEnv::InfoWinL(_L("Added to registry"), _L("successful"));
		}
	else
		{
		iErrCodeBuf.AppendNum(iErrCode);
    	CEikonEnv::InfoWinL(_L("AddDeviceToRegistry Error"), iErrCodeBuf); 	
    	iErrCodeBuf.Zero();
    	}
    }
	
// gets the device from Bluetooth Registry	
void CMyBTEngine::GetDeviceFromRegistry()	
	{
	CBTDevice* lBTDevice = CBTDevice::NewL();
	
	iErrCode = iBtDeviceHandler.GetDeviceFromRegistryL(*lBTDevice, iBTIntAddr);
	
	if ( iErrCode == KErrNone )
		{
		// using lBTDevice, one can retrieve DeviceName, its FriendlyName and its Bluetooth Address

		//sample code for retrieving DeviceName
		TBuf8<20> lDeviceName8 = lBTDevice->DeviceName();
		TBuf<20> lDeviceName16;
		lDeviceName16.Copy(lDeviceName8);
	
		CEikonEnv::InfoWinL(_L("Device Name"), lDeviceName16);
		}
	else
		{
		iErrCodeBuf.AppendNum(iErrCode);
    	CEikonEnv::InfoWinL(_L("GetDeviceFromRegistry Error"), iErrCodeBuf); 	
    	iErrCodeBuf.Zero();
    	}	
    delete lBTDevice;		
	}
	
// gets all the devices from Bluetooth Registry
void CMyBTEngine::GetDevicesFromRegistry()		
	{
	CBTDeviceArray* lSelectedDeviceArray = new (ELeave) CArrayPtrFlat<CBTDevice>(10);

	CleanupStack::PushL(lSelectedDeviceArray);

	iErrCode = iBtDeviceHandler.GetDevicesFromRegistryL(*lSelectedDeviceArray);	

	if(iErrCode == KErrNone)
		{
		iDupAppView->UpdateListBoxItems(*lSelectedDeviceArray);	
		}
	else
		{
		iErrCodeBuf.AppendNum(iErrCode);
    	CEikonEnv::InfoWinL(_L("GetDevicesFromRegistry Error"), iErrCodeBuf); 	
    	iErrCodeBuf.Zero();
    	}
	CleanupStack::PopAndDestroy(lSelectedDeviceArray);
	}

// deletes a Device from the Bluetooth Registry
void CMyBTEngine::DeleteDeviceFrmRegistry()
	{
	iErrCode = iBtDeviceHandler.DeleteDeviceFromRegistryL(*iBTDevice);	
	
	if ( iErrCode == KErrNone )
			{
			CEikonEnv::InfoWinL(_L("deletion"),_L("successful"));	
			}
		else
			{
			iErrCodeBuf.AppendNum(iErrCode);
    		CEikonEnv::InfoWinL(_L("DeleteDeviceFrmRegistry Error"), iErrCodeBuf); 	
    		iErrCodeBuf.Zero();
    		}
	}

// modifies a Device data into Bluetooth Registry
void CMyBTEngine::ModifyDeviceFrmRegistry()	
	{
	CAknTextQueryDialog* dlg = CAknTextQueryDialog::NewL(iDevFrdName);
	CleanupStack::PushL(dlg); 
    
    TInt errDlg = dlg->ExecuteLD(R_DATA_QUERY_DIALOG);
    if(errDlg)
    	{
    	iBTDevice->SetFriendlyNameL(iDevFrdName);
    	
		iErrCode = iBtDeviceHandler.ModifyDeviceInRegistryL(*iBTDevice);
		iDevFrdName.Zero();
		if ( iErrCode == KErrNone )
			{
			CEikonEnv::InfoWinL(_L("modification"),_L("successful"));
			}
		else
			{
			iErrCodeBuf.AppendNum(iErrCode);
    		CEikonEnv::InfoWinL(_L("ModifyDeviceFrmRegistry Error"), iErrCodeBuf); 	
    		iErrCodeBuf.Zero();
    		}
    	}
    else
    	{
    	CEikonEnv::InfoWinL(_L("name not Entered"),_L(""));
    	}
    
    CleanupStack::Pop(dlg);
	}

// sets Security params for the Device
void CMyBTEngine::SetDeviceSecurity()	
	{
	iErrCode = iBtDeviceHandler.SetDeviceSecurityL(*iBTDevice, ETrue, ETrue, ETrue);

	if ( iErrCode == KErrNone )
		{
		CEikonEnv::InfoWinL(_L("security settings"),_L("successful"));
		}
	else
		{
		iErrCodeBuf.AppendNum(iErrCode);
    	CEikonEnv::InfoWinL(_L("ModifyDeviceFrmRegistry Error"), iErrCodeBuf); 	
    	iErrCodeBuf.Zero();
    	}
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -