2008/10/28 Michael Tansella <span dir="ltr">&lt;<a href="mailto:michael-tansella@gmx.de">michael-tansella@gmx.de</a>&gt;</span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">&gt; Are you extracting the data out of the<br>
&gt; struct with the &quot;&gt;&gt;&quot; operators<br>
<br>
</div>Thank you again for that hint:<br>
<br>
For interested the way I implemented it:<br>
</blockquote></div><br>Here my snippet to read Phonebooks from sim:<br><br>struct PhonebookEntry<br>{<br>&nbsp;&nbsp;&nbsp; int index;<br>&nbsp;&nbsp;&nbsp; QString name;<br>&nbsp;&nbsp;&nbsp; QString number;<br>};<br><br>Q_DECLARE_METATYPE ( PhonebookEntry );<br>Q_DECLARE_METATYPE ( QList&lt;PhonebookEntry&gt; );<br>
<br>const QDBusArgument &amp;operator&gt;&gt;(const QDBusArgument &amp;argument, PhonebookEntry &amp;pe) {<br>&nbsp;&nbsp;&nbsp; argument.beginStructure();<br>&nbsp;&nbsp;&nbsp; argument &gt;&gt; pe.index &gt;&gt; <a href="http://pe.name">pe.name</a> &gt;&gt; pe.number;<br>
&nbsp;&nbsp;&nbsp; argument.endStructure();<br>&nbsp;&nbsp;&nbsp; return argument;<br>}<br><br>const QDBusArgument &amp;operator&lt;&lt;(QDBusArgument &amp;argument, const PhonebookEntry &amp;pe) {<br>&nbsp;&nbsp;&nbsp; argument.beginStructure();<br>&nbsp;&nbsp;&nbsp; argument &lt;&lt; pe.index &lt;&lt; <a href="http://pe.name">pe.name</a> &lt;&lt; pe.number;<br>
&nbsp;&nbsp;&nbsp; argument.endStructure();<br>&nbsp;&nbsp;&nbsp; return argument;<br>}<br><br>qDBusRegisterMetaType&lt;PhonebookEntry&gt;();&nbsp; //somewhere in the code<br><br>QDBusMessage m=gsm_sim-&gt;call ( &quot;RetrievePhonebook&quot;,&quot;received&quot; );<br>
QList&lt;PhonebookEntry&gt; lpe=qdbus_cast&lt;QList&lt;PhonebookEntry&gt; &gt;(m.arguments()[0]);<br>qDebug() &lt;&lt;lpe;<br><br>You may be interested to the following too:<br><br>const QDebug operator&lt;&lt;(QDebug debug, const PhonebookEntry &amp;pe) {<br>
&nbsp;&nbsp;&nbsp; debug &lt;&lt; pe.index &lt;&lt;pe.number&lt;&lt; <a href="http://pe.name">pe.name</a>;<br>&nbsp;&nbsp;&nbsp; return debug;<br>}<br><br>const QDebug operator&lt;&lt;(QDebug debug, const QList&lt;PhonebookEntry&gt; &amp;lpe) {<br>&nbsp;&nbsp;&nbsp; foreach(PhonebookEntry pe, lpe) debug &lt;&lt; pe;<br>
&nbsp;&nbsp;&nbsp; return debug;<br>}<br><br>Where to put this? fso/wiki? om/wiki?<br><br>Regards<br><br>&nbsp;&nbsp;&nbsp; Nicola<br><br><br><br><br><br><br>