<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://www.developer.nokia.com/Community/Blogs/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>Aleksandr Trufanov&#039;s Blog</title>
  <link>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog</link>
  <description>A Forum Nokia Blog</description>
  <pubDate>Thu, 23 May 2013 17:34:29 +0300</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.developer.nokia.com/Community/Blogs/imgs/forum_nokia_rss_logo.jpg"/>
    <item>
   <title>Using QDeclarativeImageProvider for speeding up Symbian QML app installation</title>
   <description>
    &lt;p&gt;
Yeah, that&#039;s not a mistake. I&#039;ve just faced with one special (probably rare) case where the installation time of Symbian QML application had been reduced from 8 min to 30 sec. 
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;How much time do you think
could take an installation of 15Mb symbian sis package file without SmartInstaller wrapping? A
minute, two? Actually, the right answer depends mostly not on the sis file size
but on the number of files in sis package. In general, sis package is just a zip archive
with installation script inside. Script execution and file I/O operations
took most of the time. In my case I had a QML application with a bit more than
500 image files inside. And it tooks 8 min for my N8-00 to install it on
embedded memory card and 3,5 to uninstall. Yeah, there might be applications
that require so many graphic files, for example ebooks and card-learning
systems as well as games. &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;To make sure the problem is
not sis size dependent I replaced all image files (~19Mb) with only 2 files 10Mb each.
And installation proceeds 10 times faster. &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;So, could we put all
application resources in one big file to speed up the installation process?
Sure we can with help of &lt;/span&gt;&lt;a href=&quot;http://doc.qt.nokia.com/4.7/resources.html&quot;&gt;&lt;span&gt;The Qt resource system&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. But there is one big disadvantage: whole
resource file have to be loaded into process memory before you can access
anything inside it. That means if you can&#039;t split your data between resource
files and switch between them during application execution (most probably
application logic doesn&#039;t allow that) you have to load all files in memory when
application starts. In my case that was impossible to do because even EPOCSIZE
tweaks couldn&#039;t help me to avoid *out of memory* crash. &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;Fortunately I had a deal
with image files and found out that QML architects providently took care about
overloading image providers in QML. Qt 4.7 contains a nice class called &lt;/span&gt;&lt;a href=&quot;http://doc.qt.nokia.com/4.7/qdeclarativeimageprovider.html&quot;&gt;&lt;span&gt;QDeclarativeImageProvider&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. It provides an interface for supporting
pixmaps and threaded image requests in QML. In other words you can derive from that class, create own object from the derived class and attach it to QML engine with certain key (qstring)
value. Every time QML engine try to resolve image source
&amp;quot;image://you_key/somefile_id.jpg&amp;quot; it will invoke your object&#039;s method with
somefile_id.jpg as parameter and will expect QImage or QPixmap in return. &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;So, the solution is
obvious. All i need is to put all my image files in zip and implement my
QDeclarativeImageProvider-derived class that could read images from the zip. I chose
&lt;a href=&quot;http://quazip.sourceforge.net/&quot;&gt;QuaZip&lt;/a&gt; library for reading zip&#039;s. Some code snippets are below. Also you can
find sample project in the attachment. &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
Declaring our ImageReader class:
&lt;/p&gt;
&lt;iframe src=&quot;http://pastebin.com/embed_iframe.php?i=CYuZGsn5&quot; style=&quot;border: medium none; width: 100%; height: 100%&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Its implementation:
&lt;/p&gt;
&lt;iframe src=&quot;http://pastebin.com/embed_iframe.php?i=1KrihKPi&quot; style=&quot;border: medium none; width: 100%&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;
Then it could be attached to the QML declarative engine (that should be done before you open any qml file in it):
&lt;/p&gt;
&lt;iframe src=&quot;http://pastebin.com/embed_iframe.php?i=jeYduMgs&quot; style=&quot;border: medium none; width: 100%&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;
Here images.zip is our data file and myzip - our keyword.
&lt;/p&gt;
&lt;p&gt;
Now we can use any image from that zip in our qml file like that:
&lt;/p&gt;
&lt;iframe src=&quot;http://pastebin.com/embed_iframe.php?i=g5j3Dc4i&quot; style=&quot;border: medium none; width: 100%&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;
Normal
0
false
false
false
RU
X-NONE
X-NONE
&lt;style&gt;
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:&quot;Table Normal&quot;;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:&quot;&quot;;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:&quot;Times New Roman&quot;;
mso-bidi-theme-font:minor-bidi;
mso-fareast-language:EN-US;}
&lt;/style&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;
&lt;span&gt;File
01_sdk_download_v4.jpg will be retrieved from the images.zip when necessary.&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;
Sample project: &lt;a id=&quot;res_3259&quot; href=&quot;http://www.developer.nokia.com/Community/Blogs//data/blogs/resources/300050/ZIPDeclarativeImageProvider.zip&quot; title=&quot;Sample project demonstrates how to use QDeclarativeImageProvider-derived class for requesting QML images directly from zip file.&quot;&gt;ZIPDeclarativeImageProvider.zip&lt;/a&gt;
&lt;/p&gt;
   </description>
   <link>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2011/12/16/using-qdeclarativeimageprovider-for-speeding-up-symbian-qml-app-installation</link>
   <comments>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2011/12/16/using-qdeclarativeimageprovider-for-speeding-up-symbian-qml-app-installation</comments>
   <guid>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2011/12/16/using-qdeclarativeimageprovider-for-speeding-up-symbian-qml-app-installation</guid>
      <dc:creator>truf</dc:creator>
      
    <category>Qt</category>
      
    <category>Qt Quick</category>
      
    <category>Symbian</category>
      
    <category>SIS</category>
         <pubDate>Fri, 16 Dec 2011 21:40:58 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Using QDeclarativeImageProvider for speeding up Symbian QML app installation</itunes:subtitle>
   <source url="http://www.developer.nokia.com/Community/Blogs/rss.php?blogId=300050&amp;profile=rss20">Aleksandr Trufanov&#039;s Blog</source>
                    </item>
    <item>
   <title>Direct launch of Store client with parameters from Qt</title>
   <description>
    &lt;p&gt;
Many Nokia Store distributed applications have &amp;quot;Buy full version&amp;quot; or &amp;quot;Check our other apps&amp;quot; functionality which require opening of Nokia Store client app on certain page. Usually such functions could be implemented by opening store url in system browser. Browser will automatically redirect user to Nokia Store client and open required content or author page in it. But that approach has some disadvantages:
&lt;/p&gt;
&lt;p&gt;
1. Bad (well, not perfect) user experience. Web browser acts as a mediator between your app and Store client. And it looks unnecessary.
&lt;/p&gt;
&lt;p&gt;
2. SwEvent capability should be declared in your .pro file. Without it your openUrl() request will be ignored by the system in case&amp;nbsp; system browser is already running. That&#039;s a kind of security mechanism inherited from Symbian C++ and aimed to prevent malware from webpage urls spoofing while user browse the web. Some developers don&#039;t know about that and suppose their openUrl() works in all cases. Some forget to add SwEvent declaration before submitting sis in Store (SwEvent require signing by Developer or Ovi certificates, so if you need only User granted capabilities for other features you can use more convenient self-generated certificate during development) .
&lt;/p&gt;
&lt;p&gt;
At the same time there are one advantage: That more or less official method, so you can expect some compatibility here. &lt;strong&gt;There is no any guarantees that the method I describe below will work for all future Store versions&lt;/strong&gt;. But i hope it will.
&lt;/p&gt;
&lt;p&gt;
Well, so we have the indirect method, which looks like that:
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #000080&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;lt;QDesktopServices&amp;gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;//&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;Opens&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;Angry&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;birds&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;page&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;Store&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;client&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;app&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #800080&quot;&gt;QDesktopServices&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;openUrl&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QUrl&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QString&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;quot;http://store.nokia.mobi/content/61009&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;));&lt;/span&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;Opens&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;author&#039;s &lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;page&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;Store&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;client&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;app&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #800080&quot;&gt;QDesktopServices&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;openUrl&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QUrl&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QString&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;http://store.nokia.mobi/publisher/RovioMobile/&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;));&lt;/span&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;span style=&quot;color: #008000&quot;&gt;//Here&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;you&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;will&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;need&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;SwEvent&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;capability&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;declaration&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;browser&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;is&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;already&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;open&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Now we want open Store client directly without system browser use.
&lt;/p&gt;
&lt;p&gt;
After shot investigation of the page used for user redirection I find out that it launches ovistore_2002D07F.exe and passes whole original url to it as a parameter&lt;span style=&quot;color: #008000&quot;&gt;&lt;/span&gt;. Its worth to say for Symbian C++ guys that app&#039;s UID3 is obviusly 2002D07F and you may not read further bcs you can implement even more flexible and reliable launcher with Symbian C++. 
&lt;/p&gt;
&lt;p&gt;
For others I wrote a class that launches the Store directly by the application name and in case something goes wrong (for example, executable was renamed) fall back to the old reliable web browser url opening. The demo app sources and sis are attached.
&lt;/p&gt;
&lt;p&gt;
Some code snippets:
&lt;/p&gt;
&lt;p&gt;
&lt;u&gt;storelauncher.h&lt;/u&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #000080&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;lt;QObject&amp;gt;&lt;/span&gt;
&lt;/p&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #000080&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;lt;QProcess&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #808000&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QStoreLauncher&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QObject&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #000000&quot;&gt;{&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;Q_OBJECT&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #808000&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;:&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;explicit&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QStoreLauncher&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QObject&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;parent&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;);&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;LaunchNokiaStore&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QString&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;);&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #808000&quot;&gt;private&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;slots&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;:&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;processError&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QProcess&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;ProcessError&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;error&lt;span style=&quot;color: #000000&quot;&gt;);&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #808000&quot;&gt;private&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;:&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QProcess&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;myProcess&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QString&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;arguments&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&amp;nbsp;&lt;span style=&quot;color: #000000&quot;&gt;};&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;u&gt;storelauncher.cpp&lt;/u&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #000080&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;lt;QDesktopServices&amp;gt;&lt;/span&gt;
&lt;/p&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #000080&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;lt;QUrl&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #000080&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;quot;storelauncher.h&amp;quot;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #800080&quot;&gt;QStoreLauncher&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QStoreLauncher&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QObject&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;parent&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;:&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QObject&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;parent&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #000000&quot;&gt;{&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;myProcess&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QProcess&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;);&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QObject&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;connect&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;myProcess&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;SIGNAL&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;stateChanged&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QProcess&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;ProcessState&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)),&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;                     &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;SLOT&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;stateChanged&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QProcess&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;ProcessState&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)));&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #000000&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #808000&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QStoreLauncher&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;LaunchNokiaStore&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QString&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;params&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #000000&quot;&gt;{&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;arguments&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;params&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QString&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;NokiaStoreLauncherApp&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;quot;ovistore_2002D07F&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;);&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;myProcess&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&amp;gt;&lt;/span&gt;start&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;NokiaStoreLauncherApp&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;arguments&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;.&lt;/span&gt;split&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QString&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;quot;\n&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)));&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #000000&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #808000&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QStoreLauncher&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;processError&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QProcess&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;ProcessError&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;error&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #000000&quot;&gt;{ &lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;// Hey, something goes wrong&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;switch&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;error&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;{&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QProcess&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;FailedToStart&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;:&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QProcess&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;Crashed&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;:&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QProcess&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;Timedout&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;:&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QProcess&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;ReadError&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;:&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QProcess&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;WriteError&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;:&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QProcess&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;UnknownError&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;:&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;{&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;//Here&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;you&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;will&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;need&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;SwEvent&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;capability&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;declaration&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;browser&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;is&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;already&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;open&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QDesktopServices&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;openUrl&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QUrl&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;arguments&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;));&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;default&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;:&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;{&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #c0c0c0&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #000000&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;u&gt;Usage:&lt;/u&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #800080&quot;&gt;QStoreLauncher&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;launcher&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #808000&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&lt;/span&gt;;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;Opens&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;author&#039;s &lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;page&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;Store&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;client&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;app&lt;/span&gt; 
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #800000&quot;&gt;launcher&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&amp;gt;&lt;/span&gt;LaunchNokiaStore&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QString&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;quot;http://store.nokia.mobi/publisher/RovioMobile/&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;));&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;Opens&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;Angry&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;birds&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;page&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;Store&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;client&lt;/span&gt;&lt;span style=&quot;color: #c0c0c0&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;app&lt;/span&gt; 
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;span style=&quot;color: #800000&quot;&gt;launcher&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&amp;gt;&lt;/span&gt;LaunchNokiaStore&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;QString&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;quot;http://store.nokia.mobi/content/61009&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;));&lt;/span&gt; 
&lt;/pre&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
So as you see it&#039;s pretty simple. Tested with my N8-00 Anna and Store v3.18.
&lt;/p&gt;
&lt;p&gt;
I suppose url host may vary. For example store.ovi.mobi, store.nokia.com or store.ovi.com. It&#039;ll work for all, but didn&#039;t check much. 
&lt;/p&gt;
&lt;p&gt;
And no - I don&#039;t know if Store client supports or will support any other url formats, for ex. reviews page opening etc. 
&lt;/p&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;a id=&quot;res_3218&quot; href=&quot;/data/blogs/resources/300050/NokiaStoreLauncher.sis&quot; title=&quot;Store launcher demo app&quot;&gt;NokiaStoreLauncher.sis&lt;/a&gt;
&lt;/pre&gt;
&lt;pre style=&quot;margin: 0px; text-indent: 0px&quot;&gt;
&lt;a id=&quot;res_3219&quot; href=&quot;/data/blogs/resources/300050/NokiaStoreLauncher.zip&quot; title=&quot;Store demo launcher sources&quot;&gt;NokiaStoreLauncher.zip&lt;/a&gt;
&lt;/pre&gt;
   </description>
   <link>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2011/11/16/qtnokiastoreclientlauncher</link>
   <comments>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2011/11/16/qtnokiastoreclientlauncher</comments>
   <guid>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2011/11/16/qtnokiastoreclientlauncher</guid>
      <dc:creator>truf</dc:creator>
      
    <category>Qt</category>
      
    <category>Browser</category>
      
    <category>Store</category>
         <pubDate>Wed, 16 Nov 2011 18:17:32 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Direct launch of Store client with parameters from Qt</itunes:subtitle>
   <source url="http://www.developer.nokia.com/Community/Blogs/rss.php?blogId=300050&amp;profile=rss20">Aleksandr Trufanov&#039;s Blog</source>
                                   </item>
    <item>
   <title>Displaying a landmark in Maps app via AIW API from Qt application</title>
   <description>
    &lt;p&gt;
Under cut you can find a video demonstration and source code of the small Qt app which is able to launch preinstalled Nokia Maps application and display a landmark with custom description in it. Tested with Maps 3.06 and N8-00. Sample can be easely ported back to Symbian C++. 
&lt;/p&gt;
&lt;p&gt;

&lt;/p&gt;
&lt;iframe frameborder=&quot;0&quot; height=&quot;264&quot; src=&quot;http://player.vimeo.com/video/29724805?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=f54c4c&quot; width=&quot;470&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;
This sample uses &lt;a href=&quot;http://www.developer.nokia.com/Community/Wiki/Application_Interworking%28AIW%29&quot;&gt;AIW API&lt;/a&gt; and built in Qt SDK 1.1.3 with Qt 4.7.3.
Only basic capabilities required.
&lt;/p&gt;
&lt;p&gt;
AIW API is an old approach of maps services usage. I would recommend to use &lt;a href=&quot;https://www.developer.nokia.com/Develop/Web/Maps/&quot;&gt;Maps APIs&lt;/a&gt; everywhere where possible. 
&lt;/p&gt;
&lt;p&gt;
Map and Navigation AIW services header file (mnaiwservices.h) has been taken from PDK 3.0.4. 
&lt;/p&gt;
&lt;p&gt;
Same sample could be easely changed to perform NavigateTo and SelectFromMap actions.
&lt;/p&gt;
&lt;p&gt;
&lt;a id=&quot;res_3132&quot; href=&quot;http://www.developer.nokia.com/Community/Blogs//data/blogs/resources/300050/Locator.sis&quot; title=&quot;Sample application sis&quot;&gt;Locator.sis&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a id=&quot;res_3133&quot; href=&quot;http://www.developer.nokia.com/Community/Blogs//data/blogs/resources/300050/Locator.zip&quot; title=&quot;Application sources&quot;&gt;Locator.zip&lt;/a&gt;
&lt;/p&gt;
   </description>
   <link>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2011/09/30/displaying-landmark-in-maps-app-via-aiw-api-from-qt-application</link>
   <comments>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2011/09/30/displaying-landmark-in-maps-app-via-aiw-api-from-qt-application</comments>
   <guid>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2011/09/30/displaying-landmark-in-maps-app-via-aiw-api-from-qt-application</guid>
      <dc:creator>truf</dc:creator>
      
    <category>Location Based Services</category>
      
    <category>Symbian C++</category>
      
    <category>Qt</category>
      
    <category>Location</category>
      
    <category>Maps</category>
         <pubDate>Fri, 30 Sep 2011 11:55:25 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Displaying a landmark in Maps app via AIW API from Qt application</itunes:subtitle>
   <source url="http://www.developer.nokia.com/Community/Blogs/rss.php?blogId=300050&amp;profile=rss20">Aleksandr Trufanov&#039;s Blog</source>
                                   </item>
    <item>
   <title>Some findings on application orientation in MeeGo 1.2 Harmattan</title>
   <description>
    &lt;p&gt;
Few days ago I had a chance to play for a wile with my Nokia N950. I&#039;ve tried to port some Qt application from Symbian to Harmattan and unfortunately faced with lack of support of QWidget and QGraphicsView based applications in that platform. Some of my findings are below:
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;QWidget-based objects &lt;a href=&quot;https://bugreports.qt.nokia.com/browse/QTBUG-20617&quot;&gt;don&#039;t have any native style support&lt;/a&gt; and looks exactly as in Windows. Which is obviously awful&lt;/li&gt;
	&lt;li&gt;There is &lt;a href=&quot;https://bugs.meego.com/show_bug.cgi?id=17200&quot;&gt;no working API&lt;/a&gt; to set application window orientation. Moreover, the default orientation is landscape! Some interesting details are &lt;a href=&quot;https://bugs.meego.com/show_bug.cgi?id=17200&quot;&gt;here&lt;/a&gt;.&lt;/li&gt;
	&lt;li&gt;In case you are using QML-based UI you should rewrite it and use Window\PageStack\Page classes to be able to change your app orientation. Or probably rotation trick will work for it, but i didn&#039;t check.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
That seems a bit unfair for me as there are Qt 4.7.x libs preinstalled and QWidgets\QGraphicsView are still mainstream ways to develop UI for it. That might cause a lot of problems during the porting of Symbian\Maemo5 applications to Harmattan.
&lt;/p&gt;
&lt;p&gt;
In my case the app i tried to port contains QGraphicsView with some pixmap elements in it and some QPushButtons with images over them (without text). So i&#039;m luckely avoid QWidget-style problem.
&lt;/p&gt;
&lt;p&gt;
Its launched on N950 without any changes in sources and looks great (of course due to devices screensize the images were smaller). But it had landscape orientation. And i spent a lot of time on fixing such a simple thing. Finally, i have managed to rotate UI using the following:
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Call of QGraphicsView::rotate(270) to automatically rotate all items in it.&lt;/li&gt;
	&lt;li&gt;Change x and y in event handlers code to fix some animation framework staff. &lt;/li&gt;
	&lt;li&gt;Just move QWidget-based buttons position and rotate all images in it.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
