📄 class_c_chat_bt.html
字号:
<a name="l00323"></a>00323 {<a name="l00324"></a>00324 HBufC* errClientBusy = StringLoader::LoadLC ( R_CHAT_CLIENT_BUSY );<a name="l00325"></a>00325 <a class="code" href="class_c_chat_bt.html#9d387bbae93f2ae894f3e1c32e6bf1c6">iLog</a>.<a class="code" href="class_m_log.html#70fb5098d98a8b349c056b46102d5de9">LogL</a>( *errClientBusy );<a name="l00326"></a>00326 CleanupStack::PopAndDestroy( errClientBusy );<a name="l00327"></a>00327 <a name="l00328"></a>00328 User::Leave( KErrInUse );<a name="l00329"></a>00329 }<a name="l00330"></a>00330 }</pre></div><p> </td> </tr></table><a class="anchor" name="90fa17f1549fcafa070e14c9e5e7234d"></a><!-- doxytag: member="CChatBt::DisconnectL" ref="90fa17f1549fcafa070e14c9e5e7234d" args="()" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">void CChatBt::DisconnectL </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p><a class="el" href="class_c_chat_bt.html#90fa17f1549fcafa070e14c9e5e7234d">DisconnectL()</a> Disconnect from remote machine <p>Definition at line <a class="el" href="_chat_bt_8cpp-source.html#l00337">337</a> of file <a class="el" href="_chat_bt_8cpp-source.html">ChatBt.cpp</a>.<p>References <a class="el" href="_chat_bt_8cpp-source.html#l00358">DisconnectFromServerL()</a>, <a class="el" href="_chat_bt_8h-source.html#l00189">iLog</a>, <a class="el" href="class_m_log.html#70fb5098d98a8b349c056b46102d5de9">MLog::LogL()</a>, <a class="el" href="_chat_base_8cpp-source.html#l00130">CChatBase::SetState()</a>, and <a class="el" href="_chat_base_8cpp-source.html#l00140">CChatBase::State()</a>.<div class="fragment"><pre class="fragment"><a name="l00338"></a>00338 {<a name="l00339"></a>00339 <span class="keywordflow">if</span> ( ( <a class="code" href="class_c_chat_base.html#af77e92297a4bac4704e440284577ebe">State</a>() == EConnected )||( <a class="code" href="class_c_chat_base.html#af77e92297a4bac4704e440284577ebe">State</a>() == ESendingMessage ) )<a name="l00340"></a>00340 {<a name="l00341"></a>00341 <a class="code" href="class_c_chat_bt.html#e109483d24ec2fbd018840d64f6242c5">DisconnectFromServerL</a>();<a name="l00342"></a>00342 <a class="code" href="class_c_chat_base.html#deacd9f98d0548748cf116698aea2be0">SetState</a>( EDisconnecting );<a name="l00343"></a>00343 }<a name="l00344"></a>00344 <span class="keywordflow">else</span><a name="l00345"></a>00345 {<a name="l00346"></a>00346 HBufC* errNoConn = StringLoader::LoadLC ( R_CHAT_ERR_NO_CONN );<a name="l00347"></a>00347 <a class="code" href="class_c_chat_bt.html#9d387bbae93f2ae894f3e1c32e6bf1c6">iLog</a>.<a class="code" href="class_m_log.html#70fb5098d98a8b349c056b46102d5de9">LogL</a>( *errNoConn );<a name="l00348"></a>00348 CleanupStack::PopAndDestroy( errNoConn );<a name="l00349"></a>00349 User::Leave( KErrDisconnected );<a name="l00350"></a>00350 }<a name="l00351"></a>00351 }</pre></div><p> </td> </tr></table><a class="anchor" name="39e335eb18324d0cfd3d4956caee5100"></a><!-- doxytag: member="CChatBt::SendMessageL" ref="39e335eb18324d0cfd3d4956caee5100" args="(TDes &aText)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">void CChatBt::SendMessageL </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">TDes & </td> <td class="mdname1" valign="top" nowrap> <em>aText</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p><a class="el" href="class_c_chat_bt.html#39e335eb18324d0cfd3d4956caee5100">SendMessageL()</a> Sends a message to a service on a remote machine. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>aText</em> </td><td>Text to send </td></tr> </table></dl><p>Definition at line <a class="el" href="_chat_bt_8cpp-source.html#l00408">408</a> of file <a class="el" href="_chat_bt_8cpp-source.html">ChatBt.cpp</a>.<p>References <a class="el" href="_chat_bt_8h-source.html#l00243">iActiveSocket</a>, <a class="el" href="_chat_bt_8h-source.html#l00195">iMessage</a>, <a class="el" href="_chat_base_8cpp-source.html#l00130">CChatBase::SetState()</a>, and <a class="el" href="_chat_base_8cpp-source.html#l00140">CChatBase::State()</a>.<div class="fragment"><pre class="fragment"><a name="l00409"></a>00409 {<a name="l00410"></a>00410 <a name="l00411"></a>00411 <span class="keywordflow">if</span> ( <a class="code" href="class_c_chat_base.html#af77e92297a4bac4704e440284577ebe">State</a>() != EConnected )<a name="l00412"></a>00412 {<a name="l00413"></a>00413 User::Leave( KErrDisconnected );<a name="l00414"></a>00414 }<a name="l00415"></a>00415 <a name="l00416"></a>00416 <span class="comment">// stop reading socket</span><a name="l00417"></a>00417 <span class="keywordflow">if</span> ( <a class="code" href="class_c_chat_bt.html#42435def2f80909f7700ad684c625f0f">iActiveSocket</a> )<a name="l00418"></a>00418 {<a name="l00419"></a>00419 <a class="code" href="class_c_chat_bt.html#42435def2f80909f7700ad684c625f0f">iActiveSocket</a>->CancelRead();<a name="l00420"></a>00420 }<a name="l00421"></a>00421 <a name="l00422"></a>00422 <span class="keywordflow">if</span> ( IsActive() )<a name="l00423"></a>00423 {<a name="l00424"></a>00424 Cancel();<a name="l00425"></a>00425 }<a name="l00426"></a>00426 TBufC<KChatTextBufLength> message ( aText );<a name="l00427"></a>00427 <a class="code" href="class_c_chat_base.html#deacd9f98d0548748cf116698aea2be0">SetState</a>( ESendingMessage );<a name="l00428"></a>00428 HBufC* tempString = HBufC::NewL( message.Length() );<a name="l00429"></a>00429 CleanupStack::PushL( tempString );<a name="l00430"></a>00430 tempString->Des().Copy( message );<a name="l00431"></a>00431 <a name="l00432"></a>00432 <a class="code" href="class_c_chat_bt.html#83107f9dbd3370ed4e809e8cc7b35380">iMessage</a> = HBufC8::NewL(tempString->Length());<a name="l00433"></a>00433 CleanupStack::Pop( tempString );<a name="l00434"></a>00434 <a class="code" href="class_c_chat_bt.html#83107f9dbd3370ed4e809e8cc7b35380">iMessage</a>->Des().Copy( *tempString );<a name="l00435"></a>00435 <a name="l00436"></a>00436 <span class="keywordflow">if</span> ( <a class="code" href="class_c_chat_bt.html#42435def2f80909f7700ad684c625f0f">iActiveSocket</a> )<a name="l00437"></a>00437 {<a name="l00438"></a>00438 <a class="code" href="class_c_chat_bt.html#42435def2f80909f7700ad684c625f0f">iActiveSocket</a>->Write( *<a class="code" href="class_c_chat_bt.html#83107f9dbd3370ed4e809e8cc7b35380">iMessage</a>, iStatus );<a name="l00439"></a>00439 }<a name="l00440"></a>00440 <a name="l00441"></a>00441 <span class="keyword">delete</span> tempString;<a name="l00442"></a>00442 <a name="l00443"></a>00443 SetActive();<a name="l00444"></a>00444 }</pre></div><p> </td> </tr></table><a class="anchor" name="4dc55dfb9b7a14b604eac53f42d0a222"></a><!-- doxytag: member="CChatBt::StartL" ref="4dc55dfb9b7a14b604eac53f42d0a222" args="()" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">void CChatBt::StartL </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p><a class="el" href="class_c_chat_bt.html#4dc55dfb9b7a14b604eac53f42d0a222">StartL()</a> Start server and waiting for connection. <p>Definition at line <a class="el" href="_chat_bt_8cpp-source.html#l00453">453</a> of file <a class="el" href="_chat_bt_8cpp-source.html">ChatBt.cpp</a>.<p>References <a class="el" href="_chat_bt_8h-source.html#l00225">iAdvertiser</a>, <a class="el" href="_chat_bt_8h-source.html#l00207">iSocket</a>, <a class="el" href="_chat_bt_8h-source.html#l00201">iSocketServer</a>, <a class="el" href="_chat_bt_8cpp-source.html#l00488">SetSecurityWithChannelL()</a>, <a class="el" href="_chat_base_8cpp-source.html#l00120">CChatBase::SetServer()</a>, <a class="el" href="_chat_bt_service_advertiser_8cpp-source.html#l00075">CChatBtServiceAdvertiser::StartAdvertisingL()</a>, <a class="el" href="_chat_base_8cpp-source.html#l00140">CChatBase::State()</a>, and <a class="el" href="_chat_bt_service_advertiser_8cpp-source.html#l00118">CChatBtServiceAdvertiser::UpdateAvailabilityL()</a>.<div class="fragment"><pre class="fragment"><a name="l00454"></a>00454 {<a name="l00455"></a>00455 <span class="keywordflow">if</span> ( <a class="code" href="class_c_chat_base.html#af77e92297a4bac4704e440284577ebe">State</a>() != EWaitingToGetDevice )<a name="l00456"></a>00456 {<a name="l00457"></a>00457 User::Leave( KErrInUse );<a name="l00458"></a>00458 }<a name="l00459"></a>00459 <a name="l00460"></a>00460 TInt result( 0 );<a name="l00461"></a>00461 result = <a class="code" href="class_c_chat_bt.html#4791a9b2a2447d2068a89acb05c8c25b">iSocket</a>.Open( <a class="code" href="class_c_chat_bt.html#56bd53f21c6818eaa0d4a1ad2c7c5a84">iSocketServer</a>, KStrRFCOMM );<a name="l00462"></a>00462 <span class="keywordflow">if</span> ( result != KErrNone )<a name="l00463"></a>00463 {<a name="l00464"></a>00464 <a class="code" href="class_c_chat_bt.html#56bd53f21c6818eaa0d4a1ad2c7c5a84">iSocketServer</a>.Close();<a name="l00465"></a>00465 User::Leave( result ); <a name="l00466"></a>00466 }<a name="l00467"></a>00467 <a name="l00468"></a>00468 <a name="l00469"></a>00469 <span class="comment">// </span><a name="l00470"></a>00470 <span class="comment">// Set the Socket's security with parameters, </span>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -