<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://blogs.forum.nokia.com/styles/rss.css" type="text/css"?>
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
>
 <channel>
  <title>Open Source Bluetooth PAN&#039;s Forum Nokia Blog</title>
  <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog</link>
  <description>A Forum Nokia Blog</description>
  <pubDate>Mon, 23 Nov 2009 23:05:53 +0200</pubDate>
  <generator>http://www.lifetype.net</generator>
  <itunes:author>Forum Nokia</itunes:author>
  <itunes:category text="Technology">
    <itunes:category text="Tech News"/>
  </itunes:category>
  <itunes:image href="http://www.forum.nokia.com/piazza/blogs/imgs/forum_nokia_rss_logo.jpg"/>
    <item>
   <title>Symbian, Descriptors and Unicode</title>
   <description>
    &amp;nbsp;&amp;nbsp;&amp;nbsp; While programming Bluetooth data transmission routines I&#039;ve come across an encoding issue at Symbian. The task was to send and receive Unicode strings encoded in UTF-16. The data was moved by &lt;span style=&quot;color: #ff8300&quot;&gt;RSocket&lt;/span&gt; class.&lt;br /&gt;
&lt;br /&gt;
The thing is, the &lt;span style=&quot;color: #ff8300&quot;&gt;RSocket&lt;/span&gt;&#039;s read and write methods are taking the 8 bit descriptors only (representing the binary data), so we need to convert the 8 bit descriptors to 16 bit and vice versa.&amp;nbsp;&lt;br /&gt;
For example, we need to receive some UTF-16 string in Russian language from the server and display it on screen.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://wiki.forum.nokia.com/index.php/Converting_Descriptors&quot; target=&quot;_blank&quot;&gt;Some documents here&lt;/a&gt;
suggest several solutions on converting descriptors, but they don&#039;t work as needed. Let me explain why.&lt;br /&gt;
&lt;br /&gt;
The two common methods of conversion are:&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;1.&lt;/strong&gt; To use &lt;span style=&quot;color: #ff8300&quot;&gt;Copy()&lt;/span&gt; method of first the descriptor to copy contents of the second one.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-left: 20px; border: 1px solid #9EBBFF; background-color: #F7FCFF&quot;&gt;
&lt;pre&gt;
RBuf8  buf8     ;
RBuf16 buf16    ;
&lt;br /&gt;
buf16.Copy(buf8);
&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
As a result, the contents of &lt;span style=&quot;color: #ff8300&quot;&gt;buf8&lt;/span&gt; descriptor would not be simply copied to &lt;span style=&quot;color: #ff8300&quot;&gt;buf16&lt;/span&gt;, but each character would be expanded to 16 bits.&lt;br /&gt;
So the string &amp;ldquo;&lt;span style=&quot;color: #ff8300&quot;&gt;Hello&lt;/span&gt;&amp;rdquo; would become something like &amp;ldquo;&lt;span style=&quot;color: #ff8300&quot;&gt;_H_E_L_L_O&lt;/span&gt;&amp;rdquo; after expanding.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://blogs.forum.nokia.com/data/blogs/resources/107609/post_022_i01_descriptor_copy_contents.jpg&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;center&gt;
&lt;strong&gt;Image 1&lt;/strong&gt; &amp;ndash; Example of how the &lt;span style=&quot;color: #ff8300&quot;&gt;Copy()&lt;/span&gt; method works, and what we actually need.&lt;br /&gt;
&lt;/center&gt;
&lt;br /&gt;
On the contrary, when converting the 16 bit descriptor to an 8 bit descriptor, the contents of the first would be collapsed.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
That is a behavior of &lt;span style=&quot;color: #ff8300&quot;&gt;Copy()&lt;/span&gt; method.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;2.&lt;/strong&gt; The second method is to use a &lt;span style=&quot;color: #ff8300&quot;&gt;CnvUtfConverter&lt;/span&gt; class provided in Symbian.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-left: 20px; border: 1px solid #9EBBFF; background-color: #F7FCFF&quot;&gt;
&lt;pre&gt;
HBufC8 *heap8;
HBufC  *heap16 = &lt;span style=&quot;color: #ff8300&quot;&gt;CnvUtfConverter&lt;/span&gt;::ConvertToUnicodeFromUtf8L(*heap8);
&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
This method will convert between the Unicode and UTF-8. That is again is not what I needed. What I need is the conversion between the descriptor classes themselves but not transforming their contents, that should stay without any change.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Solving&lt;/strong&gt;
&lt;br /&gt;
&lt;br /&gt;
So to read the Unicode string presented in binary format from socket and display it on screen, we need to convert the descriptor&#039;s body (8 bit descriptor to 16 bit descriptor) but not the descriptor&#039;s contents.&lt;br /&gt;
&lt;br /&gt;
Here is a method on how can it be done.&lt;br /&gt;
To pass the descriptor&#039;s contents from the descriptor of one type to another, we have to copy contents somehow. I chose the &lt;span style=&quot;color: #ff8300&quot;&gt;memcpy()&lt;/span&gt; function. If you find a better (or safer) way, please submit it here.&amp;nbsp;&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
Copy the contents of 8 bit descriptor to the 16 bit one.&lt;br /&gt;
(without memory allocation routines)
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-left: 20px; border: 1px solid #9EBBFF; background-color: #F7FCFF&quot;&gt;
&lt;pre&gt;
TBuf8       sourceBuf8        ;
TBuf16      destBuf16         ;
&lt;br /&gt;
TInt len = sourceBuf8.Length();
&lt;br /&gt;
aOutDest.FillZ(len/2         ); &lt;span style=&quot;color: #808080&quot;&gt;// necessary to set the size&lt;/span&gt;
memcpy((TAny *)destBuf16.Ptr(), (TAny *)sourceBuf8.Ptr(), len);
&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This works smoothly for S60 3rd FP1, both emulator and Nokia E90 device.&lt;br /&gt;
&lt;br /&gt;
I wrote the &lt;span style=&quot;color: #ff8300&quot;&gt;CBinaryConverter&lt;/span&gt; class that has two methods, doing these operations. It is attached to this post.&lt;br /&gt;
&lt;br /&gt;
Example of using  &lt;span style=&quot;color: #ff8300&quot;&gt;CBinaryConverter&lt;/span&gt; class:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-left: 20px; border: 1px solid #9EBBFF; background-color: #F7FCFF&quot;&gt;
&lt;pre&gt;
RBuf8 source                      ;
RBuf   dest                       ;  &lt;span style=&quot;color: #808080&quot;&gt;// the same as Rbuf16&lt;/span&gt;
TInt destLength                   ;
source.Create(100                );
&lt;br /&gt;
&lt;span style=&quot;color: #808080&quot;&gt;// Receive the 8 bit descriptor from socket that contains 16 bit data&lt;/span&gt;
iActiveSocket-&amp;gt;RecvOneOrMore(source, 0, iStatus, iLen ); 
&lt;br /&gt;
destLength = source.Length() / 2  ;  &lt;span style=&quot;color: #808080&quot;&gt;// 16 bit chars instead of 8 bit&lt;/span&gt;
&lt;br /&gt;
dest.CleanupClosePushL()          ;  &lt;span style=&quot;color: #808080&quot;&gt;// to  Cleanup Stack&lt;/span&gt;
dest.Create( destLength          );
&lt;br /&gt;
&lt;span style=&quot;color: #808080&quot;&gt;//Conversion&lt;/span&gt;
&lt;strong&gt;CBinaryConverter::copy8BitInto16BitDescriptorL(source, dest  );&lt;/strong&gt; 
&lt;br /&gt;
&lt;span style=&quot;color: #808080&quot;&gt;// Show the note&lt;/span&gt;
CAknInformationNote *iInfNote     ;
iInfNote = new (ELeave) CAknInformationNote();
iInfNote-&amp;gt;ExecuteLD(dest         );
&lt;br /&gt;
CleanupStack::PopAndDestroy(&amp;amp;dest); &lt;span style=&quot;color: #808080&quot;&gt;// Pop RBuf from the Cleanup Stack&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Screenshot of the application, that controls Juke Box holding songs in English and Russian languages over Bluetooth:&lt;br /&gt;
&lt;br /&gt;
&lt;center&gt;
&lt;img src=&quot;http://blogs.forum.nokia.com/data/blogs/resources/107609/post_022_i02_baklushi_remote_control_jukebox.jpg&quot; border=&quot;0&quot; /&gt;
&lt;/center&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Download the source code&lt;/strong&gt;
&lt;br /&gt;
&lt;br /&gt;
Download zip package:
&lt;br /&gt;
&lt;a href=&quot;http://blogs.forum.nokia.com/data/blogs/resources/107609/BinaryConverter_class.zip&quot; target=&quot;_blank&quot;&gt;BinaryConverter_class.zip&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
Or view directly:
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;div style=&quot;float: left; padding: 5px&quot;&gt;
&lt;div style=&quot;border: 1px solid gray; text-align: center&quot;&gt;
&lt;strong&gt;BinaryConverter.cpp&lt;/strong&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid gray; text-align: center&quot;&gt;
&lt;a href=&quot;http://blogs.forum.nokia.com/data/blogs/resources/107609/post_22_a02_view_class_BinaryConverter_cpp.txt&quot; target=&quot;_blank&quot;&gt;view&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;float: left; padding: 5px&quot;&gt;
&lt;div style=&quot;border: 1px solid gray; text-align: center&quot;&gt;
&lt;strong&gt;BinaryConverter.h&lt;/strong&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid gray; text-align: center&quot;&gt;
&lt;a href=&quot;http://blogs.forum.nokia.com/data/blogs/resources/107609/post_22_a01_view_class_BinaryConverter_h.txt&quot; target=&quot;_blank&quot;&gt;view&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--
&lt;br /&gt;
Cheers
&lt;br /&gt;
Konstantine
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2009/01/20/symbian-descriptors-and-unicode</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2009/01/20/symbian-descriptors-and-unicode</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2009/01/20/symbian-descriptors-and-unicode</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>Connectivity</category>
      
    <category>S60</category>
      
    <category>Symbian C++</category>
         <pubDate>Tue, 20 Jan 2009 11:41:47 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Symbian, Descriptors and Unicode</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>PAN service advertise</title>
   <description>
    &lt;br /&gt;
