📄 _chat_bt_service_advertiser_8cpp-source.html
字号:
<a name="l00086"></a>00086 <a class="code" href="class_c_chat_bt_service_advertiser.html#0624093ab131c90dd1f624ed8a2b4c1b">iSdpDatabase</a>.CreateServiceRecordL( <a class="code" href="class_c_chat_bt_service_advertiser.html#ccfd2143a5c8480b6ce482aa1e568645">ServiceClass</a>(), <a class="code" href="class_c_chat_bt_service_advertiser.html#9b1caea877e51f30ee8c88479638dca8">iRecord</a> );<a name="l00087"></a>00087 <a name="l00088"></a>00088 <span class="comment">// add a Protocol to the record</span><a name="l00089"></a>00089 CSdpAttrValueDES* vProtocolDescriptor = CSdpAttrValueDES::NewDESL( NULL );<a name="l00090"></a>00090 CleanupStack::PushL( vProtocolDescriptor );<a name="l00091"></a>00091 <a name="l00092"></a>00092 <a class="code" href="class_c_chat_bt_service_advertiser.html#520c20f428c758a9e0f537bcae9ded62">BuildProtocolDescriptionL</a>( vProtocolDescriptor,aPort );<a name="l00093"></a>00093 <a name="l00094"></a>00094 <a class="code" href="class_c_chat_bt_service_advertiser.html#0624093ab131c90dd1f624ed8a2b4c1b">iSdpDatabase</a>.UpdateAttributeL( <a class="code" href="class_c_chat_bt_service_advertiser.html#9b1caea877e51f30ee8c88479638dca8">iRecord</a>, KSdpAttrIdProtocolDescriptorList, <a name="l00095"></a>00095 *vProtocolDescriptor );<a name="l00096"></a>00096 <a name="l00097"></a>00097 CleanupStack::PopAndDestroy( vProtocolDescriptor );<a name="l00098"></a>00098 <a name="l00099"></a>00099 <span class="comment">// Add a name to the record</span><a name="l00100"></a>00100 <a class="code" href="class_c_chat_bt_service_advertiser.html#0624093ab131c90dd1f624ed8a2b4c1b">iSdpDatabase</a>.UpdateAttributeL( <a class="code" href="class_c_chat_bt_service_advertiser.html#9b1caea877e51f30ee8c88479638dca8">iRecord</a>, <a name="l00101"></a>00101 KSdpAttrIdBasePrimaryLanguage + <a name="l00102"></a>00102 KSdpAttrIdOffsetServiceName, <a name="l00103"></a>00103 <a class="code" href="class_c_chat_bt_service_advertiser.html#114dc69577dad056af5477ccd2352d2d">ServiceName</a>() );<a name="l00104"></a>00104 <a name="l00105"></a>00105 <span class="comment">// Add a description to the record</span><a name="l00106"></a>00106 <a class="code" href="class_c_chat_bt_service_advertiser.html#0624093ab131c90dd1f624ed8a2b4c1b">iSdpDatabase</a>.UpdateAttributeL( <a class="code" href="class_c_chat_bt_service_advertiser.html#9b1caea877e51f30ee8c88479638dca8">iRecord</a>, <a name="l00107"></a>00107 KSdpAttrIdBasePrimaryLanguage + <a name="l00108"></a>00108 KSdpAttrIdOffsetServiceDescription, <a name="l00109"></a>00109 <a class="code" href="class_c_chat_bt_service_advertiser.html#ebc9cd24c06e87550b047f14fedb5bd1">ServiceDescription</a>() );<a name="l00110"></a>00110 <a name="l00111"></a>00111 }<a name="l00112"></a>00112 <a name="l00113"></a>00113 <span class="comment">// ----------------------------------------------------------------------------</span><a name="l00114"></a>00114 <span class="comment">// CChatBtServiceAdvertiser::UpdateAvailabilityL()</span><a name="l00115"></a>00115 <span class="comment">// Update the service availability field of the service record.</span><a name="l00116"></a>00116 <span class="comment">// ----------------------------------------------------------------------------</span><a name="l00117"></a>00117 <span class="comment">//</span><a name="l00118"></a><a class="code" href="class_c_chat_bt_service_advertiser.html#29ff2152d04f8af97601d4a42d6ec6c0">00118</a> <span class="keywordtype">void</span> <a class="code" href="class_c_chat_bt_service_advertiser.html#29ff2152d04f8af97601d4a42d6ec6c0">CChatBtServiceAdvertiser::UpdateAvailabilityL</a>( TBool aIsAvailable )<a name="l00119"></a>00119 {<a name="l00120"></a>00120 TUint state;<a name="l00121"></a>00121 <span class="keywordflow">if</span> ( aIsAvailable )<a name="l00122"></a>00122 {<a name="l00123"></a>00123 state = 0xFF; <span class="comment">// Fully unused</span><a name="l00124"></a>00124 }<a name="l00125"></a>00125 <span class="keywordflow">else</span><a name="l00126"></a>00126 {<a name="l00127"></a>00127 state = 0x00; <span class="comment">// Fully used -> can't connect</span><a name="l00128"></a>00128 }<a name="l00129"></a>00129 <a name="l00130"></a>00130 <span class="comment">// Update the availibility attribute field</span><a name="l00131"></a>00131 <a class="code" href="class_c_chat_bt_service_advertiser.html#0624093ab131c90dd1f624ed8a2b4c1b">iSdpDatabase</a>.UpdateAttributeL( <a class="code" href="class_c_chat_bt_service_advertiser.html#9b1caea877e51f30ee8c88479638dca8">iRecord</a>, <a name="l00132"></a>00132 KSdpAttrIdServiceAvailability, <a name="l00133"></a>00133 state );<a name="l00134"></a>00134 <a name="l00135"></a>00135 <span class="comment">// Mark the record as changed - by increasing its state number (version)</span><a name="l00136"></a>00136 <a class="code" href="class_c_chat_bt_service_advertiser.html#0624093ab131c90dd1f624ed8a2b4c1b">iSdpDatabase</a>.UpdateAttributeL( <a class="code" href="class_c_chat_bt_service_advertiser.html#9b1caea877e51f30ee8c88479638dca8">iRecord</a>, <a name="l00137"></a>00137 KSdpAttrIdServiceRecordState, <a name="l00138"></a>00138 ++<a class="code" href="class_c_chat_bt_service_advertiser.html#81266616ac61b523dcd21924946af588">iRecordState</a> );<a name="l00139"></a>00139 }<a name="l00140"></a>00140 <a name="l00141"></a>00141 <span class="comment">// ----------------------------------------------------------------------------</span><a name="l00142"></a>00142 <span class="comment">// CChatBtServiceAdvertiser::StopAdvertisingL()</span><a name="l00143"></a>00143 <span class="comment">// Stop advertising this service. Remove the record from the sdp database.</span><a name="l00144"></a>00144 <span class="comment">// ----------------------------------------------------------------------------</span><a name="l00145"></a>00145 <span class="comment">//</span><a name="l00146"></a><a class="code" href="class_c_chat_bt_service_advertiser.html#e66d57ea0fe5dcabfa4673a7b6adc47b">00146</a> <span class="keywordtype">void</span> <a class="code" href="class_c_chat_bt_service_advertiser.html#e66d57ea0fe5dcabfa4673a7b6adc47b">CChatBtServiceAdvertiser::StopAdvertisingL</a>()<a name="l00147"></a>00147 {<a name="l00148"></a>00148 <span class="keywordflow">if</span> ( <a class="code" href="class_c_chat_bt_service_advertiser.html#8b6ebb2e28d11dbf0c365fe8d479df10">IsAdvertising</a>() )<a name="l00149"></a>00149 {<a name="l00150"></a>00150 <a class="code" href="class_c_chat_bt_service_advertiser.html#0624093ab131c90dd1f624ed8a2b4c1b">iSdpDatabase</a>.DeleteRecordL( <a class="code" href="class_c_chat_bt_service_advertiser.html#9b1caea877e51f30ee8c88479638dca8">iRecord</a> );<a name="l00151"></a>00151 <a class="code" href="class_c_chat_bt_service_advertiser.html#9b1caea877e51f30ee8c88479638dca8">iRecord</a> = 0;<a name="l00152"></a>00152 }<a name="l00153"></a>00153 }<a name="l00154"></a>00154 <a name="l00155"></a>00155 <span class="comment">// ----------------------------------------------------------------------------</span><a name="l00156"></a>00156 <span class="comment">// CChatBtServiceAdvertiser::IsAdvertising()</span><a name="l00157"></a>00157 <span class="comment">// Does the SDP database contain a record for this service.</span><a name="l00158"></a>00158 <span class="comment">// ----------------------------------------------------------------------------</span><a name="l00159"></a>00159 <span class="comment">//</span><a name="l00160"></a><a class="code" href="class_c_chat_bt_service_advertiser.html#8b6ebb2e28d11dbf0c365fe8d479df10">00160</a> TBool <a class="code" href="class_c_chat_bt_service_advertiser.html#8b6ebb2e28d11dbf0c365fe8d479df10">CChatBtServiceAdvertiser::IsAdvertising</a>()<a name="l00161"></a>00161 {<a name="l00162"></a>00162 <span class="keywordflow">return</span> <a class="code" href="class_c_chat_bt_service_advertiser.html#9b1caea877e51f30ee8c88479638dca8">iRecord</a> != 0;<a name="l00163"></a>00163 }<a name="l00164"></a>00164 <a name="l00165"></a>00165 <span class="comment">// End of File</span></pre></div><hr><table x-use-null-cells style="x-cell-content-align: top; width: 100%; border-spacing: 0px; border-spacing: 0px;" cellspacing=0 width=100%> <col style="width: 50%;"> <col style="width: 50%;"> <tr style="x-cell-content-align: top;" valign=top> <td style="width: 50%; padding-right: 10px; padding-left: 10px; border-right-style: None; border-left-style: None; border-top-style: None; border-bottom-style: None;" width=50%> <p style="font-family: Arial;"><small style="font-size: smaller;">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -