<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>32feet.NET</title><link>http://www.codeplex.com/32feet/Project/ProjectRss.aspx</link><description>32feet.NET is project to make personal area networking technologies such as Bluetooth, Infrared &amp;#40;IrDA&amp;#41; and OBEX, easily accessible from .NET code. The library supports desktop, mobile or embedded W...</description><item><title>Closed Issue: [Widcomm] Duplicate devices in DiscoverDevices, from Inquiry found and name callbacks</title><link>http://www.codeplex.com/32feet/WorkItem/View.aspx?WorkItemId=20462</link><description>The Widcomm device-discovery API can generate two events &amp;#40;callbacks&amp;#41; for the same device.&amp;#160; This happens when the device was not previously known, and thus we get a callback when the device is discovered and a second event when the name of the device has been retrieved.&amp;#160; We need to remove the first device instance to remove the duplication.&lt;br /&gt;</description><author>alanjmcf</author><pubDate>Tue, 06 Jan 2009 12:29:51 GMT</pubDate><guid isPermaLink="false">Closed Issue: [Widcomm] Duplicate devices in DiscoverDevices, from Inquiry found and name callbacks 20090106122951P</guid></item><item><title>Source code checked in, #45548</title><link>http://www.codeplex.com/32feet/SourceControl/ListDownloadableCommits.aspx</link><description>&amp;#91;widcomm&amp;#93; When Widcomm device Inquiry returns a device twice, replace the first rather than add a duplicate -- the second time occurs when its name is retrieved.  Fixes &amp;#35;20462.</description><author>alanjmcf</author><pubDate>Tue, 06 Jan 2009 12:29:51 GMT</pubDate><guid isPermaLink="false">Source code checked in, #45548 20090106122951P</guid></item><item><title>Created Issue: [Widcomm] Duplicate devices in DiscoverDevices, from Inquiry found and name callbacks</title><link>http://www.codeplex.com/32feet/WorkItem/View.aspx?WorkItemId=20462</link><description>The Widcomm device-discovery API can generate two events &amp;#40;callbacks&amp;#41; for the same device.&amp;#160; This happens when the device was not previously known, and thus we get a callback when the device is discovered and a second event when the name of the device has been retrieved.&amp;#160; We need to remove the first device instance to remove the duplication.&lt;br /&gt;</description><author>alanjmcf</author><pubDate>Tue, 06 Jan 2009 11:29:12 GMT</pubDate><guid isPermaLink="false">Created Issue: [Widcomm] Duplicate devices in DiscoverDevices, from Inquiry found and name callbacks 20090106112912A</guid></item><item><title>Commented Issue: [Widcomm] BluetoothClient.Connected property should report state as of "the last Send or Receive operation"</title><link>http://www.codeplex.com/32feet/WorkItem/View.aspx?WorkItemId=20461</link><description>The current Connected property reports the current state of the connection to the device.&amp;#160; According to MSDN&amp;#58;&lt;br /&gt;&amp;#34;Gets a value that indicates whether a Socket is connected to a remote host as of the last Send or Receive operation. &amp;#34;&lt;br /&gt;and similar on TcpClient, and &lt;br /&gt;&amp;#34;The Connected property gets the connection state of the Client socket as of the last I&amp;#47;O operation. When it returns false, the Client socket was either never connected, or is no longer connected.&amp;#34;&lt;br /&gt;&lt;br /&gt;This was most noticeable on the current implementation in the preliminary WidcommBluetoothListener code, if the remote device, connected, sent data, and closed immediately, then the accept operation could fail because the stream was &amp;#33;Connected by that time.&lt;br /&gt;This will also be visible in some scenarios from user code.&lt;br /&gt;Comments: &lt;FONT size=2&gt;&lt;br /&gt;&lt;P&gt;Probably add a method in BtIf.cpp, "BtIf_HasRemoteDeviceInfoEx" which returns a bool and sets two static variables with the two function pointers (GetRemoteDeviceInfoEx and GetNextRemoteDeviceInfo). Uncomment the current native mapping methods and have both call that method first and return an error if it returns false, otherwise continue and do the Get/Next operations using the function pointers. &amp;nbsp;In the managed code,&amp;nbsp;call the 'HasRemoteDeviceInfoEx' method (once) and decide thus whether to call the Registry or API versions.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Win32 doesn't have the GetRemoteDeviceInfoEx so the Registry lookup will continue to be used.&amp;nbsp; It does have "GetRemoteDeviceInfo" but there's apparently no way to get all devices, one has to supply a Class-of-device value for it to filter by -- unless 0 matches all.&amp;nbsp; Anyway&amp;nbsp;lets not worry about that for now until a user reports&amp;nbsp;if the Registry lookup fails there too.&lt;/P&gt;&lt;/FONT&gt;</description><author>alanjmcf</author><pubDate>Tue, 06 Jan 2009 10:56:20 GMT</pubDate><guid isPermaLink="false">Commented Issue: [Widcomm] BluetoothClient.Connected property should report state as of "the last Send or Receive operation" 20090106105620A</guid></item><item><title>Created Issue: [Widcomm] BluetoothClient.Connected property should report state at "the last Send or Receive operation"</title><link>http://www.codeplex.com/32feet/WorkItem/View.aspx?WorkItemId=20461</link><description>The current Connected property reports the current state of the connection to the device.&amp;#160; According to MSDN&amp;#58;&lt;br /&gt;&amp;#34;Gets a value that indicates whether a Socket is connected to a remote host as of the last Send or Receive operation. &amp;#34;&lt;br /&gt;and similar on TcpClient, and &lt;br /&gt;&amp;#34;The Connected property gets the connection state of the Client socket as of the last I&amp;#47;O operation. When it returns false, the Client socket was either never connected, or is no longer connected.&amp;#34;&lt;br /&gt;&lt;br /&gt;This was most noticeable on the current implementation in the preliminary WidcommBluetoothListener code, if the remote device, connected, sent data, and closed immediately, then the accept operation could fail because the stream was &amp;#33;Connected by that time.&lt;br /&gt;This will also be visible in some scenarios from user code.&lt;br /&gt;</description><author>alanjmcf</author><pubDate>Tue, 06 Jan 2009 10:46:40 GMT</pubDate><guid isPermaLink="false">Created Issue: [Widcomm] BluetoothClient.Connected property should report state at "the last Send or Receive operation" 20090106104640A</guid></item><item><title>Created Issue: [Widcomm] No "HKLM\Software\WIDCOMM\BTConfig\Devices\" on modern(?) Widcomm versions</title><link>http://www.codeplex.com/32feet/WorkItem/View.aspx?WorkItemId=20460</link><description>A tester with an WM device with Widcomm &amp;#34;1.8.5 Build 0300&amp;#34; reports that devices are not stored at the Registry location the current code uses.&amp;#160; Thus the current code fails at InTheHand.Net.Bluetooth.Widcomm.WidcommBtInterface.ReadKnownDevicesFromRegistry&amp;#40;&amp;#41; with&amp;#58;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if &amp;#40;rkDevices &amp;#61;&amp;#61; null&amp;#41; &amp;#47;&amp;#47; IOException is what GetValueKind throws.&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; throw new System.IO.IOException&amp;#40;&amp;#34;Widcomm &amp;#39;Devices&amp;#39; key not found in the Registry.&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;We need to find some other way of finding the &amp;#39;remembered&amp;#39; devices, either at another Registry location &amp;#40;unlikely&amp;#63;&amp;#41;, or through using the WCE CBtIf&amp;#58;&amp;#58;GetRemoteDeviceInfoEx&amp;#40;&amp;#41; method.&amp;#160; However it is not present on older devices &amp;#40;nor on Win32&amp;#41;, so we will have to have the native code look that method up at runtime &amp;#40;GetProcAddress etc&amp;#41;.&lt;br /&gt;</description><author>alanjmcf</author><pubDate>Tue, 06 Jan 2009 10:39:25 GMT</pubDate><guid isPermaLink="false">Created Issue: [Widcomm] No "HKLM\Software\WIDCOMM\BTConfig\Devices\" on modern(?) Widcomm versions 20090106103925A</guid></item><item><title>Source code checked in, #45496</title><link>http://www.codeplex.com/32feet/SourceControl/ListDownloadableCommits.aspx</link><description>&amp;#91;widcomm&amp;#93; Move some test helper methods to a utility class.</description><author>alanjmcf</author><pubDate>Sat, 03 Jan 2009 21:58:33 GMT</pubDate><guid isPermaLink="false">Source code checked in, #45496 20090103095833P</guid></item><item><title>Source code checked in, #45493</title><link>http://www.codeplex.com/32feet/SourceControl/ListDownloadableCommits.aspx</link><description>&amp;#91;widcomm&amp;#93;  Eeechhh&amp;#33; Fix the CF builds.</description><author>alanjmcf</author><pubDate>Sat, 03 Jan 2009 15:38:31 GMT</pubDate><guid isPermaLink="false">Source code checked in, #45493 20090103033831P</guid></item><item><title>Source code checked in, #45492</title><link>http://www.codeplex.com/32feet/SourceControl/ListDownloadableCommits.aspx</link><description>&amp;#91;widcomm&amp;#93; Suppress another two Asserts.</description><author>alanjmcf</author><pubDate>Sat, 03 Jan 2009 15:29:25 GMT</pubDate><guid isPermaLink="false">Source code checked in, #45492 20090103032925P</guid></item><item><title>Source code checked in, #45491</title><link>http://www.codeplex.com/32feet/SourceControl/ListDownloadableCommits.aspx</link><description>&amp;#91;widcomm&amp;#93; Have the code suppress the Debug.Asserts when running NUnit tests.</description><author>alanjmcf</author><pubDate>Sat, 03 Jan 2009 15:22:32 GMT</pubDate><guid isPermaLink="false">Source code checked in, #45491 20090103032232P</guid></item><item><title>Source code checked in, #45490</title><link>http://www.codeplex.com/32feet/SourceControl/ListDownloadableCommits.aspx</link><description>&amp;#91;widcomm&amp;#93; Add test Connect_PeerImmediatelyCloses.  Added EventFirer classes.</description><author>alanjmcf</author><pubDate>Sat, 03 Jan 2009 15:20:07 GMT</pubDate><guid isPermaLink="false">Source code checked in, #45490 20090103032007P</guid></item><item><title>Source code checked in, #45489</title><link>http://www.codeplex.com/32feet/SourceControl/ListDownloadableCommits.aspx</link><description>&amp;#91;widcomm&amp;#93; Device-&amp;#47;ConsoleMenuTesting&amp;#58; have console.ReadLine take a prompt string, have DeviceMenuTesting use a MsgBox with Yes and No buttons rather than needing to type y or n.</description><author>alanjmcf</author><pubDate>Sat, 03 Jan 2009 13:52:02 GMT</pubDate><guid isPermaLink="false">Source code checked in, #45489 20090103015202P</guid></item><item><title>Source code checked in, #45488</title><link>http://www.codeplex.com/32feet/SourceControl/ListDownloadableCommits.aspx</link><description>&amp;#91;widcomm&amp;#93; Remove not-impl-ex failures in Lsnr tests.</description><author>alanjmcf</author><pubDate>Sat, 03 Jan 2009 13:41:00 GMT</pubDate><guid isPermaLink="false">Source code checked in, #45488 20090103014100P</guid></item><item><title>Source code checked in, #45487</title><link>http://www.codeplex.com/32feet/SourceControl/ListDownloadableCommits.aspx</link><description>&amp;#91;widcomm&amp;#93; Update widcomm doc, noting that Close currently just discards any pending data.</description><author>alanjmcf</author><pubDate>Sat, 03 Jan 2009 13:39:30 GMT</pubDate><guid isPermaLink="false">Source code checked in, #45487 20090103013930P</guid></item><item><title>Source code checked in, #45486</title><link>http://www.codeplex.com/32feet/SourceControl/ListDownloadableCommits.aspx</link><description>&amp;#91;widcomm&amp;#93; Update the build configuration for the new DeviceMenuTesting project.</description><author>alanjmcf</author><pubDate>Sat, 03 Jan 2009 13:36:53 GMT</pubDate><guid isPermaLink="false">Source code checked in, #45486 20090103013653P</guid></item><item><title>Source code checked in, #45485</title><link>http://www.codeplex.com/32feet/SourceControl/ListDownloadableCommits.aspx</link><description>&amp;#91;widcomm&amp;#93; WidcommRfcommStream&amp;#58; Move the clearing of the m_arConnect operation from EndXxxx to completion &amp;#40;HandlePortEvent&amp;#41;, and store the completed event in another field, so we can argument check the AR passed into the EndXxxx methods.  Doing the clear at completion because another event &amp;#40;e.g. CONNECT_ERR if the peer immediately closes&amp;#41; can come before EndXxxx has been called.</description><author>alanjmcf</author><pubDate>Sat, 03 Jan 2009 13:36:15 GMT</pubDate><guid isPermaLink="false">Source code checked in, #45485 20090103013615P</guid></item><item><title>Source code checked in, #45467</title><link>http://www.codeplex.com/32feet/SourceControl/ListDownloadableCommits.aspx</link><description>&amp;#91;widcomm&amp;#93; Update the Widcomm doc.</description><author>alanjmcf</author><pubDate>Fri, 02 Jan 2009 13:44:46 GMT</pubDate><guid isPermaLink="false">Source code checked in, #45467 20090102014446P</guid></item><item><title>Source code checked in, #45466</title><link>http://www.codeplex.com/32feet/SourceControl/ListDownloadableCommits.aspx</link><description>&amp;#91;widcomm&amp;#93; ConsoleMenuTesting&amp;#47;etc&amp;#58; use cli.RemoteEndPoint etc in ListenAndImmediatelySendAndClose_.</description><author>alanjmcf</author><pubDate>Fri, 02 Jan 2009 13:40:16 GMT</pubDate><guid isPermaLink="false">Source code checked in, #45466 20090102014016P</guid></item><item><title>Source code checked in, #45465</title><link>http://www.codeplex.com/32feet/SourceControl/ListDownloadableCommits.aspx</link><description>&amp;#91;widcomm&amp;#93; Have SdpBrowserDesktop device list use the Rssi property.</description><author>alanjmcf</author><pubDate>Fri, 02 Jan 2009 13:39:07 GMT</pubDate><guid isPermaLink="false">Source code checked in, #45465 20090102013907P</guid></item><item><title>Source code checked in, #45464</title><link>http://www.codeplex.com/32feet/SourceControl/ListDownloadableCommits.aspx</link><description>&amp;#91;widcomm&amp;#93; Flush some Dispose&amp;#47;Finalizer changes on WidcommBluetoothListener.</description><author>alanjmcf</author><pubDate>Fri, 02 Jan 2009 13:38:06 GMT</pubDate><guid isPermaLink="false">Source code checked in, #45464 20090102013806P</guid></item></channel></rss>