&lt;p&gt;
It is interesting the PAN (Bluetooth Personal Area Networking) profile is listed at Symbian 9.2 abilities.&lt;br /&gt;
The PAN overview is here:&lt;br /&gt;
&lt;a href=&quot;http://www.symbian.com/developer/techlib/v9.2docs/doc_source/guide/Bluetooth-subsystem-guide/Bluetooth/ShortLinkServices/ShortLink/BluetoothProfiles/BluetoothPAN/BTPANProfileOverview.html&quot; target=&quot;_blank&quot;&gt;...symbian.com/developer/techlib/v9.2docs/...&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
And a small API mention is here:&lt;br /&gt;
&lt;a href=&quot;http://www.symbian.com/developer/techlib/v9.2docs/doc_source/reference/reference-cpp/BLUETOOTH_PAN/index.html&quot; target=&quot;_blank&quot;&gt;...symbian.com/developer/techlib/v9.2docs/...&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Despite the fact that there is no completely ready PAN API in S60 3rd there are some type definitions and constants related to the deal. They are defined at &lt;strong&gt;&lt;em&gt;btsdp.h&lt;/em&gt;&lt;/strong&gt; header file here:&lt;br /&gt;
&lt;a href=&quot;http://www.symbian.com/developer/techlib/v9.2docs/doc_source/reference/reference-cpp/BLUETOOTH_SDP/btsdp.hVariables.html&quot; target=&quot;_blank&quot;&gt;...symbian.com/developer/techlib/v9.2docs/...&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Here are some constants that seem to be tempting for my Bluetooth inquisitive mind: 
&lt;/p&gt;
&lt;div style=&quot;border: black 1px solid&quot;&gt;
Listing - 1 
&lt;/div&gt;
&lt;div style=&quot;border: black 1px solid&quot;&gt;
/** PAN Service Class UUID */&lt;br /&gt;
static const TInt KPanUUUID = 0x1115;&lt;br /&gt;
/** PAN NAP Service Class UUID */&lt;br /&gt;
static const TInt KPanNapUUID = 0x1116;&lt;br /&gt;
/** PAN GN Service Class UUID */&lt;br /&gt;
static const TInt KPanGnUUID = 0x1117; 
&lt;/div&gt;
&lt;p&gt;
&lt;br /&gt;
These values represent identifiers of Bluetooth(c) services that could be advertised by device. 
&lt;/p&gt;
&lt;p&gt;
There is a Chat example that advertises the Serial Port service. I decided to try one&#039;s luck with PAN. 
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;const TInt KServiceClass = 0x1101;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp; SerialPort&lt;/em&gt; 
&lt;/p&gt;
&lt;p&gt;
Chat example supplies the service&#039;s identifier constant by returning this value from function below: 
&lt;/p&gt;
&lt;div style=&quot;border: black 1px solid&quot;&gt;
Listing - 2 
&lt;/div&gt;
&lt;div style=&quot;border: black 1px solid&quot;&gt;
TInt CChatServiceAdvertiser::ServiceClass()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return KServiceClass;&lt;br /&gt;
} 
&lt;/div&gt;
&lt;p&gt;
The &lt;em&gt;KServiceClass&lt;/em&gt; constant is assigned to &#039;&lt;em&gt;0x1101&lt;/em&gt;&#039; by default. I&#039;ve changed the function to this manner: 
&lt;/p&gt;
&lt;div style=&quot;border: black 1px solid&quot;&gt;
Listing - 3 
&lt;/div&gt;
&lt;div style=&quot;border: black 1px solid&quot;&gt;
TInt CChatServiceAdvertiser::ServiceClass(TInt aAttemptNumber)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; switch(aAttemptNumber) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;case 0 : &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return 0x1115; // PAN&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;case 1 : &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return 0x1116; // PAN NAP&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;case 2 : &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return 0x1117; // PAN GN&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
} 
&lt;/div&gt;
&lt;p&gt;
&lt;br /&gt;
This gives me a possibility to supply the &lt;em&gt;AttemptNumber&lt;/em&gt; parameter to the function - so to test all 3 service classes by turns. 
&lt;/p&gt;
&lt;p&gt;
In the similar manner I had rewritten the function that returns the service&#039;s symbolic name. 
&lt;/p&gt;
&lt;div style=&quot;border: black 1px solid&quot;&gt;
Listing - 4 
&lt;/div&gt;
&lt;div style=&quot;border: black 1px solid&quot;&gt;
const TDesC&amp;amp; CChatServiceAdvertiser::ServiceName(TInt aAttemptNumber)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;switch(aAttemptNumber) {&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;case 0 : &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return _L(&amp;quot;PAN&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&amp;nbsp; //&amp;nbsp; PAN&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;case 1 : &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return _L(&amp;quot;PAN NAP&amp;quot;);&amp;nbsp; //&amp;nbsp; PAN NAP&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;case 2 : &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return _L(&amp;quot;PAN GN&amp;quot; );&amp;nbsp; //&amp;nbsp; PAN GN&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
} 
&lt;/div&gt;
&lt;p&gt;
Each time I&#039;ve started the chat server I&amp;rsquo;ve outputted the qualifying message in this way: 
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;iLog.LogL( _L(&amp;quot;Attempt#&amp;quot;), iAttemptNumber );&lt;/em&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
After building the application under &lt;strong&gt;Phone release (GCCE)&lt;/strong&gt; I had signed it myself and sent to my device.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://wiki.forum.nokia.com/index.php/Wiki_Contributor_of_the_Month&quot; target=&quot;_blank&quot;&gt;As a Contributor of the Month&lt;/a&gt; I have got one. It&#039;s a &lt;strong&gt;Nokia N95 8GB&lt;/strong&gt;.&lt;br /&gt;
With that one I can test a lot. It really helps in development. And also that multimedia computer is cool one ;) 
&lt;/p&gt;
&lt;p&gt;
Then I started the app on the phone and turned on the PAN search service on the WinXP SP2 machine.&lt;br /&gt;
However after all three service classes were advertised one by one, the XP machine did not detect any. 
&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2008/05/28/pan-service-advertise</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2008/05/28/pan-service-advertise</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2008/05/28/pan-service-advertise</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>Connectivity</category>
      
    <category>S60</category>
      
    <category>Symbian C++</category>
         <pubDate>Wed, 28 May 2008 14:47:37 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>PAN service advertise</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Lost in the dark</title>
   <description>
    &lt;p&gt;As you know, I&amp;#39;ve worked a lot to figure out a way of how to realize&amp;nbsp;the BNEP protocol on Symbian platform.&lt;/p&gt;&lt;p&gt;The simple idea of catching and processing all the TCP stream with help of IP hook is impossible until purchase non-publick API.&lt;br /&gt;Also, the idea to create a networking interface or serial protocol modules (this blog entries:&lt;a href=&quot;http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/testing/2008/01/10/attempt-to-create-a-csy-module&quot;&gt;attempt-to-create-a-csy-module&lt;/a&gt;, &lt;a href=&quot;http://blogs.forum.nokia.com/serial-protocol-modules&quot;&gt;serial-protocol-modules&lt;/a&gt;, &lt;a href=&quot;http://blogs.forum.nokia.com/symbian-networking-interface&quot;&gt;symbian-networking-interface&lt;/a&gt;) failed to due to lack of examples. &lt;/p&gt;&lt;p&gt;Now, I&amp;#39;m moving like in a dark. And can&amp;#39;t find a way to realize the BNEP. &lt;br /&gt;Boss said me to try for 2 more weeks, to find out.&lt;br /&gt;I do not see much sense if this blog ends with purchasing a non-publick API.&lt;/p&gt;&lt;p&gt;If anyone can provide an idea, let me know.&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2008/02/21/lost-in-the-dark</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2008/02/21/lost-in-the-dark</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2008/02/21/lost-in-the-dark</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>S60</category>
      
    <category>Symbian C++</category>
         <pubDate>Thu, 21 Feb 2008 12:32:00 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Lost in the dark</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Attempt to create a CSY module</title>
   <description>
    &lt;p&gt;So yes.&lt;br /&gt;I&amp;#39;ve stand on the way of creating my own &lt;a href=&quot;http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/testing/2007/12/21/serial-protocol-modules&quot;&gt;CSY&lt;/a&gt; module.&lt;/p&gt;&lt;p&gt;It is some kind of a reckless scheme for me. I have no any assurance it will help me in my researches. Furthermore, the web-search on &amp;quot;create custom CSY module&amp;quot; brings me back to my own blog post about serial protocols. Cool.&lt;br /&gt;I call this adventure as a crazy attempt because it demands to throw together a lot of components without strong hope it will bring to essential result.&lt;/p&gt;&lt;p&gt;But the rays of hope are:&lt;/p&gt;&lt;p&gt;1. When creating new IAP, one of the Data Base fields is: &amp;quot;&lt;em&gt;MODEM_CSY_NAME&lt;/em&gt;&amp;quot;.&lt;br /&gt;Some previous adventurers used it to set as &amp;quot;BTCOMM&amp;quot;. Hmm good.&lt;br /&gt;2. It is possible to create new serial modules. How? The search returns me back to my posts. The discussion boards speak only about connecting to modules.&lt;br /&gt;3. There is a framework on Symbian OS called &amp;quot;&lt;strong&gt;Ecom&lt;/strong&gt;&amp;quot;. Ecom provides interaction between clients and polymorphic DLLs, which CSY modules, at my sight, are.&lt;/p&gt;&lt;p&gt;The Ecom&amp;#39;s (&lt;a href=&quot;http://www.symbian.com/developer/techlib/v9.2docs/doc_source/guide/System-libraries-subsystem-guide/ecom/EcomArchitecture/index.html&quot; target=&quot;_blank&quot; title=&quot;http://www.symbian.com/../v9.2docs/../EcomArch&quot;&gt;symbian.com/../v9.2docs/../EcomArch&lt;/a&gt;) so-called plug-ins are polymorphic DLLs. Those DLLs provide &lt;span style=&quot;color: #99cc00&quot;&gt;&lt;strong&gt;the interface&lt;/strong&gt;&lt;/span&gt;, &lt;span style=&quot;color: #ffcc00&quot;&gt;&lt;span style=&quot;color: #666699&quot;&gt;&lt;strong&gt;the implementation&lt;/strong&gt;&lt;/span&gt; &lt;/span&gt;and&amp;nbsp;&lt;span style=&quot;color: #800000&quot;&gt;&lt;strong&gt;the factory&lt;/strong&gt;&lt;/span&gt; functions (which instantiate concrete classes).&lt;/p&gt;&lt;p&gt;As it is said &lt;a href=&quot;http://www.forum.nokia.com/info/sw.nokia.com/id/c4536832-3dd0-45af-94be-1c4289cc3003/Symbian_OS_Overview_To_Networking_v1_0_en.pdf.html&quot;&gt;here&lt;/a&gt;, Serial protocol modules also have Service providers (interface &lt;span style=&quot;color: #333399&quot;&gt;&lt;strong&gt;implementations&lt;/strong&gt;&lt;/span&gt;), Protocol &lt;span style=&quot;color: #800000&quot;&gt;&lt;strong&gt;Factories&lt;/strong&gt;&lt;/span&gt; (that are called to instantiate serial service provider) as well.&lt;/p&gt;&lt;p&gt;Looks pretty familiar to understand the serial modules are finally polymorphic DLLs too.&lt;/p&gt;&lt;p&gt;Thus let&amp;rsquo;s try to accommodate my own DLL instead of &lt;strong&gt;BTCOMM.CSY&lt;/strong&gt;.&lt;br /&gt;&lt;img src=&quot;http://blogs.forum.nokia.com//data/blogs/resources/107609/post_019_i01_mydll.gif&quot; border=&quot;0&quot; width=&quot;571&quot; height=&quot;188&quot; /&gt;&lt;/p&gt;&lt;p&gt;By these conditions I&amp;#39;ve imported the Ecom example from SDK to launch and explore.&lt;br /&gt;The example is situated in SDK folder:&lt;br /&gt;&lt;em&gt;/Symbian/9.2/S60_3rd_FP1/Examples/SysLibs/ECom/&lt;/em&gt;&lt;/p&gt;&lt;p&gt;and has 3 sub-folders:&lt;br /&gt;-&amp;raquo;&amp;nbsp;&lt;em&gt;InterfaceClient&lt;/em&gt;&lt;br /&gt;-&amp;raquo;&amp;nbsp;&lt;em&gt;InterfaceDefinition&lt;/em&gt;&lt;br /&gt;-&amp;raquo;&amp;nbsp;&lt;em&gt;InterfaceImplementation&lt;/em&gt;&lt;/p&gt;&lt;p&gt;After unsuccessful build I&amp;rsquo;ve noticed the given project depends on extra sources at the &amp;#39;examples&amp;#39; folder. &lt;br /&gt;It was &amp;#39;&lt;em&gt;CommonFramework&lt;/em&gt;&amp;#39; situated at &lt;em&gt;&amp;#39;/Symbian/9.2/S60_3rd_FP1/Examples/&amp;#39;&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;So I&amp;rsquo;ve copied entire &amp;#39;&lt;em&gt;CommonFramework&lt;/em&gt;&amp;#39; inside &amp;lsquo;&lt;em&gt;Ecom&amp;rsquo;&lt;/em&gt; and modified some paths.&lt;/p&gt;&lt;p&gt;In &lt;u&gt;&amp;#39;/InterfaceClient/InterfaceClient.mmp&amp;#39;&lt;/u&gt; &lt;br /&gt;&lt;em&gt;USERINCLUDE&amp;nbsp;&amp;nbsp; ../..CommonFramework&lt;/em&gt;&lt;br /&gt;to &lt;br /&gt;&lt;em&gt;USERINCLUDE&amp;nbsp;&amp;nbsp; ../CommonFramework&lt;/em&gt;&lt;/p&gt;&lt;p&gt;The familiar change at file: &lt;u&gt;&amp;#39;Ecom/.cdtproject&amp;#39;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;So to be exact with my creepy idea we need:&lt;br /&gt;-&amp;raquo; Create new IAP, &lt;br /&gt;-&amp;raquo; Go to CommDB database and change this IAP record field &amp;#39;MODEM_CSY_NAME&amp;#39; to newly-fledged polymorphic DLL.&lt;br /&gt;-&amp;raquo; See if there is any way DLL can be launched after user picks hackneyed IAP.&lt;br /&gt;-&amp;raquo; Maybe to rename DLL to CSY as well.&lt;br /&gt;-&amp;raquo; Of course, the final goal is that DLL to start working as serial module plug-in.&lt;/p&gt;&lt;p&gt;Besides there is work to divine the appropriate entry point to serial module DLL.&lt;/p&gt;&lt;p&gt;Meanwhile the project was built successfully and I&amp;#39;ve got two DLLs as a result.&lt;br /&gt;The &lt;u&gt;&amp;#39;ExampleResolver.dll&amp;#39;&lt;/u&gt; and the &lt;u&gt;&amp;#39;EComExample.dll&amp;#39;&lt;/u&gt;.&lt;br /&gt;As expected, they are not extension &amp;quot;.csy&amp;quot; provided.&lt;br /&gt;The &lt;em&gt;&amp;#39;ExampleResolver.dll&amp;#39;&lt;/em&gt; is an Interface Definition.&lt;br /&gt;The &lt;em&gt;&amp;#39;EComExample.dll&amp;#39;&lt;/em&gt; is an Interface Implementation.&lt;/p&gt;&lt;p&gt;Putting their names to CommDB records didn&amp;rsquo;t bring any results.&lt;br /&gt;Even giving them &amp;#39;&lt;em&gt;csy&lt;/em&gt;&amp;#39; extension wouldn&amp;#39;t help.&lt;/p&gt;&lt;p&gt;Being on this stage I&amp;#39;m still wondering if anybody knows:&lt;br /&gt;1. How to write a proper CSY module.&lt;br /&gt;2. How to create a Bluetooth Access Point. Which tables and rows of CommDB should be affected for this purpose.&lt;/p&gt;&lt;p&gt;I&amp;#39;ll appreciate any comments on this subjects.&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2008/01/10/attempt-to-create-a-csy-module</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2008/01/10/attempt-to-create-a-csy-module</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2008/01/10/attempt-to-create-a-csy-module</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>Connectivity</category>
      
    <category>S60</category>
      
    <category>Symbian C++</category>
      
    <category>Testing</category>
         <pubDate>Thu, 10 Jan 2008 14:55:52 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Attempt to create a CSY module</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Serial protocol modules</title>
   <description>
    &lt;p&gt;Continuing the last blog entry I can say it is impossible attach to an existing interface (with help of RConnection) in such a way that I can listen to all passing packets (or rather those sockets that I don&amp;rsquo;t own). &lt;/p&gt;&lt;p&gt;What is keeping me busy is creating Bluetooth&amp;reg; IAP (internet access point) after what I can get all the TCP/IP packets incoming to that IAP. As you read my blog I need this to transfer TCP packets over Bluetooth.&lt;/p&gt;&lt;p&gt;As I try to create BT IAP I mostly face with articles and forums related to distant 6th and 7th versions of Symbian.&lt;br /&gt;Like &lt;a href=&quot;http://discussion.forum.nokia.com/forum/showthread.php?t=33667&quot;&gt;this&amp;nbsp;one&lt;/a&gt;.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://blogs.forum.nokia.com//data/blogs/resources/107609/post_018_i01_btcomm.gif&quot; border=&quot;0&quot; alt=&quot;Figure 1 &amp;ndash; list of IAPs.&quot; title=&quot;Figure 1 &amp;ndash; list of IAPs.&quot; width=&quot;240&quot; height=&quot;334&quot; /&gt;&lt;/p&gt;&lt;p&gt;Figure 1 &amp;ndash; list of IAPs.&lt;/p&gt;&lt;p&gt;In &lt;a href=&quot;http://www.forum.nokia.com/info/sw.nokia.com/id/c4536832-3dd0-45af-94be-1c4289cc3003/Symbian_OS_Overview_To_Networking_v1_0_en.pdf.html&quot;&gt;Symbian_OS_Overview_To_Networking&lt;/a&gt;&amp;nbsp;I&amp;rsquo;ve read that on Symbian OS there are &lt;strong&gt;&lt;span style=&quot;color: #666699&quot;&gt;Serial Protocol Modules&lt;/span&gt;&lt;/strong&gt; (CSY) that are used to implement software serial port services. The &lt;span style=&quot;color: #666699&quot;&gt;&lt;strong&gt;Serial Protocol Module API&lt;/strong&gt;&lt;/span&gt; (cs_port.h) allows &lt;strong&gt;developing new CSY modules&lt;/strong&gt;.&lt;br /&gt;Theoretically one can substitute the already existing &lt;em&gt;BTCOMM.CSY&lt;/em&gt; with new module.&lt;/p&gt;&lt;p&gt;So current questions are:&lt;/p&gt;&lt;ol start=&quot;1&quot;&gt;&lt;li&gt;&lt;div&gt;Is it really possible (I didn&amp;rsquo;t find yet) to create new serial protocol modules (CSY). And how-to.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;How to bind new IAP (see figure 1) with a new CSY so one can listen to all it&amp;rsquo;s packets.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;And yes, have a nice Holidays!&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/12/21/serial-protocol-modules</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/12/21/serial-protocol-modules</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/12/21/serial-protocol-modules</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>Connectivity</category>
      
    <category>S60</category>
      
    <category>Symbian C++</category>
      
    <category>Testing</category>
         <pubDate>Fri, 21 Dec 2007 13:57:36 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Serial protocol modules</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Symbian Networking interface</title>
   <description>
    &lt;p&gt;I&amp;#39;ve spent some time to examine the Symbian&amp;#39;s networking architecture.&lt;br /&gt;Since the TCP/IP connection should be established over Bluetooth&amp;reg; the new entry to CommDB database should be entered.&lt;br /&gt;This can be performed by &lt;em&gt;CCommsDatabase&lt;/em&gt; class.&lt;br /&gt;After user selects the PAN record, all TCP traffic should be encapsulated into BNEP packets and transmitted over wireless link.&lt;/p&gt;&lt;p&gt;Inside the application, the &lt;em&gt;IAP&lt;/em&gt; (internet access point) is selected by RConnection class with &lt;em&gt;RConnection::Start()&lt;/em&gt; or &lt;em&gt;RConnection::Attach()&lt;/em&gt; methods.&lt;br /&gt;This methods associate the connection with &lt;strong&gt;underlying interface&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;But no documents can be found about creating those &lt;u&gt;underlying interfaces.&lt;/u&gt;&lt;br /&gt;In my mind that should be something like &lt;img src=&quot;http://blogs.forum.nokia.com//data/blogs/resources/107609/post_017_i01_device.gif&quot; border=&quot;0&quot; width=&quot;94&quot; height=&quot;70&quot; /&gt;&amp;nbsp;device or DLL library.&lt;/p&gt;&lt;p&gt;I asked for help from &lt;a href=&quot;http://discussion.forum.nokia.com/forum/showthread.php?p=366874&quot;&gt;expert on FN Discussion Boards&lt;/a&gt;. This method was recently introduced. And now wait with the impatience.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/12/07/symbian-networking-interface</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/12/07/symbian-networking-interface</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/12/07/symbian-networking-interface</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>Connectivity</category>
      
    <category>Symbian C++</category>
      
    <category>Testing</category>
         <pubDate>Fri, 07 Dec 2007 15:57:38 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Symbian Networking interface</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Accomplish SSL connection from S60v3</title>
   <description>
    &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 9pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;The PAN profile defines how to enable Bluetooth devices to participate in a personal area network.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;One of the roles in PAN profile is a &lt;strong&gt;Network Access Point &lt;/strong&gt;(&lt;strong&gt;NAP&lt;/strong&gt;) that provides an Ethernet bridge to support network services to the PAN user. Read about it here: &lt;/span&gt;&lt;a href=&quot;http://www.bluetooth.com/NR/rdonlyres/279DC460-295E-42ED-8952-61B723620884/9%2084/PAN_SPEC_V10.pdf&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;PAN specification&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;For now I will try to simulate connection to a NAP from my phone. Why simulate? Because to achieve the real connection I need realization of &lt;strong&gt;BNEP&lt;/strong&gt; protocol class which will transmit Ethernet payloads via Bluetooth. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;Since Bluetooth can be eavesdropped in on, we want to use SSL as David said &lt;/span&gt;&lt;a href=&quot;http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/testing/2007/08/23/start-of-development-on-carbide#comments&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;here in comments&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;So the goal for now is to connect to some server using secure internet connection on my phone.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;I chose the &lt;/span&gt;&lt;a href=&quot;https://www.mozilla.org/&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;www.mozilla.org&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt; &lt;span&gt;&amp;nbsp;&lt;/span&gt;SSLv3 site as a server to connect to.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;I found the CSecureSocket example at &lt;/span&gt;&lt;a href=&quot;http://www.symbian.com/developer/techlib/v9.2docs/doc_source/examples/NetworkingEx/SSLExampleCode.guide.html#NetworkingEx%2eSSLExampleCode&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;symbian.com/.../v9.2docs/.../&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt; but not everything went of smoothly rather the connection was not established and system was completed with panics. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;It seems that that example is pretty old even not for 3&lt;sup&gt;rd&lt;/sup&gt; edition. But I can&amp;rsquo;t assert so.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;However I scoped the similar problems and documents over &lt;/span&gt;&lt;a href=&quot;http://kerncomputing.blogspot.com/2006_01_01_archive.html&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt; and &lt;/span&gt;&lt;a href=&quot;http://www.google.com/codesearch?hl=en&amp;amp;q=+CSecureSocket::NewL+show:EdUbb5Jsy2s:JmFNWp2ckDk:gpW0gb_U01s&amp;amp;sa=N&amp;amp;cd=3&amp;amp;ct=rc&amp;amp;cs_p=ftp://tent.xs4all.nl/pys60-1_3_12_src.zip&amp;amp;cs_f=src/ext/socket/e32socketmodule.cpp#first&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;When got tangled I used some parts of S60v3 Chat code example with insecure internet connection.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;The &amp;ldquo;&lt;span style=&quot;color: #666699&quot;&gt;guiSetBluspan&lt;/span&gt;&amp;rdquo; application that was initiated at previous posts looks like this now: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;you need to click &amp;ldquo;&lt;em&gt;Options&lt;/em&gt;&amp;rdquo; menu then pick &amp;ldquo;&lt;em&gt;Connect/Disconnect&lt;/em&gt;&amp;rdquo; item and then pick &amp;ldquo;&lt;em&gt;NAP&lt;/em&gt;&amp;rdquo; item.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;img src=&quot;http://blogs.forum.nokia.com//data/blogs/resources/107609/post_015_i01_connecting.png&quot; border=&quot;0&quot; width=&quot;525&quot; height=&quot;324&quot; align=&quot;middle&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-align: center&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-align: center&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;Diagram 1 &amp;ndash; Connecting from application&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;After some seconds server will send SSL certificate. You need answer &amp;ldquo;&lt;span style=&quot;color: #666699&quot;&gt;Continue&lt;/span&gt;&amp;rdquo;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;img src=&quot;http://blogs.forum.nokia.com//data/blogs/resources/107609/post_015_i02_certificate.png&quot; border=&quot;0&quot; width=&quot;240&quot; height=&quot;323&quot; align=&quot;middle&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-align: center&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-align: center&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;Diagram 2 &amp;ndash; Certificate question&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-align: center&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;After all steps of connection, handshaking, page request, getting server response and closing connection the notification will appear about successful operation.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;img src=&quot;http://blogs.forum.nokia.com//data/blogs/resources/107609/post_015_i03_connection_finished.png&quot; border=&quot;0&quot; width=&quot;242&quot; height=&quot;322&quot; align=&quot;middle&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-align: center&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-align: center&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-align: center&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;Diagram 3 &amp;ndash; Connection finished&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;The objects of these routines were to establish connection to secure HTTPS connection where NAP&amp;rsquo;s authorization page will be. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;At next researches I need to connect to NAP server, provide user&amp;rsquo;s login and password. NAP is connected to Radius server which will verify user existence and will start accounting on him.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;The source codes of application above are provided by this link: &lt;/span&gt;&lt;a href=&quot;http://wiki.forum.nokia.com/images/b/b6/GuiSetBluspan.zip&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;guiSetBluspan Zip archive &lt;/span&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;v 0.003&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 8pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;(Nokia&amp;rsquo;s wiki)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;See &lt;/span&gt;&lt;a href=&quot;http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/general/2007/11/02/get-project-from-cvs-to-carbide-c&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;this posts here&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt; to know how to use sources.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt; font-family: &#039;Times New Roman&#039;&quot;&gt;The Secure Connection engine in focused in /&lt;em&gt;Core&lt;/em&gt;/ folder and is called from &amp;ldquo;&lt;em&gt;guiSetBluspanSettingItemListView.cpp&amp;rdquo;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/11/19/accomplish-ssl-connection-from-s60v3</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/11/19/accomplish-ssl-connection-from-s60v3</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/11/19/accomplish-ssl-connection-from-s60v3</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>Connectivity</category>
      
    <category>S60</category>
      
    <category>Symbian C++</category>
      
    <category>Testing</category>
         <pubDate>Mon, 19 Nov 2007 09:47:24 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Accomplish SSL connection from S60v3</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Insert Multiselection list into GUI</title>
   <description>
    &lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;One of my favorite classes that Symbian grants to build User Interface is &lt;u&gt;Multiselection List&lt;/u&gt;. I&amp;rsquo;ve learned about it recently. &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;This is a type of Vertical lists which draws a set of elements each of them can be marked by checkbox.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;At &lt;u&gt;future BluSPAN GUI&lt;/u&gt; there is &amp;ldquo;Chat settings&amp;rdquo; view. User can determine which types of files can be accepted by chat. Example: .bmp, .jpeg, .avi, .mpeg,&lt;span&gt;&amp;nbsp; &lt;/span&gt;wav and so on. See diagram 1.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;img src=&quot;http://blogs.forum.nokia.com//data/blogs/resources/107609/post_014_i01_multiselection_list.jpg&quot; border=&quot;0&quot; width=&quot;550&quot; height=&quot;323&quot; align=&quot;middle&quot; /&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt; text-align: center&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt; text-align: center&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt; text-align: center&quot;&gt;&lt;span&gt;Diagram 1 &amp;ndash; Multiselection list at Chat settings view.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt; text-align: center&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;To build Multiselection List into my application I had to read about a lot of stages how to use it.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;I divided this stages to:&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&lt;span&gt;&amp;raquo; Defining Multiselection List in resource (.rss) file&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&lt;span&gt;&amp;raquo; Code implementation in source (.cpp) to Popup it.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&lt;span&gt;&amp;raquo; Get results of user choice.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&lt;span&gt;&lt;strong&gt;1. Defining Multiselection List in .rss file&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;strong&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;I&amp;rsquo;ve read the Resources_Dialogs.pdf at &lt;/span&gt;&lt;a href=&quot;http://www.forum.nokia.com/info/sw.nokia.com/id/0ef53656-8e0d-48f2-8b67-1ebed12d526d/S60_Platform_Avkon_UI_Resources_v1_1_en.zip.html&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;S60_Platform_Avkon_UI_Resources&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt; documentation series. Upon this I&amp;rsquo;ve formed the resource definition as below:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: medium none&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; padding-top: 0cm; background-color: transparent; border: windowtext 1pt solid&quot; valign=&quot;top&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;Listing 1&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent&quot; valign=&quot;top&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;// Multiselection list query dialog&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;RESOURCE DIALOG r_accept_type_multiselection_query &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;{ &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;flags = EGeneralQueryFlags; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;buttons = R_AVKON_SOFTKEYS_OK_CANCEL; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;items = &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{ &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;DLG_LINE &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{ &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;type = EAknCtListQueryControl; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;id = EListQueryControl; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;control = AVKON_LIST_QUERY_CONTROL &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{ &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;listtype = EAknCtSingleGraphicPopupMenuListBox; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;listbox = LISTBOX &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{ &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;flags = EAknListBoxMultiselectionList; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;height = 3; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;width = 3; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;array_id = r_accept_types_multiselection_query_list_item; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;heading = &amp;quot;Select types:&amp;quot;; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;} &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;} &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;RESOURCE ARRAY r_accept_types_multiselection_query_list_item &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;{ &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;items = &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{ &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LBUF { txt = &amp;quot;1t.Bmp&amp;quot;; }, &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LBUF { txt = &amp;quot;1t.Jpg&amp;quot;; }, &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LBUF { txt = &amp;quot;1t.Avi&amp;quot;; }, &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LBUF { txt = &amp;quot;1t.Mp3&amp;quot;; }, &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LBUF { txt = &amp;quot;1t.Wav&amp;quot;; } &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; line-height: 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;I have put this listing&lt;span&gt;&amp;nbsp; &lt;/span&gt;to [project_name].rss&lt;span&gt;&amp;nbsp; &lt;/span&gt;file. After that you can call ExecuteLD() function with Reference to this resource object. This will be shown below.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&lt;strong&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;2. Popuping list. Code implementation.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;With UI designer help, choose the Event tab for &amp;ldquo;Accept types&amp;rdquo; menu item. Double click on event to generate Handler function.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;In this function we need to create an Instance of &lt;em&gt;&lt;span style=&quot;color: #666699&quot;&gt;CAknListQueryDialog&lt;/span&gt;&lt;/em&gt; class and Execute it. The source code below shows it.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: medium none&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; padding-top: 0cm; background-color: transparent; border: windowtext 1pt solid&quot; valign=&quot;top&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;Listing 2&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent&quot; valign=&quot;top&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;// Run a dialog of &amp;ldquo;Acceptance of data types&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;CArrayFixFlat&amp;lt;TInt&amp;gt;* indexArray = new(ELeave)CArrayFixFlat&amp;lt;TInt&amp;gt;(5); &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;CleanupStack::PushL(indexArray); &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;CAknListQueryDialog* dlg = new (ELeave) &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;CAknListQueryDialog(indexArray); &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;if ( dlg-&amp;gt;ExecuteLD(R_ACCEPT_TYPE_MULTISELECTION_QUERY ) ) &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;{ &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;em&gt;&lt;span style=&quot;color: #666699&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Here we will take results of User&amp;rsquo;s choice&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;} &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;CleanupStack::PopAndDestroy();// indexArray&lt;/span&gt;&lt;/em&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;By this code the Multiselection List will Popup and user can mark preferable items.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&lt;strong&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;3. Geting results of user choice&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;That task was not easy due to Specific Array type of &lt;em&gt;&lt;span style=&quot;color: #666699&quot;&gt;CArrayFixFlat&amp;lt;TInt&amp;gt;&lt;/span&gt;&lt;/em&gt;. I could not retrieve data from it. I found a way with help of the similar &lt;/span&gt;&lt;a href=&quot;http://www.ok371.cn/html/11/0/785/1.htm&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;topic of this forum&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;The source code below should be placed at Listing 2 to the &amp;ldquo;&lt;em&gt;&lt;span style=&quot;color: #666699&quot;&gt;if ( dlg-&amp;gt;ExecuteLD)&lt;/span&gt;&lt;/em&gt;&amp;rdquo; branch. This source code takes result from List and shows indexes of selected items on screen (diagram 2).&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: medium none&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; padding-top: 0cm; background-color: transparent; border: windowtext 1pt solid&quot; valign=&quot;top&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;Listing &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent&quot; valign=&quot;top&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;if ( dlg-&amp;gt;ExecuteLD(R_ACCEPT_TYPE_MULTISELECTION_QUERY ) ) &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;{ &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;TBufC&amp;lt;136&amp;gt; resultString;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;TPtr ptr = resultString.Des();&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;//temporary string to convert from TInt to text&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;TBufC&amp;lt;136&amp;gt; temporaryString;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;TPtr ptrTemporaryString = temporaryString.Des();&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;TInt intValue;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;//How much elements did user select from Multiselection list&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;TInt elementsAmount = indexArray-&amp;gt;Count(); &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;//Retrieve all element that user have picked up&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;for (TInt elementI = 0; elementI &amp;lt; elementsAmount; elementI++) {&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 18pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;intValue = (*indexArray)[elementI];&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 18pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;ptrTemporaryString.Format(_L(&amp;quot;%d &amp;quot;), intValue);&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 18pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;ptr.Append(temporaryString);&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;//Show the elements user have picked up&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;CAknInformationNote* Notelnformation; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;Notelnformation = new (ELeave) CAknInformationNote; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt 9pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;Notelnformation -&amp;gt;ExecuteLD(resultString);&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;} // If &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p align=&quot;center&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://blogs.forum.nokia.com//data/blogs/resources/107609/post_014_i02_results.jpg&quot; border=&quot;0&quot; width=&quot;243&quot; height=&quot;322&quot; align=&quot;middle&quot; /&gt;&amp;nbsp;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;Diagram 2 &amp;ndash; Results of user&amp;rsquo;s choice. Indexes of selected items&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-indent: 36pt; text-align: center&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt; text-align: center&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;Download source code here: &lt;/span&gt;&lt;a href=&quot;http://wiki.forum.nokia.com/images/7/71/GuiSetBluspan0002.zip&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;guiSetBluspan Zip Archive &lt;/span&gt;&lt;span style=&quot;font-size: 10pt&quot;&gt;v 0.002&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span style=&quot;font-size: 8pt&quot;&gt;(Nokia&amp;rsquo;s wiki)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small&quot;&gt;See &lt;/span&gt;&lt;a href=&quot;http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/general/2007/11/02/get-project-from-cvs-to-carbide-c&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;this posts here&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt; to know how to use sources.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/11/06/insert-multiselection-list-into-gui</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/11/06/insert-multiselection-list-into-gui</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/11/06/insert-multiselection-list-into-gui</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>S60</category>
      
    <category>Symbian C++</category>
      
    <category>Testing</category>
         <pubDate>Tue, 06 Nov 2007 11:09:53 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Insert Multiselection list into GUI</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Code implementation for GUI</title>
   <description>
    &lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;At post:&amp;nbsp;&lt;span style=&quot;font-size: 10pt; color: #0033cc&quot;&gt;&lt;a href=&quot;https://blogs.forum.nokia.com/view_entry.html?id=770&quot;&gt;&lt;em&gt;Assembling GUI set reflecting future BluSPAN functionality&lt;/em&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; I have shown the GUI that will take place at BluSPAN application. Now I will tell you about&amp;nbsp;some difficulties I&amp;rsquo;ve faced during this.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;Since the &lt;u&gt;&amp;ldquo;&lt;span style=&quot;color: #666699&quot;&gt;Status&lt;/span&gt;&amp;rdquo; menu-item&lt;/u&gt; in &lt;span style=&quot;color: #666699&quot;&gt;Options&lt;/span&gt; menu was created, I wanted it to perform &lt;u&gt;Query List&lt;/u&gt; popup for user can select his status. This was done with &amp;ldquo;&lt;span style=&quot;color: #666699&quot;&gt;List Single Query Dialog&lt;/span&gt;&amp;rdquo; component. &lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;After lots of research, and looking at examples, I knew that after this component is placed onto designer, the &amp;ldquo;&lt;span style=&quot;color: #666699&quot;&gt;RunListQuery1L();&lt;/span&gt;&amp;rdquo; is generated.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;So I&amp;rsquo;ve implemented the &amp;ldquo;selected&amp;rdquo; event with call to it:&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;span&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt; color: #666699&quot;&gt;&amp;hellip; ::HandleStatusMenuItemSelectedL( TInt aCommand )&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt; color: #666699&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt; color: #666699&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Run the Single Query list Of Status&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt; color: #666699&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int resultIndex = RunListQuery1L();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt; color: #666699&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt; color: #666699&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ETrue;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt; color: #666699&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;And it worked.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; style=&quot;text-indent: 36pt&quot;&gt;&lt;br /&gt;&lt;img src=&quot;http://blogs.forum.nokia.com/file.html?id=590&amp;amp;file=post_011_i01_event_tab.png&quot; border=&quot;0&quot; width=&quot;576&quot; height=&quot;95&quot; align=&quot;middle&quot; /&gt;&amp;nbsp;&lt;/div&gt;&lt;div align=&quot;center&quot; style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;Picture 1 &amp;ndash; Event tab in Carbide &lt;/span&gt;&lt;span&gt;С&lt;/span&gt;&lt;span&gt;++&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;span&gt;Creating new UI design in current application&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;To allow user customize the &amp;ldquo;&lt;span style=&quot;color: #666699&quot;&gt;USER&lt;/span&gt;&amp;rdquo;, &amp;ldquo;&lt;span style=&quot;color: #666699&quot;&gt;PAN&lt;/span&gt;&amp;rdquo; and other settings I had to create new designs with Settings Lists.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;To do that, just right click on a project, and select: &lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;&amp;ldquo;&lt;em&gt;New-&amp;gt;Other-&amp;gt;Symbian OS-&amp;gt;S60 UI Design&lt;/em&gt;&amp;rdquo;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Select &amp;ldquo;&lt;span style=&quot;color: #666699&quot;&gt;Setting Item List&lt;/span&gt;&amp;rdquo; type of interface. Write appropriate name. For example: &amp;ldquo;SettingsPAN&amp;rdquo; and click Finish. After that you can start customizing new UI design by arranging the components.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;Once a &lt;span style=&quot;color: #666699&quot;&gt;User Settings &lt;/span&gt;design, was created, I&amp;rsquo;ve put &amp;ldquo;&lt;span style=&quot;color: #666699&quot;&gt;Text Editor&lt;/span&gt;&amp;rdquo; component there for user&amp;rsquo;s nickname . After Build the error occurred:&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;font-size: 13pt; font-family: Verdana&quot;&gt;&amp;ldquo;&lt;/span&gt;&lt;span style=&quot;color: #ff6600; font-family: Tahoma&quot;&gt;object &amp;#39;KEdit1MaxLength&amp;#39; redefined&lt;/span&gt;&lt;span style=&quot;font-size: 13pt; font-family: Verdana&quot;&gt;&amp;rdquo;.&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;But that was not so definitely, because I&amp;rsquo;ve made a lot of Designs to that time, and I&amp;rsquo;ve&amp;nbsp;got a lot of similar errors. After examination it was clear that UI Designer generated the same code for newer &amp;ldquo;&lt;span style=&quot;color: #666699&quot;&gt;Text Editor&lt;/span&gt;&amp;rdquo; as it was for main application&amp;rsquo;s design (there was &amp;ldquo;Text Editor&amp;rdquo; too). Is it so clear?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;But I&amp;rsquo;ve changed Component&amp;rsquo;s name from &amp;ldquo;&lt;span style=&quot;color: #666699&quot;&gt;edit1&lt;/span&gt;&amp;rdquo; to &amp;ldquo;&lt;span style=&quot;color: #666699&quot;&gt;User_edit1&lt;/span&gt;&amp;rdquo;. The errors stepped back.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;At current stage I have a lot of Design screens with BluSPAN settings. But I don&amp;rsquo;t know how to switch between them. When new Design is created, the remark is shown: &amp;ldquo;Use View Switching: Avkon View-Switching architecture uses the View Server to activate your designs&amp;rdquo;. But I did find how to use it.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;img src=&quot;http://blogs.forum.nokia.com/file.html?id=594&amp;amp;file=post_011_i02_switch_designs.png&quot; border=&quot;0&quot; width=&quot;374&quot; height=&quot;120&quot; align=&quot;middle&quot; /&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;Picture 2 &amp;ndash; The questions is: How to switch UI designs in application?&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Did anybody face this challenge?&lt;/span&gt;&lt;/div&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/25/code-implementation-for-gui</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/25/code-implementation-for-gui</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/25/code-implementation-for-gui</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>S60</category>
      
    <category>Symbian C++</category>
         <pubDate>Thu, 25 Oct 2007 09:28:15 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Code implementation for GUI</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Assembling GUI set reflecting future BluSPAN functionality</title>
   <description>
    &lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;Hello. Recent days I was busy on assembling the &lt;u&gt;GUI set&lt;/u&gt; which should reflect the functionality of future &lt;strong&gt;&lt;span style=&quot;color: #666699&quot;&gt;BluSPAN&lt;/span&gt;&lt;/strong&gt; application.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;I used Carbide&amp;rsquo;s C++ &lt;span style=&quot;color: #666699&quot;&gt;UI Designer&lt;/span&gt; tool. It&amp;rsquo;s pretty handy to drag-and-drop elements at design&amp;rsquo;s workspace while the appropriate code is generated. &amp;nbsp;But I&amp;rsquo;m still confused with that code, which is too complicated to novice&amp;rsquo;s sight.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;strong&gt;&lt;span&gt;Documentation&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;I tried to approach this task reading a lot of material.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;&amp;raquo; I observed the possibilities of UI with help of&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;http://sw.nokia.com/id/f3bd3cfc-f0ee-469f-a8a5-55bdacc54bd9/Introduction_to_S60_UI_Components_v1_0_en.pdf&quot; target=&quot;undefined&quot;&gt;&amp;ldquo;Introduction_to_S60_UI_Components&amp;rdquo;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;and I&amp;rsquo;ve got good notion about it.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;raquo; Very basic information about UI Designer&lt;br /&gt;&lt;a href=&quot;http://www.forum.nokia.com/info/sw.nokia.com/id/1102065e-764e-461d-843d-c432d975df5c/Carbide.cpp_UI_Designer_WP_v1_0_en.pdf.html&quot; target=&quot;undefined&quot;&gt;UI Designer White Papers&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;&amp;raquo; The manual for developers is: &lt;a href=&quot;http://www.forum.nokia.com/info/sw.nokia.com/id/0ef53656-8e0d-48f2-8b67-1ebed12d526d/S60_Platform_Avkon_UI_Resources_v1_1_en.zip.html&quot; target=&quot;undefined&quot;&gt;Avkon UI Resources&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;&amp;raquo; Downloaded and executed some examples:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;a href=&quot;http://wiki.forum.nokia.com/index.php/Landmarks/web_client_example_using_Carbide.c++_and_UI_designer&quot; target=&quot;undefined&quot;&gt;landmarks example&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;a href=&quot;http://www.forum.nokia.com/info/sw.nokia.com/id/2e80a6f4-9d9b-45d1-b268-d01b862a7023/S60_Platform_Dynamic_Setting_List_Example_v1_0.zip.html&quot; target=&quot;undefined&quot;&gt;dynamic setting list example&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;span&gt;Current results&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;So I started creating my GUIs. Here is a picture of those, I&amp;rsquo;ve created:&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://blogs.forum.nokia.com/file.html?id=586&amp;amp;file=post_010_i01_mainscreen.png&quot; border=&quot;0&quot; width=&quot;244&quot; height=&quot;323&quot; align=&quot;middle&quot; /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; style=&quot;text-indent: 36pt&quot;&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;Picture 1 &amp;ndash; Screen of Main app&amp;rsquo;s window&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; style=&quot;text-indent: 36pt&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&amp;nbsp;&lt;img src=&quot;http://blogs.forum.nokia.com/file.html?id=588&amp;amp;file=post_010_i02_options.png&quot; border=&quot;0&quot; width=&quot;580&quot; height=&quot;600&quot; align=&quot;middle&quot; /&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;Picture 2 &amp;ndash; Options menu&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;br /&gt;&lt;img src=&quot;http://blogs.forum.nokia.com/file.html?id=589&amp;amp;file=post_010_i03_settings.png&quot; border=&quot;0&quot; width=&quot;547&quot; height=&quot;810&quot; align=&quot;middle&quot; /&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;&lt;br /&gt;Picture 3 &amp;ndash; Settings screens of all parameters BluSPAN will care&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;At next posts I&amp;rsquo;ll tell you what difficulties I&amp;rsquo;ve faced, the troubles I could overcome and those ones which are still barrier&amp;nbsp;for project progress. &lt;/span&gt;&lt;/div&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/24/assembling-gui-set-reflecting-future-bluspan-functionality</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/24/assembling-gui-set-reflecting-future-bluspan-functionality</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/24/assembling-gui-set-reflecting-future-bluspan-functionality</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>S60</category>
      
    <category>Symbian C++</category>
         <pubDate>Wed, 24 Oct 2007 16:31:51 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Assembling GUI set reflecting future BluSPAN functionality</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Bluetooth Driver for S60 SDK</title>
   <description>
    &lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;To use Bluetooth in S60 emulator you have to install BT driver.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;After some customizing emulator will use your hardware - Bluetooth Dongle.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;If you try to customize it by yourself (without installing driver) in purpose to use Bluetooth Dongle, than, for sure, emulator will die.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;If you have S60 SDK FP2, the BT driver will be located at &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;span&gt;&amp;ldquo;&amp;lt;S60_SDK_installation_directory&amp;gt;S60Tools&lt;/span&gt;&lt;/em&gt;&lt;span&gt;S60Bt&amp;rdquo;&lt;/span&gt;&lt;span&gt; directory.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;But I have S60 FP 1, so I&amp;#39;ve downloaded it from &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;a href=&quot;http://www.forum.nokia.com/info/sw.nokia.com/id/9d50801f-1f95-4c83-87bc-cb83d4a21bef/S60_SDK_BT_Driver.zip.html&quot; target=&quot;undefined&quot;&gt;http://www.forum.nokia.com/info/sw.nokia.com/id/9d50801f-1f95-4c83-87bc-cb83d4a21bef/S60_SDK_BT_Driver.zip.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;The installation procedure is described in this distribution package as &lt;/span&gt;&lt;em&gt;&lt;span&gt;*pdf&lt;/span&gt;&lt;/em&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;After that you need to start emulator, and at &lt;/span&gt;&lt;em&gt;&lt;span&gt;PAN&lt;/span&gt;&lt;/em&gt;&lt;span&gt; tab set &lt;/span&gt;&lt;em&gt;&lt;span&gt;HCI&lt;/span&gt;&lt;/em&gt;&lt;span&gt; to &lt;/span&gt;&lt;em&gt;&lt;span&gt;USB&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, then restart it.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Everything is described in detail in previous guide.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;As I restarted it, I&amp;#39;ve immediately got an advertisement message :) from the juke-box which is assembled in our office.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Now I can play with Bluetooth examples which are provided with SDK.&lt;/span&gt;&lt;/div&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/22/bluetooth-driver-for-s60-sdk</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/22/bluetooth-driver-for-s60-sdk</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/22/bluetooth-driver-for-s60-sdk</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>Connectivity</category>
      
    <category>S60</category>
      
    <category>Symbian C++</category>
         <pubDate>Mon, 22 Oct 2007 12:45:02 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Bluetooth Driver for S60 SDK</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Difference between the pointers in Carbide c++ and C++</title>
   <description>
    &lt;div style=&quot;text-indent: 36pt&quot;&gt;&lt;span&gt;One more difference between Carbide C++ and standard C++ that I found while porting is pointers maintaining.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;If you have a pointer &amp;#39;&lt;/span&gt;&lt;em&gt;&lt;span&gt;p&lt;/span&gt;&lt;/em&gt;&lt;span&gt;&amp;#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;span&gt;void *p = other_pointer;&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;in C you can sum it up with integer value to walk through memory:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;span&gt;p += sizeof(uint8_t);&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;That is frequently used in BlueZ libraries.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;But Carbide doesn&amp;#39;t allow such manipulation motivating with:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;quot;illegal operands &amp;#39;&lt;/span&gt;&lt;em&gt;&lt;span&gt;void *&lt;/span&gt;&lt;/em&gt;&lt;span&gt;&amp;#39; + &lt;/span&gt;&lt;em&gt;&lt;span&gt;&amp;#39;unsigned int&amp;#39;&lt;/span&gt;&lt;/em&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;That is because Carbide is more strict with types than C is.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;So to move through memory I need that pointer &amp;#39;&lt;/span&gt;&lt;em&gt;&lt;span&gt;p&lt;/span&gt;&lt;/em&gt;&lt;span&gt;&amp;#39; would be a pointer to specific data type, not &amp;lsquo;&lt;/span&gt;&lt;em&gt;&lt;span&gt;void&amp;rsquo;&lt;/span&gt;&lt;/em&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;I decided, &lt;em&gt;&amp;#39;&lt;/em&gt;&lt;/span&gt;&lt;em&gt;&lt;span&gt;p&lt;/span&gt;&lt;/em&gt;&lt;span&gt;&amp;#39; should be a pointer to &amp;#39;&lt;/span&gt;&lt;em&gt;&lt;span&gt;uint8_t&lt;/span&gt;&lt;/em&gt;&lt;span&gt;&amp;#39; because it is used as type&amp;rsquo;s length to determine data&amp;rsquo;s displacement step.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;So the final declaration looks like this:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;span&gt;uint8_t *p;;&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;p += sizeof(uint8_t);&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/17/difference-between-the-pointers-in-carbide-c-and-c</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/17/difference-between-the-pointers-in-carbide-c-and-c</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/17/difference-between-the-pointers-in-carbide-c-and-c</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>Symbian C++</category>
         <pubDate>Wed, 17 Oct 2007 16:11:16 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Difference between the pointers in Carbide c++ and C++</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>BlueZ port using P.I.P.S. environment</title>
   <description>
    &lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;span&gt;After unsatisfactory attempt to port BlueZ system to Symbian due to &lt;/span&gt;&lt;em&gt;&lt;span&gt;&amp;lt;sys/signal.h&amp;gt; &lt;/span&gt;&lt;/em&gt;&lt;span&gt;differences, David advised me to look at &lt;strong&gt;P.I.P.S&lt;/strong&gt; libraries. P.I.P.S. are Symbian libraries that are compatible with &lt;strong&gt;&lt;span style=&quot;color: #000000&quot;&gt;POSIX &lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;color: #000000&quot;&gt;standard.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;a href=&quot;http://developer.symbian.com/wiki/display/oe/P.I.P.S.+Home&quot;&gt;http://developer.symbian.com/wiki/display/oe/P.I.P.S.+Home&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;span&gt;That could mean &lt;span style=&quot;color: #000000&quot;&gt;reducing efforts while migrating the project to mobile device.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;That was true on several positions. But there still was a trouble with &amp;lt;sys/system.h&amp;gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;It has &lt;/span&gt;&lt;em&gt;&lt;span style=&quot;color: #000000&quot;&gt;sigaction&lt;/span&gt;&lt;/em&gt;&lt;span style=&quot;color: #000000&quot;&gt;{} structure inside. But BlueZ needs &lt;/span&gt;&lt;em&gt;&lt;span style=&quot;color: #000000&quot;&gt;sigaction&lt;/span&gt;&lt;/em&gt;&lt;span style=&quot;color: #000000&quot;&gt;() function too.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;I don&amp;rsquo;t know, if the trouble is that BlueZ doesn&amp;rsquo;t support POSIX. Or it is a Symbian&amp;rsquo;s trait. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;But there is a paragraph here &lt;a href=&quot;http://developer.symbian.com/wiki/download/attachments/1411/PIPS_Essential_Booklet.pdf&quot;&gt;http://developer.symbian.com/wiki/download/attachments/1411/PIPS_Essential_Booklet.pdf&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;[PIPS_Essential_Booklet.pdf]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Which says: &amp;ldquo;&lt;/span&gt;&lt;em&gt;&lt;span style=&quot;font-size: 16pt&quot;&gt;The P.I.P.S. environment does not support signals&lt;/span&gt;&lt;/em&gt;&lt;span&gt;&amp;rdquo;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Other functions that are not supported:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;span&gt;sigfillset()&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;span&gt;sigdelset()&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;I had to examine what Signals are used for. I came to conclusion that they are used to &lt;strong&gt;halt&lt;/strong&gt; child processes.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;span&gt;Sigaction()&lt;/span&gt;&lt;/em&gt;&lt;span&gt;function was used to specify the action to be associated with a specific signal. After that the process generates his child instance (with &lt;strong&gt;&lt;em&gt;fork&lt;/em&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;exec&lt;/em&gt;&lt;/strong&gt;) which can be killed by sending &amp;ldquo;halt&amp;rdquo; signal with this statement:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;span&gt;kill(pid, SIGHUP)&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;So, I did not still find the replacement to this function to kill child processes. I&amp;rsquo;m thinking about Symbian&amp;rsquo;s &lt;/span&gt;&lt;em&gt;&lt;span&gt;RProcess&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span&gt; class&lt;/span&gt;&lt;/em&gt;&lt;span&gt;. Any ideas?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;I found that Carbide C++ is very strict to data types. Even more strict than unix c.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;I had to replace statements like:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;span&gt;struct bnep_setup_conn_req *req;&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;span&gt;req = (void *) pkt;&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;em&gt;&lt;span&gt;to&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;span&gt;req = (struct bnep_setup_conn_req *) pkt;&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;At this 2 documents:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;a href=&quot;http://www3.symbian.com/faq.nsf/0/D23BCB0AF8B1DC168025729F003FF465?OpenDocument&quot;&gt;http://www3.symbian.com/faq.nsf/0/D23BCB0AF8B1DC168025729F003FF465?OpenDocument&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;a href=&quot;http://www3.symbian.com/faq.nsf/0/0C3AC88AA406F6108025729F00402E3A?OpenDocument&quot;&gt;http://www3.symbian.com/faq.nsf/0/0C3AC88AA406F6108025729F00402E3A?OpenDocument&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;span&gt;I found recommendations how to substitute ther &amp;ldquo;&lt;em&gt;fork&lt;/em&gt;&amp;rdquo;, &amp;ldquo;&lt;em&gt;exec&lt;/em&gt;&amp;rdquo; operations with other posix functions. The main is &lt;/span&gt;&lt;em&gt;&lt;span&gt;posix_spawn().&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;span&gt;I tried to follow this idea, outflanking the forks and execs with &lt;/span&gt;&lt;em&gt;&lt;span&gt;posix_spawn().&lt;/span&gt;&lt;/em&gt;&lt;span&gt;It worked well.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;span&gt;At &lt;/span&gt;&lt;em&gt;&lt;span&gt;run_script()&lt;/span&gt;&lt;/em&gt;&lt;span&gt; function there is instruction:&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;em&gt;&lt;span&gt;execv(script, argv);&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;span&gt;Before&lt;/span&gt;&lt;em&gt;&lt;span&gt; run_script()&lt;/span&gt;&lt;/em&gt;&lt;span&gt;is used, the &amp;nbsp;&lt;/span&gt;&lt;em&gt;&lt;span&gt;fork()&lt;/span&gt;&lt;/em&gt;&lt;span&gt;function is called to create the instance of program itself.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;span&gt;This &lt;/span&gt;&lt;span style=&quot;letter-spacing: -1pt&quot;&gt;&amp;ldquo;&lt;em&gt;execv+fork&lt;/em&gt;&amp;rdquo;&lt;/span&gt;&lt;span&gt;pair is replaced by one &lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;em&gt;&lt;span style=&quot;letter-spacing: -1pt&quot;&gt;posix_spawn(&amp;amp;Childpid,script,NULL,NULL,argv,NULL);&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;call.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;span&gt;There are still lots of goals to reach. I don&amp;rsquo;t know how to pass command line arguments to Carbide&amp;rsquo;s console application.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The sdp.c is not implemented in this version of port because it still makes too much errors and it will take time to solve.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;span&gt;I think there will be resulting GUI application which will run main PAND console instances. After that they should get into single signed SIS installation file.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Please look the sources of port using P.I.P.S. at my CVS repository &lt;a href=&quot;http://bluspan.cvs.sourceforge.net/bluspan/pand_port_06/&quot;&gt;http://bluspan.cvs.sourceforge.net/bluspan/pand_port_06/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;span&gt;The CVS checkout process to Carbide C++ IDE is described in my post: &lt;a href=&quot;http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/general/2007/11/02/get-project-from-cvs-to-carbide-c&quot; target=&quot;_blank&quot;&gt;Get project from CVS to Carbide C++&lt;/a&gt;.&lt;/span&gt; &lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;/div&gt;&lt;span&gt;Please, checkout the newest &lt;/span&gt;&lt;span style=&quot;font-size: 18pt&quot;&gt;pand_port_06 &lt;/span&gt;&lt;span&gt;version.&lt;/span&gt;&lt;/div&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/16/bluez-port-using-p.i.p.s.-environment</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/16/bluez-port-using-p.i.p.s.-environment</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/16/bluez-port-using-p.i.p.s.-environment</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>Open C</category>
      
    <category>S60</category>
      
    <category>Symbian C++</category>
         <pubDate>Tue, 16 Oct 2007 15:01:58 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>BlueZ port using P.I.P.S. environment</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Obtaining Carbide license</title>
   <description>
    &lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;After &lt;strong&gt;Carbide C++ v.1.2&lt;/strong&gt; product was downloaded at &lt;a href=&quot;http://www.forum.nokia.com/main/resources/tools_and_sdks/carbide_cpp/&quot; target=&quot;undefined&quot;&gt;http://www.forum.nokia.com/main/resources/tools_and_sdks/carbide_cpp/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;there was a period while all features were enabled. I used Carbide &lt;span style=&quot;color: #666699&quot;&gt;professional edition.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Then the test period was over, and Carbide came to &lt;strong&gt;&lt;span style=&quot;color: #666699&quot;&gt;Express&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;color: #333333&quot;&gt;(free, test)&lt;/span&gt; &lt;span style=&quot;color: #666699&quot;&gt;edition&lt;/span&gt; automatically.&lt;/div&gt;&lt;div&gt;For now I could not use &lt;strong&gt;&lt;span style=&quot;color: #666699&quot;&gt;UI Designer&lt;/span&gt;&lt;/strong&gt; tool.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;As a &lt;strong&gt;&lt;span style=&quot;color: #333333&quot;&gt;S2F&lt;/span&gt;&lt;/strong&gt; blogs author, I was linked up with &lt;a href=&quot;https://pro.forum.nokia.com/&quot;&gt;https://pro.forum.nokia.com/&lt;/a&gt; launchpad program. We ordered there license of Carbide &lt;strong&gt;&lt;span style=&quot;color: #666699&quot;&gt;Developer edition&lt;/span&gt;&lt;/strong&gt;.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;It took some time to understand, why the license is not still available for me though it was ordered. The reason was that there are different statuses of launchpad members. They are: the &lt;strong&gt;&lt;span style=&quot;color: #666699&quot;&gt;account owner&lt;/span&gt;&lt;/strong&gt; and the &lt;strong&gt;&lt;span style=&quot;color: #666699&quot;&gt;account users&lt;/span&gt;&lt;/strong&gt;.&amp;nbsp;After purchasing Carbide, the account owner directs the license to account user. At this step user can activate the license.&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;There are &amp;ldquo;&lt;em&gt;Node-locked&lt;/em&gt;&amp;rdquo; and &amp;ldquo;&lt;em&gt;Floating&lt;/em&gt;&amp;rdquo; licenses models. The first means, that the license will be tied to concrete user&amp;rsquo;s computer by mac-address. The floating license allows to use several carbide products on several computers inside one development team&amp;rsquo;s network.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;My license was node-locked. I clicked &amp;ldquo;&lt;span style=&quot;color: #666699&quot;&gt;Activate&amp;rdquo; link in front of license in my account. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;The activation page has appeared. There I putted in my mac-address. I have Windows XP machine, so I used &amp;ldquo;&lt;em&gt;IP CONFIG /ALL&lt;/em&gt;&amp;rdquo; command in prompt to retrieve those address. The license&amp;rsquo;s text appeared on screen, I copied it to Carbide&amp;rsquo;s &amp;ldquo;&lt;em&gt;Help&lt;/em&gt;-&amp;gt;&lt;em&gt;Carbide Licenses&lt;/em&gt;-&amp;gt;&lt;em&gt;Install License&lt;/em&gt;&amp;rdquo;.&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;That was it. After IDE restarted I have had already enabled UI Designer feature.&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;The &lt;span style=&quot;color: #666699&quot;&gt;S60v3 SDK&lt;/span&gt; wants to be registered after 14 days too. It is simple free registration. The code would be send to your e-mail.&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;&lt;/div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The license installation is described step-by-step while you&amp;rsquo;re ordering and retrieving it at &lt;a href=&quot;http://www.forum.nokia.com/main/e-store/&quot;&gt;http://www.forum.nokia.com/main/e-store/&lt;/a&gt;.&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The most full description is in pfd: &lt;a href=&quot;http://wiki.forum.nokia.com/images/1/1b/EStore-UM-v3.0.pdf&quot; target=&quot;_blank&quot;&gt;http://wiki.forum.nokia.com/images/1/1b/EStore-UM-v3.0.pdf&lt;/a&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/05/obtaining-carbide-license</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/05/obtaining-carbide-license</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/10/05/obtaining-carbide-license</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>Enterprise</category>
      
    <category>General</category>
      
    <category>Symbian C++</category>
         <pubDate>Fri, 05 Oct 2007 15:50:23 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Obtaining Carbide license</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Port of PAND (BlueZ) system</title>
   <description>
    &lt;div style=&quot;text-indent: 18pt&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; To build a system&amp;#39;s skeleton we decided to construct all the &lt;strong&gt;GUIs&lt;/strong&gt; which will be presented at final BluSPAN program. But after 20 days have passed, my Carbide License was expired and I could not use the UI designer. While the license gets outlined (via &lt;a href=&quot;https://pro.forum.nokia.com/&quot;&gt;https://pro.forum.nokia.com/&lt;/a&gt;)&lt;/div&gt;&lt;div&gt;I decided to look at the existing PAN and BNEP sources. The first I found was &amp;ldquo;BlueZ&amp;rdquo; linux bluetooth protocol stack (&lt;a href=&quot;http://www.bluez.org/&quot;&gt;http://www.bluez.org/&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;It is written on C language, so I supposed&amp;nbsp;it will be a good attempt to port it into Carbide C++ as Symbian application.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;I&amp;rsquo;ve downloaded two archives.&lt;/div&gt;&lt;div&gt;&amp;ldquo;&lt;em&gt;bluez-libs-3.18.tar.gz&lt;/em&gt;&amp;rdquo;&lt;span&gt;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;ldquo;&lt;/span&gt;&lt;em&gt;bluez-utils-3.18.tar.gz&lt;/em&gt;&amp;rdquo;&lt;/div&gt;&lt;div&gt;at &lt;a href=&quot;http://www.bluez.org/download.html&quot;&gt;http://www.bluez.org/download.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;As Carbide C++ &lt;u&gt;project base&lt;/u&gt; I chose &lt;u&gt;Bluetooth &lt;strong&gt;Chat &lt;/strong&gt;example&lt;/u&gt; that still available with expired license. I took &lt;u&gt;Chat example&lt;/u&gt;, because I thought it has all headers and libraries included to work with BT.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;To do that, I created new directory for future workspace, and copied &amp;ldquo;&lt;em&gt;S60ExChat&lt;/em&gt;&amp;rdquo;&amp;nbsp;folder there.&lt;/div&gt;&lt;div&gt;Then opened Carbide, switched workspace to which I recently made.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Next step was importing example.&lt;/div&gt;&lt;div&gt;Choose &lt;strong&gt;File-&amp;gt;Import-&amp;gt;Symbian OS Bld.inf -&amp;gt; Browse to &amp;ldquo;&lt;/strong&gt;&lt;strong&gt;&lt;em&gt;workspaceChatgroupbld.inf&lt;/em&gt;&lt;/strong&gt;&lt;strong&gt;&amp;rdquo;&lt;/strong&gt;.&lt;/div&gt;&lt;div&gt;So Chat example is imported.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Then I created new files: &lt;em&gt;pand.h, bnep.h, bnep.c .... which are &lt;/em&gt;copy-pasted from BlueZ.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Now there was a time to see how Unix C code would be compatible with Symbian one. Of course, they were not so alike. I started porting, that means to make Unix source code and algorithms functioning. For that time my idea was to achieve just &lt;u&gt;out of error compilation&lt;/u&gt;.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;The first problem I saw were type definitions undefined for carbide. So I wrote &amp;ldquo;&lt;em&gt;myPortedTypes.h&lt;/em&gt;&amp;rdquo; header file which typedefs some Bluetooth types known in Symbian. Some types were available from &amp;lt;&lt;em&gt;systypes.h&lt;/em&gt;&amp;gt; library.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;I made some type definitions out of &amp;ldquo;&lt;em&gt;myPortedTypes.h&lt;/em&gt;&amp;rdquo; also.&lt;/div&gt;&lt;div&gt;At &lt;em&gt;bnep.c&lt;/em&gt; I defined&lt;/div&gt;&lt;div&gt;&lt;em&gt;#define AF_BLUETOOTH&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;#define PF_BLUETOOTH&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AF_BLUETOOTH&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;#define BTPROTO_BNEP&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;This types were expected at &amp;lt;&lt;em&gt;syssocket.h&lt;/em&gt;&amp;gt; library but were absent there. So I had to determine them.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;At bnep.h I defined&lt;/div&gt;&lt;div&gt;&lt;em&gt;#define ETH_ALEN&lt;span&gt;&amp;nbsp;&amp;nbsp; 6&amp;nbsp;// &lt;/span&gt;&lt;/em&gt;That was expected at &lt;em&gt;&amp;lt;netethernet.h&amp;gt; &lt;/em&gt;lib&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;One more pain was connected with lib &amp;lt;&lt;em&gt;sys/ioctl.h&lt;/em&gt;&amp;gt;.&lt;/div&gt;&lt;div&gt;Carbide has a little different implementation of &amp;lt;&lt;em&gt;sys/ioctl.h&lt;/em&gt;&amp;gt; than BlueZ expected.&lt;/div&gt;&lt;div&gt;&amp;lt;&lt;em&gt;ioctl.h&lt;/em&gt;&amp;gt; has the macroses &lt;em&gt;_IOR&lt;/em&gt; and &lt;em&gt;_IOW&lt;/em&gt; which are used by &lt;em&gt;bnep.h&lt;/em&gt;.&lt;/div&gt;&lt;div&gt;But Carbide&amp;rsquo;s ones have 2 arguments , but BlueZ expects 3 arguments&amp;hellip;&lt;/div&gt;&lt;div&gt;I passed through 3 ways before solve this problem.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt&quot;&gt;&amp;raquo;&lt;/span&gt;The first.&lt;/div&gt;&lt;div&gt;I thought I have to use other source code of &amp;lt;&lt;em&gt;ioctl.h&lt;/em&gt;&amp;gt; (and &amp;lt;&lt;em&gt;ioctl.c&lt;/em&gt;&amp;gt;) library. I&amp;rsquo;ve found some sources in the web, and used them in my project. Everything seems to be ok. But there are 2 disadvantages:&lt;/div&gt;&lt;div&gt;1.&amp;nbsp;The Symbian&amp;rsquo;s one &lt;em&gt;ioctl&lt;/em&gt; should be much more effective, because it&amp;rsquo;s native to their phones.&lt;/div&gt;&lt;div&gt;2.&amp;nbsp;I&amp;rsquo;m not sure that new trouble will not appear because of possible conflicts with hardware.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt&quot;&gt;&amp;raquo;&lt;/span&gt;The Second.&lt;/div&gt;&lt;div&gt;Due to &lt;em&gt;_IOR&lt;/em&gt; is a macros declared with &lt;em&gt;#define&lt;/em&gt; directive, The &lt;em&gt;#undef&lt;/em&gt; directive is applicable to it. &amp;nbsp;In this case I can apply new definition to that macros using other source libraries.&lt;/div&gt;&lt;div&gt;By this manipulations I reached redefinition just of the part of &amp;lt;&lt;em&gt;ioctl.h&lt;/em&gt;&amp;gt; library. So it was more effective way.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt&quot;&gt;&amp;raquo;&lt;/span&gt;The Third.&lt;/div&gt;&lt;div&gt;The third way was to examine, how &lt;em&gt;Bnep.h &lt;/em&gt;uses those macros, and to transform the &lt;em&gt;Bnep.h&lt;/em&gt; code to use 2 arguments instead of 3.&lt;/div&gt;&lt;div&gt;During the code examination, I found out that the &lt;strong&gt;third &lt;/strong&gt;argument&lt;strong&gt; of &lt;/strong&gt;&lt;em&gt;_IOR&lt;/em&gt; macrosis not used. It was just drowned by useless &lt;em&gt;int&lt;/em&gt; type. So the only thing I had to do is to cut every third parameter from &lt;em&gt;_IOR&lt;/em&gt; macros call. This was a best way to leave standard &amp;lt;&lt;em&gt;ioctl.h&lt;/em&gt;&amp;gt; macros definition.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style=&quot;text-indent: 35.4pt&quot;&gt;The current problems that brake porting are &lt;strong&gt;&lt;em&gt;signal&lt;/em&gt;&lt;/strong&gt; operations.&lt;/div&gt;&lt;div&gt;I created new file &amp;ldquo;&lt;em&gt;mySysSignal.h&lt;/em&gt;&amp;rdquo; which includes &amp;lt;&lt;em&gt;sys/signal.h&lt;/em&gt;&amp;gt; header and determines some definitions from &amp;lt;&lt;em&gt;signal.h&lt;/em&gt;&amp;gt;. Yes, they are different.&lt;/div&gt;&lt;div&gt;Furthermore, &amp;lt;&lt;em&gt;sys/signal.h&lt;/em&gt;&amp;gt; doesn&amp;rsquo;t want to declare &amp;ldquo;&lt;em&gt;sigaction&lt;/em&gt;&amp;rdquo; struct, because &lt;em&gt;_STRICT_ANSI &lt;/em&gt;was defined. So I had to &lt;em&gt;#undef&lt;/em&gt; it and then &lt;em&gt;#define&lt;/em&gt; back.&lt;/div&gt;&lt;div&gt;But I could not find the &lt;em&gt;sigaction() &lt;/em&gt;function implementation at this headers!&lt;/div&gt;&lt;div&gt;I tried to adopt other sources where &lt;em&gt;sigaction()&lt;/em&gt;is implemented, but no result. Those codes want more and more implementations. Does anyone know which &lt;em&gt;sigaction()&lt;/em&gt;implementation would be the best for Symbian? Please, write your comments if you do.&lt;/div&gt;&lt;div&gt;I downloaded some &lt;strong&gt;&lt;em&gt;sigaction&lt;/em&gt;&lt;/strong&gt; sources from:&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://www.google.com/codesearch?hl=ru&amp;amp;q=+sigaction.c+sigvec+show:AgRC3LpYoiU:1H180pELpu8:1yxJZQz8fw8&amp;amp;sa=N&amp;amp;cd=1&amp;amp;ct=rc&amp;amp;cs_p=ftp://tug.ctan.org/tex-archive/systems/unix/teTeX/current/distrib/tetex-src.tar.gz&amp;amp;cs_f=tetex-src-3.0/libs/ncurses/ncurses/base/sigaction.c#a0&quot;&gt;http://www.google.com/codesearch?hl=ru&amp;amp;q=+sigaction.c+sigvec+show:AgRC3LpYoiU:1H180pELpu8:1yxJZQz8fw8&amp;amp;sa=N&amp;amp;cd=1&amp;amp;ct=rc&amp;amp;cs_p=ftp://tug.ctan.org/tex-archive/systems/unix/teTeX/current/distrib/tetex-src.tar.gz&amp;amp;cs_f=tetex-src-3.0/libs/ncurses/ncurses/base/sigaction.c#a0&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;ftp://tug.ctan.org/tex-archive/systems/unix/teTeX/current/distrib/tetex-src.tar.gz/&quot;&gt;ftp://tug.ctan.org/tex-archive/systems/unix/teTeX/current/distrib/tetex-src.tar.gz/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;I started &lt;strong&gt;CVS&lt;/strong&gt; project at Sourceforge.net.&amp;nbsp;You can download my sources and examine them here:&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://bluspan.cvs.sourceforge.net/bluspan/pand_port/&quot;&gt;http://bluspan.cvs.sourceforge.net/bluspan/pand_port/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;span&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;You can checkout this source codes directly to Carbide C++. To do this look for my post: &lt;/span&gt;&lt;a href=&quot;http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/general/2007/11/02/get-project-from-cvs-to-carbide-c&quot;&gt;&lt;span style=&quot;font-size: small; font-family: Times New Roman&quot;&gt;Get project from CVS to Carbide C++&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Times New Roman&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;p&gt;The source files I worked with are:&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;margin: auto auto auto 14.4pt; border-collapse: collapse; border: medium none&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; padding-top: 0cm; background-color: transparent; border: windowtext 1pt solid&quot; valign=&quot;top&quot;&gt;&lt;div&gt;&lt;em&gt;Bluetooth.h&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;Bnep.h&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;Getopt.h&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;Hci_lib.h&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;Hci.h&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;L2cap.h&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;myPortedTypes.h&lt;/em&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #d4d0c8; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent&quot; valign=&quot;top&quot;&gt;&lt;div&gt;&lt;em&gt;mySysLog.h&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;mySysSignal.h&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;pand.h&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;poll.h&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;sigaction.h&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;sigvec.h&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&amp;nbsp;and their *.cpp implemenation at &amp;quot;src/&amp;quot;.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;The written code is pretty chaotic because of &lt;em&gt;Porting&lt;/em&gt; process. So don&amp;rsquo;t be wonder for that : -)&lt;/div&gt;&lt;div&gt;&amp;nbsp;Thanks&lt;/div&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/09/26/port-of-pand-bluez-system</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/09/26/port-of-pand-bluez-system</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/09/26/port-of-pand-bluez-system</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>Symbian C++</category>
      
    <category>Testing</category>
         <pubDate>Wed, 26 Sep 2007 12:44:03 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Port of PAND (BlueZ) system</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Start of development on Carbide</title>
   <description>
    &lt;p&gt;To develop programs for nokia phones running S60v3 I chose &lt;em&gt;Carbide C++ IDE&lt;/em&gt;.&lt;br /&gt;
Carbide C++ is a tool to create applications for &lt;em&gt;Symbian OS&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;My machine is running Windows XP SP2.&lt;/p&gt;
&lt;p&gt;There are several variants of Carbide C++. I&#039;ve chosen Professional Edition.&lt;/p&gt;
&lt;p&gt;So i downloaded &lt;strong&gt;Carbide c++ &lt;/strong&gt;v1.2 using this link:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.forum.nokia.com/info/sw.nokia.com/id/dbb8841d-832c-43a6-be13-f78119a2b4cb.html&quot;&gt;http://www.forum.nokia.com/info/sw.......&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;To use IDE you first need to install:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;&amp;#187;ActivePerl 5.6.1.x&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&#039;ve downloaded ActivePerl 5.6.1.638&lt;/p&gt;
&lt;p&gt;Direct link is:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.activestate.com/store/download_file.aspx?binGUID=5f03b75f-2bf0-4380-99b2-d55cff4bc233&quot;&gt;http://www.activestate.com/store/.....&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Download page is: &lt;a href=&quot;http://www.activestate.com/store/download.aspx?prdGUID=81fbce82-6bd5-49bc-a915-08d58c2648ca&quot;&gt;http://www.activestate.com/store/dow.....&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;&amp;#187;&lt;u&gt;Java Run-Time Environment&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;My choice was JRE v 1.4.2 by link:&lt;br /&gt;
&lt;a target=&quot;undefined&quot; href=&quot;http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&amp;amp;PartDetailId=j2re-1.4.2_15-oth-JPR&amp;amp;SiteId=JSC&amp;amp;TransactionId=noreg&quot;&gt;http://javashoplm.sun.com/ECom/......&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;&amp;#187;&lt;u&gt;Platform SDK&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;First of all we want to create application for &lt;strong&gt;S60v3&lt;/strong&gt; platform.&lt;/p&gt;
&lt;p&gt;So we need download &lt;strong&gt;S60 Platform SDK&lt;/strong&gt; by this link:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.forum.nokia.com/info/sw.nokia.com/id/4a7149a5-95a5-4726-913a-3c6f21eb65a5/S60-SDK-0616-3.0-mr.html&quot;&gt;http://www.forum.nokia.com/info/sw......&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;How to handle all of that.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I recommend to install all of we&#039;ve downloaded in this order:&lt;/p&gt;
&lt;p&gt;1. Install ActivePerl&lt;/p&gt;
&lt;p&gt;2. Install JRE&lt;/p&gt;
&lt;p&gt;3. Install Carbide c++&lt;/p&gt;
&lt;p&gt;4. Install S60 Platform SDK (install it to folder path which is out of white spaces)&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;My experience was successful and Carbide started correctly.&lt;/p&gt;
&lt;p&gt;To make my first steps I&#039;ve read Carbide.c++ Introduction&amp;#160;&lt;br /&gt;
&lt;a target=&quot;undefined&quot; href=&quot;http:// http://www.forum.nokia.com/info/sw.nokia.com/id/cae9ea59-eee0-4b98-aaa2-1b6ecd879222/Carbide_cpp_Introductory_White_Paper_V1_1_en.pdf.html&quot;&gt;http://www.forum.nokia.com/info/sw.....&lt;/a&gt;&amp;#160;&lt;br /&gt;
and found it&amp;#160;as an&amp;#160;excelent document.&lt;/p&gt;
&lt;p&gt;My first impression was: &quot;&lt;em&gt;Hey&lt;/em&gt;! The environment seems to be like &lt;strong&gt;Eclipse&lt;/strong&gt; Platform!&quot;.&lt;/p&gt;
&lt;p&gt;But after reading introduction PDF I knew that Carbide IDE is based on &lt;em&gt;Eclipse open source &lt;/em&gt;development platform.&lt;/p&gt;
&lt;p&gt;I started my first project, just using one of given wizards. After building and running project, the phone emulator appeared. And my program was available there in &quot;Installed&quot; folder. During development and emulating I discovered that my Pentium 4 2.6 GHz, 256 Ram notebook works slowly but stable. Now I&#039;m looking for some &lt;em&gt;hardware&lt;/em&gt; here, in my office to satisfy the needs of recently installed platforms. I&#039;ll tell you if I find optimum.&lt;/p&gt;
&lt;p&gt;I was told to use &lt;strong&gt;CVS&lt;/strong&gt; at &lt;strong&gt;SourceForge.net&lt;/strong&gt; for collaboration,&lt;/p&gt;
&lt;p&gt;the account is registered. I made a home page, there isn&#039;t much to see yet,&lt;/p&gt;
&lt;p&gt;but I will post the URL here and if you want to help on the project &lt;em&gt;&lt;font size=&quot;4&quot;&gt;you can join&lt;/font&gt;!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;S.F.&lt;/strong&gt; link: &lt;a href=&quot;http://bluspan.sourceforge.net/&quot;&gt;http://bluspan.sourceforge.net/&lt;/a&gt;&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/08/23/start-of-development-on-carbide</link>
   <comments>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/08/23/start-of-development-on-carbide</comments>
   <guid>http://blogs.forum.nokia.com/blog/open-source-bluetooth-pans-forum-nokia-blog/2007/08/23/start-of-development-on-carbide</guid>
      <dc:creator>Carbider</dc:creator>
      
    <category>Symbian C++</category>
      
    <category>Testing</category>
         <pubDate>Thu, 23 Aug 2007 13:09:48 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Start of development on Carbide</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=107609&amp;profile=rss20">Open Source Bluetooth PAN&#039;s Forum Nokia Blog</source>
     </item>
   </channel>
</rss>