User:Neverendingo: Difference between revisions

From KDE Community Wiki
No edit summary
(Marked this version for translation)
Line 4: Line 4:
<span id="Section_Title_in_English"></span>
<span id="Section_Title_in_English"></span>


==<translate>Section title in English</translate>==
==<translate><!--T:2-->
Section title in English</translate>==
Most pages can be ported from the old site as-is and are marked with "done, needs review".&nbsp;Links are noted.
Most pages can be ported from the old site as-is and are marked with "done, needs review".&nbsp;Links are noted.


Line 17: Line 18:


<translate>
<translate>
=== Der Aufruf einer D-Bus Methode ===
=== Der Aufruf einer D-Bus Methode === <!--T:3-->
Eine [http://doc.qt.nokia.com/latest/QDBusMessage.html QDBusMessage] kann direkt mit der statischen Methode [http://doc.qt.nokia.com/latest/QDBusMessage.html QDBusMessage]<tt>::createMethodCall( const QString & service, const QString & path, const QString & interface, const QString & method )</tt> benutzt werden, um Methoden in D-Bus Diensten aufzurufen. Der Rückgabewert ist ein [http://doc.qt.nokia.com/latest/QDBusMessage.html QDBusMessage] Objekt, welches dann für den eigentlichen Aufruf benutzt wird.
Eine [http://doc.qt.nokia.com/latest/QDBusMessage.html QDBusMessage] kann direkt mit der statischen Methode [http://doc.qt.nokia.com/latest/QDBusMessage.html QDBusMessage]<tt>::createMethodCall( const QString & service, const QString & path, const QString & interface, const QString & method )</tt> benutzt werden, um Methoden in D-Bus Diensten aufzurufen. Der Rückgabewert ist ein [http://doc.qt.nokia.com/latest/QDBusMessage.html QDBusMessage] Objekt, welches dann für den eigentlichen Aufruf benutzt wird.


<!--T:4-->
Der <tt>interface</tt> Parameter ist optional und nur erforderlich, wenn die Methode nicht eindeutig identifizierbar im, mit dem Pfad assoziierten, Objekt ist.Dies kann passieren, wenn das Objekt mehrere Schnittstellen implementiert, die Methoden, mit den gleichen Namen haben. In solchen (seltenen) Fällen, gibt es keine Garantie darüber, welche Methode tatsächlich aufgerufen wird, wenn man die gewünschte Schnittstelle nicht explizit definiert. Allerdings kann man in der Regel einfach eine leere Zeichenfolge (z.B. ""), als Argument für <tt>interface</tt> übergeben.
Der <tt>interface</tt> Parameter ist optional und nur erforderlich, wenn die Methode nicht eindeutig identifizierbar im, mit dem Pfad assoziierten, Objekt ist.Dies kann passieren, wenn das Objekt mehrere Schnittstellen implementiert, die Methoden, mit den gleichen Namen haben. In solchen (seltenen) Fällen, gibt es keine Garantie darüber, welche Methode tatsächlich aufgerufen wird, wenn man die gewünschte Schnittstelle nicht explizit definiert. Allerdings kann man in der Regel einfach eine leere Zeichenfolge (z.B. ""), als Argument für <tt>interface</tt> übergeben.


<!--T:5-->
Als Beispiel für den Zugriff auf einen Dienst der (fiktiven) <tt>ping</tt>-Methode für das {{path|/network}} object in der <tt>org.foo.bar</tt>, könnte man dies zu tun:
Als Beispiel für den Zugriff auf einen Dienst der (fiktiven) <tt>ping</tt>-Methode für das {{path|/network}} object in der <tt>org.foo.bar</tt>, könnte man dies zu tun:


<!--T:6-->
<code cppqt>
<code cppqt>
QDBusMessage m = QDBusMessage::createMethodCall("org.foo.bar",  
QDBusMessage m = QDBusMessage::createMethodCall("org.foo.bar",  
Line 32: Line 36:
</code>
</code>


<!--T:7-->
In Zeile 5 im obigen Beispiel haben wir die Nachrichten-Warteschlange für das Senden über den aktuelle Session-Bus. Der Rückgabewert vom Typ <tt>bool</tt> lässt uns wissen, ob das Einstellen in die Warteschlange erfolgreich war, oder nicht.
In Zeile 5 im obigen Beispiel haben wir die Nachrichten-Warteschlange für das Senden über den aktuelle Session-Bus. Der Rückgabewert vom Typ <tt>bool</tt> lässt uns wissen, ob das Einstellen in die Warteschlange erfolgreich war, oder nicht.


<!--T:8-->
Dies lässt noch zwei Fragen offen:
Dies lässt noch zwei Fragen offen:
* Wie werden die Parameter für einen Methodenaufruf korrekt gesetzt?
* Wie werden die Parameter für einen Methodenaufruf korrekt gesetzt?
* Wie  kommt man an die Rückmeldung im Falle der D-Bus-Methoden, die einen Rückgabewert haben?
* Wie  kommt man an die Rückmeldung im Falle der D-Bus-Methoden, die einen Rückgabewert haben?
</translate>
</translate>

Revision as of 07:23, 24 August 2010

<languages />

==<translate> Section title in English</translate>== Most pages can be ported from the old site as-is and are marked with "done, needs review". Links are noted.

Some are already included in the testing area, which can be found on http://www-devel.kde.org/community/ (starting at a subdir as the main page is a different matter).

To make it easy all i would need is a plain txt file, html tags can be applied afterwards.

  • One
  • Two
    • Two point one
  • Three

<translate>

Der Aufruf einer D-Bus Methode

Eine QDBusMessage kann direkt mit der statischen Methode QDBusMessage::createMethodCall( const QString & service, const QString & path, const QString & interface, const QString & method ) benutzt werden, um Methoden in D-Bus Diensten aufzurufen. Der Rückgabewert ist ein QDBusMessage Objekt, welches dann für den eigentlichen Aufruf benutzt wird.

Der interface Parameter ist optional und nur erforderlich, wenn die Methode nicht eindeutig identifizierbar im, mit dem Pfad assoziierten, Objekt ist.Dies kann passieren, wenn das Objekt mehrere Schnittstellen implementiert, die Methoden, mit den gleichen Namen haben. In solchen (seltenen) Fällen, gibt es keine Garantie darüber, welche Methode tatsächlich aufgerufen wird, wenn man die gewünschte Schnittstelle nicht explizit definiert. Allerdings kann man in der Regel einfach eine leere Zeichenfolge (z.B. ""), als Argument für interface übergeben.

Als Beispiel für den Zugriff auf einen Dienst der (fiktiven) ping-Methode für das /network object in der org.foo.bar, könnte man dies zu tun:

QDBusMessage m = QDBusMessage::createMethodCall("org.foo.bar",

   "/network", 
   "",
   "ping");

bool queued = QDBusConnection::sessionBus().send(m);

In Zeile 5 im obigen Beispiel haben wir die Nachrichten-Warteschlange für das Senden über den aktuelle Session-Bus. Der Rückgabewert vom Typ bool lässt uns wissen, ob das Einstellen in die Warteschlange erfolgreich war, oder nicht.

Dies lässt noch zwei Fragen offen:

  • Wie werden die Parameter für einen Methodenaufruf korrekt gesetzt?
  • Wie kommt man an die Rückmeldung im Falle der D-Bus-Methoden, die einen Rückgabewert haben?

</translate>