And one more step (that&#039;s actually the real reason of that post and the only thing I have to share). The system itself still treats your application window as landscape oriented. That mean, for example, that if the &amp;quot;Top slide closes the application&amp;quot; setting is switched on in your device it will not work correctly for your app window. Actually, it will but with wrong sliding direction (right side is top for landscape oriented windows). To fix this behavior and let system know that your window is portrait oriented you should call following function for your top-level widget:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
Normal
0
false
false
false
RU
X-NONE
X-NONE
&lt;style&gt;
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:&quot;Table Normal&quot;;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:&quot;&quot;;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:&quot;Times New Roman&quot;;
mso-bidi-theme-font:minor-bidi;
mso-fareast-language:EN-US;}
&lt;/style&gt;
&lt;/p&gt;
Normal
0
false
false
false
RU
X-NONE
X-NONE
&lt;style&gt;
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:&quot;Table Normal&quot;;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:&quot;&quot;;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:&quot;Times New Roman&quot;;
mso-bidi-theme-font:minor-bidi;
mso-fareast-language:EN-US;}
&lt;/style&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: navy&quot;&gt;#ifdef&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: purple&quot;&gt;Q_OS_UNIX&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: navy&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: green&quot;&gt;&amp;lt;QX11Info&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: navy&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: green&quot;&gt;&amp;lt;X11/Xatom.h&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: navy&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: green&quot;&gt;&amp;lt;X11/Xlib.h&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: navy&quot;&gt;#endif&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: olive&quot;&gt;enum&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: purple&quot;&gt;MyOrientation&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: purple&quot;&gt;Landscape&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: navy&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: purple&quot;&gt;Portrait&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: navy&quot;&gt;270&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: purple&quot;&gt;LandscapeInverted&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: navy&quot;&gt;180&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: purple&quot;&gt;PortraitInverted&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: navy&quot;&gt;90&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;};&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: olive&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: olive&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;writeX11OrientationAngleProperty&lt;span style=&quot;color: black&quot;&gt;(&lt;/span&gt;QWidget&lt;span style=&quot;color: black&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;widget,&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: purple&quot;&gt;MyOrientation&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;orientation=&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: purple&quot;&gt;Portrait&lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: navy&quot;&gt;#ifdef&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;Q_WS_X11&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: olive&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;widget&lt;span style=&quot;color: black&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;WId&lt;span style=&quot;color: silver&quot;&gt;
&lt;/span&gt;id&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;widget&lt;span style=&quot;color: black&quot;&gt;-&amp;gt;&lt;/span&gt;winId&lt;span style=&quot;color: black&quot;&gt;();&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;Display&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;*&lt;/span&gt;display&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;QX11Info&lt;span style=&quot;color: black&quot;&gt;::&lt;/span&gt;display&lt;span style=&quot;color: black&quot;&gt;();&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: olive&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;(!&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;display&lt;span style=&quot;color: black&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: olive&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;Atom&lt;span style=&quot;color: silver&quot;&gt;
&lt;/span&gt;orientationAngleAtom&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;XInternAtom&lt;span style=&quot;color: black&quot;&gt;(&lt;/span&gt;display&lt;span style=&quot;color: black&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: green&quot;&gt;&amp;quot;_MEEGOTOUCH_ORIENTATION_ANGLE&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;False&lt;span style=&quot;color: black&quot;&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;XChangeProperty&lt;span style=&quot;color: black&quot;&gt;(&lt;/span&gt;display&lt;span style=&quot;color: black&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;id&lt;span style=&quot;color: black&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;orientationAngleAtom&lt;span style=&quot;color: black&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;XA_CARDINAL&lt;span style=&quot;color: black&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: navy&quot;&gt;32&lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;PropModeReplace&lt;span style=&quot;color: black&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: olive&quot;&gt;unsigned&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: olive&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;*)&amp;amp;&lt;/span&gt;orientation&lt;span style=&quot;color: black&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: navy&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: navy&quot;&gt;#endif&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: olive&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;main&lt;span style=&quot;color: black&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: olive&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;argc,&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: olive&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;*argv[])&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;QApplication&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;a(argc,&lt;/span&gt;&lt;span style=&quot;color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: black&quot;&gt;argv);&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: purple&quot;&gt;Form&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;f;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;writeX11OrientationAngleProperty&lt;span style=&quot;color: black&quot;&gt;(&amp;amp;f);&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;f.&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;showFullScreen&lt;span style=&quot;color: black&quot;&gt;();&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: olive&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: silver&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;a.&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;exec&lt;span style=&quot;color: black&quot;&gt;();&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-size: 10pt; line-height: 115%; font-family: &#039;Courier New&#039;&quot;&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;; color: black&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Courier New&#039;&quot;&gt;&lt;/span&gt;
The code was copy-pasted and adopted from some MeeGo sources.
&lt;p&gt;
Unfortunately it just tells the system that your window orientation is changed, so OS can manage it accordingly. But it doesn&#039;t change orientation of content inside window so it doesn&#039;t affect window rendering. 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
   </description>
   <link>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2011/08/13/harmattan-orientation</link>
   <comments>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2011/08/13/harmattan-orientation</comments>
   <guid>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2011/08/13/harmattan-orientation</guid>
      <dc:creator>truf</dc:creator>
      
    <category>Maemo</category>
      
    <category>Qt</category>
      
    <category>MeeGo</category>
      
    <category>Porting</category>
         <pubDate>Sat, 13 Aug 2011 22:40:39 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Some findings on application orientation in MeeGo 1.2 Harmattan</itunes:subtitle>
   <source url="http://www.developer.nokia.com/Community/Blogs/rss.php?blogId=300050&amp;profile=rss20">Aleksandr Trufanov&#039;s Blog</source>
     </item>
    <item>
   <title>Launching symbian media player for video streaming in Qt project</title>
   <description>
    &lt;p&gt;
Hello,
&lt;/p&gt;
&lt;p&gt;
Sometimes when you are working with video streaming in 
Qt usage of symbian realplayer for playing it might be the optimal 
solution.
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;font-size: 10pt; font-family: &#039;Tahoma&#039;,&#039;sans-serif&#039;; color: black&quot;&gt;There are 3 ways for launching
system player with custom URL as a parameter in Qt: the right approach, the
working approach and the new (for me) approach.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Tahoma&#039;,&#039;sans-serif&#039;; color: black&quot;&gt;Right approach is to launch URL with &lt;a href=&quot;http://doc.qt.nokia.com/4.6/qdesktopservices.html#openUrl&quot;&gt;QDesktopServices::openUrl()&lt;/a&gt; as described &lt;a href=&quot;http://wiki.forum.nokia.com/index.php/How_to_launch_other_applications,_Browser,_RealPlayer_in_Qt_for_Symbian&quot;&gt;here&lt;/a&gt;. Thats how
	things should be done by Qt framework design. In fact QDesktopServices passing
	its parameter to system handler and system should decide what to do with it.
	So, &amp;quot;rtsp://&amp;quot; url schema should be opened in realplayer, &amp;quot;mailto:://&amp;quot; schema should
	launch the email service, &amp;quot;tel://&amp;quot; should launch phone dialer
	etc. But in Symbian^3 its not working as expected for most of URL schemas. For ex.,&lt;/span&gt; &lt;span style=&quot;font-size: 10pt; font-family: &#039;Tahoma&#039;,&#039;sans-serif&#039;; color: black&quot;&gt;&amp;quot;rtsp://&amp;quot; is not working.&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &#039;Tahoma&#039;,&#039;sans-serif&#039;; color: black&quot;&gt; That
	should be fixed in Qt 4.7.2 - i already posted a bug in qt bugtracker for that
	(&lt;a href=&quot;http://bugreports.qt.nokia.com/browse/QTBUG-15136&quot;&gt;QTBUG-15136&lt;/a&gt;).&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	But for URL schema (&lt;a href=&quot;/&quot;&gt;http://&lt;/a&gt;) it works. With one
	disadvantage: default &amp;quot;http://&amp;quot;
	handler is the system browser. So your URL will be opened in Web Browser and only
	after that browser will launch a system player. Same things can be achieved with better UX.&lt;/li&gt;
	&lt;li&gt; Working approach is to launch system media player directly and pass URL to it as
	parameter. That can be done from Symbian C++ code as described &lt;a href=&quot;http://wiki.forum.nokia.com/index.php/How_to_launch_an_application_with_its_UID&quot;&gt;here&lt;/a&gt;. Instructions and sample Qt application are
	attached. Disadvantage of that approach is
	SwEvent capability requirement. That mean you&#039;ll need a DevCert certificate or pass Open Signed Online to try your app.&lt;/li&gt;
	&lt;li&gt;Recently i found 3rd way for launching URLs in system player from Qt: &amp;quot;&lt;strong&gt;Simply
	create a .ram file, for example foo.ram into file system. The file must contain
	nothing but the url of the video stream. Then simply open that file with QDesktopServices::openUrl(QUrl::fromLocalFile(&amp;quot;c:\test.ram&amp;quot;))&lt;/strong&gt; The source is on &lt;a href=&quot;http://discussion.forum.nokia.com/forum/showthread.php?210952-HTTP-Video-Streaming-with-N8&quot;&gt;DiBo&lt;/a&gt;.Its really working at least for S^3 devices with both rtsp:// and http:// transports.&lt;span style=&quot;font-size: 10pt; font-family: &#039;Tahoma&#039;,&#039;sans-serif&#039;; color: black&quot;&gt; I guess this is a preferable solution nowadays.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;br /&gt;
P.S. For soultion for mailto:// schema take a look on &lt;a href=&quot;http://bugreports.qt.nokia.com/browse/QTBUG-15136&quot;&gt;QTBUG-15136&lt;/a&gt;.&lt;a id=&quot;res_2807&quot; href=&quot;http://blogs.forum.nokia.com//data/blogs/resources/300050/instructions.txt&quot;&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a id=&quot;res_2807&quot; href=&quot;http://blogs.forum.nokia.com//data/blogs/resources/300050/instructions.txt&quot;&gt;instructions.txt&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a id=&quot;res_2808&quot; href=&quot;http://blogs.forum.nokia.com//data/blogs/resources/300050/RTSPTest1.zip&quot;&gt;RTSPTest1.zip&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a id=&quot;res_2847&quot; href=&quot;http://blogs.forum.nokia.com//data/blogs/resources/300050/headers.zip&quot; title=&quot;CSchemeHandler&quot;&gt;headers.zip&lt;/a&gt; 
&lt;/p&gt;
   </description>
   <link>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2011/02/14/launching-symbian-media-player-for-video-streaming-in-qt-project</link>
   <comments>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2011/02/14/launching-symbian-media-player-for-video-streaming-in-qt-project</comments>
   <guid>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2011/02/14/launching-symbian-media-player-for-video-streaming-in-qt-project</guid>
      <dc:creator>truf</dc:creator>
      
    <category>Symbian C++</category>
      
    <category>Qt</category>
      
    <category>rtsp</category>
         <pubDate>Mon, 14 Feb 2011 19:03:49 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Launching symbian media player for video streaming in Qt project</itunes:subtitle>
   <source url="http://www.developer.nokia.com/Community/Blogs/rss.php?blogId=300050&amp;profile=rss20">Aleksandr Trufanov&#039;s Blog</source>
                                                                 </item>
    <item>
   <title>UIQ SDK Download link</title>
   <description>
    &lt;p&gt;
Since developer.uiq.com is down for a long time, and there is no UIQ 3.x SDK copy on Sony Ericsson Developer World, i make bold to upload it to &lt;a href=&quot;http://blogs.forum.nokia.com/devmobile.ru&quot; target=&quot;_blank&quot;&gt;devmobile.ru&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;

&lt;/p&gt;
&lt;p&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;/p&gt;
&lt;p&gt;
You can download instellers here:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://devmobile.ru/files/doc_details/6-uiq-30-sdk&quot; target=&quot;_blank&quot;&gt;UIQ 3.0 SDK&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://devmobile.ru/files/doc_details/7-uiq-31-sdk&quot; target=&quot;_blank&quot;&gt;UIQ 3.1 SDK&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://devmobile.ru/files/doc_details/9-uiq-33-beta-sdk&quot; target=&quot;_blank&quot;&gt;UIQ 3.3 beta SDK&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
UIQ 2.x SDK can be downloaded from &lt;a href=&quot;http://developer.sonyericsson.com/site/global/docstools/symbian/p_symbian.jsp#tab2&quot; target=&quot;_blank&quot;&gt;Sony Ericsson Developer World&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;UPD: Our host does&#039;t support reconnect during downloading, so i create a new project (&amp;quot;uiq&amp;quot;) on sourceforge.net and upload all SDK files &lt;a href=&quot;https://sourceforge.net/projects/uiq/files/&quot;&gt;there&lt;/a&gt;.&lt;/strong&gt; 
&lt;/p&gt;
   </description>
   <link>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2009/03/02/uiq_sdk_download</link>
   <comments>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2009/03/02/uiq_sdk_download</comments>
   <guid>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2009/03/02/uiq_sdk_download</guid>
      <dc:creator>truf</dc:creator>
      
    <category>UIQ</category>
         <pubDate>Mon, 02 Mar 2009 09:15:12 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>UIQ SDK Download link</itunes:subtitle>
   <source url="http://www.developer.nokia.com/Community/Blogs/rss.php?blogId=300050&amp;profile=rss20">Aleksandr Trufanov&#039;s Blog</source>
     </item>
    <item>
   <title>Symbian Foundation: Calling all developers</title>
   <description>
    &lt;p&gt;
Looks yesterday &lt;a href=&quot;http://symbian.org/&quot;&gt;&lt;strong&gt;Symbian Foundation website&lt;/strong&gt;&lt;/a&gt; was &lt;a href=&quot;http://blog.symbian.org/2009/02/23/symbianorg/&quot;&gt;updated&lt;/a&gt;. As you can see in &lt;a href=&quot;http://symbian.org/about_site.php&quot;&gt;About&lt;/a&gt;:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;This is an interim, placeholding website for the Symbian Foundation. We
will be launching a full-scale online presence very shortly.&lt;/em&gt; 
&lt;/p&gt;
&lt;p&gt;
Much more interesting is a registration form in a &lt;a href=&quot;http://symbian.org/devcontact.php&quot;&gt;Developers&lt;/a&gt; tab:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Interested in being among the very first developers to join the new
Symbian Foundation developer program? Register your interest here and
you&#039;ll be the first to hear as soon as we have news.&lt;/em&gt; 
&lt;/p&gt;
&lt;p&gt;
I&#039;m very intrigued by that note. Does anybody know somehing about Symbian Foundation developer program?
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;font-size: xx-small&quot;&gt;&amp;nbsp;P.S. Today i got notification email about my reselection as FNC for that year. Thank you! &lt;/span&gt;
&lt;/p&gt;
   </description>
   <link>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2009/02/24/symbian-foundation-calling-all-developers</link>
   <comments>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2009/02/24/symbian-foundation-calling-all-developers</comments>
   <guid>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2009/02/24/symbian-foundation-calling-all-developers</guid>
      <dc:creator>truf</dc:creator>
      
    <category>General</category>
      
    <category>Symbian Foundation</category>
         <pubDate>Tue, 24 Feb 2009 18:59:04 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Symbian Foundation: Calling all developers</itunes:subtitle>
   <source url="http://www.developer.nokia.com/Community/Blogs/rss.php?blogId=300050&amp;profile=rss20">Aleksandr Trufanov&#039;s Blog</source>
     </item>
    <item>
   <title>The Future of Mobile Devices</title>
   <description>
    &lt;div align=&quot;justify&quot;&gt;
This January many participants of Forum Nokia and some other communities make forecasts on mobile technologies development in 2009. So, I deside to post my own version for a rather long period. Thats more interesting for me. All the following is just my own ponit of view. It is based on my ideas of IT evolution ways and ideal mobile device.
&lt;/div&gt;
&lt;div align=&quot;justify&quot;&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;div align=&quot;justify&quot;&gt;
First, I stress that I&#039;am goint to talk about a rather long period (about 8-15 years). We already speak of smartphones as&amp;nbsp; of multimedia computers, and it&#039;s not so long ago when mobile PC sales overgrows those of PC. Thats why it is absolutely reasonable to suggest vanishing of the bounds between mobile phones and personal computers in the future. (And I&#039;ll show you, why those bounds will disappear). It&#039;s clearly, that&#039;s making long-termed forecasts is impossible while staying in to-day technologies: so we need to predict the IT industry development in whole.&lt;br /&gt;
&lt;br /&gt;
So, my forecast is based on the three whales: &lt;strong&gt;wireless connection&lt;/strong&gt;, &lt;strong&gt;SaaS &lt;/strong&gt;and &lt;strong&gt;Cloud Computing&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;strong&gt;Development&lt;/strong&gt;.
&lt;/div&gt;
&lt;div align=&quot;justify&quot;&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;div align=&quot;justify&quot;&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;div align=&quot;justify&quot;&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;div align=&quot;justify&quot;&gt;
The development of wireless connection technology gives us access to the mobile Internet, and time after time the mobile devices progress rises the maximum of the data transfer speed. So, this is my first obvious supposition: in the nearest future all the classes of the mobile devices will be supplied with such fast connections, that PC advantages in this area will be demolished. The thechnology will cover regions сomparable with those of to-day mobile phone connection. Is it possible? I think, it&#039;s inevitable. Perhaps, it will be the result of&amp;nbsp; the mobile networks development or Wi-Fi-like technologies evolution. It&#039;s not important. It is important, that online TV and video calls will come into the everyday life and VoIP by the natural way will oust voice connection.
&lt;/div&gt;
&lt;div align=&quot;justify&quot;&gt;
&lt;br /&gt;
&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot; /&gt;
&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot; /&gt;
&lt;meta content=&quot;Microsoft Word 10&quot; name=&quot;Generator&quot; /&gt;
&lt;meta content=&quot;Microsoft Word 10&quot; name=&quot;Originator&quot; /&gt;
&lt;link href=&quot;/C:%5CDOCUME%7E1%5CTrufanov%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot; /&gt;
&lt;p class=&quot;MsoBodyText&quot; style=&quot;text-align: justify&quot;&gt;
Interesting links: 
&lt;/p&gt;
&lt;ul type=&quot;disc&quot;&gt;
	&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://www.theinquirer.net/inquirer/news/155/1044155/docomo-tests-4g-japan&quot;&gt;Docomo
	tests &lt;/a&gt;&lt;a href=&quot;http://www.theinquirer.net/inquirer/news/155/1044155/docomo-tests-4g-japan&quot;&gt;4&lt;/a&gt;&lt;a href=&quot;http://www.theinquirer.net/inquirer/news/155/1044155/docomo-tests-4g-japan&quot;&gt;G
	in Japan&lt;/a&gt;&lt;/li&gt;
	&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://www.telecoms.com/itmgcontent/tcoms/news/articles/20017604450.html&quot;&gt;Fixed
	apps the best bet for WiMAX, says analyst&amp;nbsp;&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&amp;nbsp;
&lt;br /&gt;
&lt;br /&gt;
Meanwhile the development of SaaS (Software as a Service) will be continued. Even now web-technologies allow to create applications that aren&#039;t inferior to the functionality of the usual PC software.&amp;nbsp; SaaS broadens horizons for services commercialization &amp;mdash; such services can not be hacked, you can use the same license on different PC, pay for time or number of uses. SaaS will allow managers to save money on the software for workstations and licenses, it will make easy the life of the administrators, security specialists and even developers. And, of course, SaaS will provide users with the new opportunities &amp;mdash; data access from any PC or mobile phone, uniform data processing regardless of the platform&lt;br /&gt;
&lt;br /&gt;
What about mobile technologies, SaaS will become the best solution for many problems, like: platform fragmentation, security, data synchronization/storage and hardware.
&lt;/div&gt;
&lt;div align=&quot;justify&quot;&gt;
&lt;br /&gt;
&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot; /&gt;
&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot; /&gt;
&lt;meta content=&quot;Microsoft Word 10&quot; name=&quot;Generator&quot; /&gt;
&lt;meta content=&quot;Microsoft Word 10&quot; name=&quot;Originator&quot; /&gt;
&lt;p class=&quot;MsoBodyText&quot; style=&quot;text-align: justify&quot;&gt;
Interesting links: 
&lt;/p&gt;
&lt;ul type=&quot;disc&quot;&gt;
	&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://blogs.forum.nokia.com/blog/forum-nokia-web-talks/2009/01/23/increase-in-mobile-web-audience&quot;&gt;Increase
	in the trend of web browsing on mobile &amp;hellip;&lt;/a&gt;&lt;span&gt; &lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://blogs.zdnet.com/Google/?p=121&quot;&gt;Google GDrive is not a
	rumor&amp;nbsp;&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://mashable.com/2007/02/28/adobe-photoshop-online/&quot;&gt;Adobe
	Photoshop Online&lt;/a&gt;&lt;/li&gt;
	&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://www.informationweek.com/blog/main/archives/2008/10/windows_azure_t.html&quot;&gt;Windows
	Azure: The End Of Software?&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://www.itnews.com.au/News/NewsStory.aspx?story=46780&quot;&gt;Opinion:
	Why SaaS is the future of software delivery&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, Cloud Computing &amp;mdash; a conception whereby the customers can use company computing facilities, disk space and data channels&amp;nbsp; for solving resourse-intensive tasks. The loading between computres, that belong to the same &amp;laquo;cloud&amp;raquo;, is distributed automatically. Thus, user deals with virtual computer, that consists of multiple severs and hides from him all the complexity of the device.&lt;br /&gt;
&lt;br /&gt;
Imagine a workplace in five years: all your media data are located in social networks (well, as for me, in 90% of cases I use social network (vkontakte.ru) as a mediaplayer), documents and mail &amp;mdash; on Google servers, online office &amp;mdash; on Microsoft ones. It&#039;s quit uncomfortable, not because of passwords and hosts to remember, but because of&amp;nbsp; the data separation. Downloading a photo to upload it to online Adobe editor? Nonsense! The data should be host-based in a system, that guarantees their bacup storage, security and smart access by request. Google has some experience in such technologies (how do you think they keep the monstrous-sized cache of their search engine). On the other hand the system should provide opportunities for web services to edit this data.&lt;br /&gt;
&lt;br /&gt;
Thus, the systems will appear in which it will be possible to login and get access to the user data. Besides that such systems will provide twenty-four-hour access to the multiple services data, that, perhaps, are located on the platform of the same &amp;laquo;cloud&amp;raquo;. Neither the user should worry about anti-viruses, backup, version tracking and resource shortage (for e.g. CPU speed or free disk space).&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot; /&gt;
&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot; /&gt;
&lt;meta content=&quot;Microsoft Word 10&quot; name=&quot;Generator&quot; /&gt;
&lt;meta content=&quot;Microsoft Word 10&quot; name=&quot;Originator&quot; /&gt;
&lt;p class=&quot;MsoBodyText&quot; style=&quot;text-align: justify&quot;&gt;
Useful links: 
&lt;/p&gt;
&lt;ul type=&quot;disc&quot;&gt;
	&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://www.itnews.com.au/News/76953,gartner-google-discuss-future-of-cloud-computing.aspx&quot;&gt;Gartner,
	Google discuss future of cloud computing&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://cloudcomputing.sys-con.com/node/771947&quot;&gt;The Future of
	Cloud Computing &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;strong&gt;Result.&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
So, what will become PC in such circumstances? It will become a terminal. You will have terminals at home and at work, and turning them on gives you access to the same environment. Of course, some services may be restricted by terminal id, and UI will be depend on your settings and terminal hardware. And the similar terminal you will get instead of your smartphone..You will get access to all the&amp;nbsp; data, that are now usually stored on a PC,&amp;nbsp; from anywhere in the world. In case you lose or break the phone, you lose nothing, you simply block access to your virtual computer from that terminal.&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Fantasy.&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
All the above is rather obvious &amp;mdash; it&#039;s already existing trends and tendencies, wich one way or the other are bound to be implemented in the next 8-15 years. Now I shall tell you how I imagine a mobile device in such environment of the future. For that let&#039;s add to the three mentioned technologies the developed NFC/Blutooth technology (connection and data exchange between two mobile devices on small distances) and induction chargers.&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
There are many form factors of such devices and everybody can choose a model that meets his own needs and lifestyle. Unfortunately we don&#039;t always succeed. In addition, user preferences may change during the day depending on the type of activities, applications to use or location. Everybody sometimes had like to have qwerty keyboard. Or a larger touch screen. But all these characteristics increase the size of the device and in 90% of cases are not in use. So you should buy several devices: a device for work and another for enertainment, and then to synchronize the data between them. Or to choose what is the most important for you. Again the user can not uprade the parts of his hardware. I am sure you familiar with the situation when the model is ideally suited to you, but the camera is too weak, and you can&#039;t change it.&lt;br /&gt;
&lt;br /&gt;
The solution of all these problems is device modularity and the first step in it is using of headsets. Let&#039;s consider a smartphone: roughly speaking it is a CPU, a screen and a keyboard. Place them in separate modules, that can communicate with each other, transfer data and be charged by induction chargers. Thus, we shall get the intellectual micro environment around us, which can be changed in accordance with our lifestyle.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;em&gt;Terminal block&lt;/em&gt;&lt;/u&gt;, which contains a CPU, an Internet communication tool and&amp;nbsp; other modules disclosure and connection tools, will hang on the belt, or lie on a table next to the monitor. Its only purpose&amp;nbsp; is to locate and connect the necessary equipment, and ensure&amp;nbsp; its Internet connection. This module provides the link between the virtual user workplace and the means of input / output/ visualization of the&amp;nbsp; user data.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;em&gt;Wireless (perhaps touch) screen block.&lt;/em&gt;&lt;/u&gt; So, you can carry your screen, that is not larger that those of a smartphone, for making video calls. Then you go to your office and connect&amp;nbsp; the terminal block to the&amp;nbsp; full-fledget 20 inches display. Want more? Connect severals displays at the same time. Are you in travel and have no display with you? Go to the nearest payment terminal&amp;nbsp; and connect to its display. A new means of vizualization (for e.g. Glasses or clocks with displays) is invented? They can be connect to your terminal using standard protocol, and the web-severs, that forms the image&amp;nbsp; would take into account their particular hardware. In case of loss, depreciation or upgrade of your screen (and of any other module) you have only to change this single module.&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;u&gt;&lt;em&gt;Keyboard block.&lt;/em&gt;&lt;/u&gt; In travels I need only two buttons: &amp;laquo;accept call&amp;raquo; and &amp;laquo;hang up&amp;raquo;. Place them on the clock. Want more, and the touch screen doesn&#039;t fit - take a wireless mini keyboard with (or without) a display. Are you writg blogs or working at the office? Connect a PC keyborad and a mouse.&lt;br /&gt;
&lt;br /&gt;
The device modularity principle will allow third part contributors to take experiments with input devices (with their sizes, design and layout).&lt;br /&gt;
&lt;br /&gt;
To such a smart environment it is possible to connect moduls of any functionality: sensors, detectors, GPS-modules. Moreover, even stationary&amp;nbsp; modules can connect and interact dynamically: for e.g. Getting in your car, the terminal unit becomes the core of the car navigation system and gets information about amount of fuel, speed, condition. The car may have a navigation screen, that recieves the map data from the web, and you can connect or whatever depending of your need. The terminal module will able to read&amp;nbsp; and translate information from the static information modules. Thus, you will get a fresh restaurant menu while just entering into it, or you can read about all the data in the supermarket stores and shares in them right at the entrance. Dream on this theme can be quite long.&lt;br /&gt;
&lt;br /&gt;
Is it possible? I think it is. Of course, the development of the wireless connection, SaaS and Cloud computing will not be even. For example, if SaaS progres will overcome those of wireless data transfer, we shall get a little bit different situation in IT. There are not direct ways, but the common trend will be maintained and first or last we shall get to the described intellectual user environment.&lt;br /&gt;
&lt;br /&gt;
&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot; /&gt;
&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot; /&gt;
&lt;meta content=&quot;Microsoft Word 10&quot; name=&quot;Generator&quot; /&gt;
&lt;meta content=&quot;Microsoft Word 10&quot; name=&quot;Originator&quot; /&gt;
&lt;p&gt;
Interesting Links: 
&lt;/p&gt;
&lt;ul type=&quot;disc&quot;&gt;
	&lt;li class=&quot;MsoNormal&quot;&gt;&lt;span&gt;&lt;a href=&quot;http://feedproxy.google.com/%7Er/IntoMobile/%7E3/d-GUtDXcTuw/first-shots-of-the-modular-lg-vx9600-versa-with-detachable-keyboard.html&quot;&gt;First
	shots of the modular LG VX9600 Versa with detachable keyboard&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;MsoNormal&quot;&gt;&lt;span&gt;&lt;a href=&quot;http://crave.cnet.co.uk/mobiles/0,39029453,49295452,00.htm&quot;&gt;Modu
	phone: The evolution of exchangeable covers&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;MsoBodyText&quot; style=&quot;text-align: justify&quot;&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p class=&quot;MsoBodyText&quot; style=&quot;text-align: justify&quot;&gt;
&lt;a href=&quot;http://devmobile.ru/blogs/truf/?p=59&quot;&gt;Same blog post on
Russian.&lt;/a&gt;&lt;span&gt; &lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;/div&gt;
   </description>
   <link>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2009/02/11/the-future-of-mobile-devices</link>
   <comments>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2009/02/11/the-future-of-mobile-devices</comments>
   <guid>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2009/02/11/the-future-of-mobile-devices</guid>
      <dc:creator>truf</dc:creator>
      
    <category>General</category>
      
    <category>Futurology</category>
         <pubDate>Wed, 11 Feb 2009 21:15:59 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>The Future of Mobile Devices</itunes:subtitle>
   <source url="http://www.developer.nokia.com/Community/Blogs/rss.php?blogId=300050&amp;profile=rss20">Aleksandr Trufanov&#039;s Blog</source>
     </item>
    <item>
   <title>Bridge between C/C++ and ActionScript 3.0</title>
   <description>
    &lt;p&gt;
Today I find out very interesting project: Adobe &lt;strong&gt;Alchemy&lt;/strong&gt; - &amp;quot;A research project that allows users to compile C and C++ code into ActionScript libraries (AVM2).&amp;quot;. It&#039;s in &lt;span&gt;a preview state. Published on 17 Nov. There are some quotes from Adobe webpage:&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;quot;With
Alchemy, Web application developers can now reuse hundreds of millions
of lines of existing open source C and C++ client or server-side code
on the Flash Platform.&amp;nbsp; Alchemy brings the power of high performance C
and C++ libraries to Web applications with minimal degradation on
AVM2.&amp;nbsp; The C/C++ code is compiled to ActionScript 3.0 as a SWF or SWC
that runs on Adobe Flash Player 10 or Adobe AIR 1.5.
&lt;/p&gt;
&lt;div class=&quot;columns-2-Abb-A&quot;&gt;
&lt;p&gt;
Alchemy
is primarily intended to be used with C/C++ libraries that have few
operating system dependencies. Ideally suited for computation-intensive
use cases, such as audio/video transcoding, data manipulation, XML
parsing, cryptographic functions or physics simulation, performance can
be considerably faster than ActionScript 3.0 and anywhere from 2-10x
slower than native C/C++ code. Alchemy is not intended for general
development of SWF applications using C/C++.
&lt;/p&gt;
&lt;/div&gt;
With
Alchemy, it is easy bridge between C/C++ and ActionScript 3.0 to expand
the capabilities of applications on the Flash Platform, while ensuring
that the generated SWCs and SWFs cannot bypass existing Flash Player
security protections.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
You can find out more &lt;a href=&quot;http://labs.adobe.com/technologies/alchemy/&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
There are video: &amp;quot;&lt;span class=&quot;caption&quot;&gt;Branden Hall, CTO of Automata Studios, discuss his experience working on the Ogg Vorbis porting project using Alchemy&amp;quot;, &lt;/span&gt;&lt;a class=&quot;link-more&quot; href=&quot;http://labs.adobe.com/downloads/alchemy.html&quot;&gt;Alchemy toolkit preview&lt;/a&gt;&lt;span class=&quot;link-more&quot;&gt;, &lt;/span&gt;&lt;a href=&quot;http://labs.adobe.com/wiki/index.php/Alchemy:Documentation:Getting_Started&quot;&gt;Getting Started instructions&lt;/a&gt; and &lt;a href=&quot;http://labs.adobe.com/wiki/index.php/Alchemy:Libraries&quot;&gt;sample libraries&lt;/a&gt;. Adobe looking for feedback.
   </description>
   <link>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2008/11/23/alchemy</link>
   <comments>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2008/11/23/alchemy</comments>
   <guid>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2008/11/23/alchemy</guid>
      <dc:creator>truf</dc:creator>
      
    <category>Flash</category>
      
    <category>Open C</category>
      
    <category>Symbian C++</category>
      
    <category>General</category>
         <pubDate>Sun, 23 Nov 2008 19:47:03 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Bridge between C/C++ and ActionScript 3.0</itunes:subtitle>
   <source url="http://www.developer.nokia.com/Community/Blogs/rss.php?blogId=300050&amp;profile=rss20">Aleksandr Trufanov&#039;s Blog</source>
     </item>
    <item>
   <title>&quot;Project Capuchin&quot;-like solution for Symbian C++</title>
   <description>
    &lt;p&gt;
Hi
&lt;/p&gt;
&lt;p&gt;
I&#039;m not a Flash Lite expert. And never write even one line of Flash code.
But i really think Flash is a excellent solution for GUI designing if it can
be used as a part of other technology. I&#039;m always looking on SE Project Capuchin
with hope what one time such functionality will be aviable for Symbian C++
developers. 
&lt;/p&gt;
&lt;p&gt;
Some time ago i read a good news about MobiFLV project:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;MobiFLV is Open Source FLV Player for Symbian ported from libavcodec,
video decoder part of ffmpeg. MobiFLV is written in C and Symbian C++
language. &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;MobiFLV is licensed under the GNU Lesser General Public License (LGPL).&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.mobitubia.com/dp/?q=content/libavcodec-and-mobiflv-source-code&quot; title=&quot;MobiFLV&quot;&gt;Read more about MobiFLV...&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;a href=&quot;http://blogs.forum.nokia.com/blog/sittiphol-phanvilais-forum-nokia-blog&quot;&gt;Sittiphol Phanvilai&#039;s Forum Nokia Blog&lt;/a&gt; &lt;a href=&quot;http://blogs.forum.nokia.com/blog/sittiphol-phanvilais-forum-nokia-blog/2008/08/25/mobiflv-open-source-flv-player-for-symbian&quot;&gt;&amp;quot;MobiFLV : Open Source FLV Player for Symbian!&amp;quot;&lt;/a&gt;&lt;br /&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
But thats Flash Video, what about swf?
&lt;/p&gt;
&lt;p&gt;
I found some old SWF players for S60 2nd ed. So i think SWF player implementation is possible on S60.
&lt;/p&gt;
&lt;p&gt;
Moreother, there is &lt;a href=&quot;http://tulrich.com/geekstuff/gameswf.html&quot;&gt;Game SWF&lt;/a&gt; project:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&lt;strong&gt;gameswf &lt;/strong&gt;(pronounced &lt;/em&gt;&lt;em&gt;&amp;quot;game swiff&amp;quot;) is an open source Public Domain
library for parsing and rendering SWF movies, using 3D hardware APIs
for rendering.  It is designed to be used as a UI library for computer
and console games.
&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;
It is written in C++, and compiles under Windows, Mac OSX and Linux,
using GCC and MSVC.  It includes code for rendering with OpenGL.  The
rendering module is factored out so that you can port to other APIs.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Sure its functionality enouth to use Flash instead of GUI as Project Capuchin allow to do.
&lt;/p&gt;
&lt;p&gt;
 And there lots of other opensource &lt;a href=&quot;http://osflash.org/open_source_flash_projects&quot;&gt;Flash utilities&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I&#039;m sure SWF Player algorithm is not top secret, bcs even Delphi have &lt;a href=&quot;http://www.swftools.com/tools-details.php?tool=7935584162&quot;&gt;component to play SWF&lt;/a&gt; in applications. And perhaps if i spend more time on google, i will find a better framework which can be easy ported to OpenC or even Symbian C++.  
&lt;/p&gt;
&lt;p&gt;
With help of
Adobe Open Project we will not have any problem with
licensing.
&lt;/p&gt;
&lt;p&gt;
 I&#039;m I wrong? As I say, i&#039;m not a Flash Lite coder and want clarify that.
&lt;/p&gt;
&lt;p&gt;
Can Flash support be implemented in native Symbian C++? If yes, then what are we waiting for? Sure, Capuchin-like solution for Symbian C++ is much more valuable then many others OpenSource projects and thats be a best Christmas present for me and hundreds other SC++ developers. I&#039;m ready to take part in such project. So, if thats possible to do, why community still not make it? 
&lt;/p&gt;
   </description>
   <link>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2008/09/30/project-capuchin-like-solution-for-symbian-c</link>
   <comments>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2008/09/30/project-capuchin-like-solution-for-symbian-c</comments>
   <guid>http://www.developer.nokia.com/Community/Blogs/blog/aleksandr-trufanovs-forum-nokia-blog/2008/09/30/project-capuchin-like-solution-for-symbian-c</guid>
      <dc:creator>truf</dc:creator>
      
    <category>Flash</category>
      
    <category>S60</category>
      
    <category>Symbian C++</category>
      
    <category>General</category>
         <pubDate>Tue, 30 Sep 2008 16:21:52 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>&quot;Project Capuchin&quot;-like solution for Symbian C++</itunes:subtitle>
   <source url="http://www.developer.nokia.com/Community/Blogs/rss.php?blogId=300050&amp;profile=rss20">Aleksandr Trufanov&#039;s Blog</source>
     </item>
   </channel>
</rss>