2009-05-27 11 views
1

Wenn ich mit D-Bus Qt D-Bus-Bindungen etwas Code aussetze, wann sollte man einen Qt-Adapter über eine Qt-Schnittstelle benutzen? Ich habe eine schwierige Zeit zu verstehen, wie genau sie sich unterscheiden, da es scheint, als ob sie die gleiche Funktionalität bieten.QDBusAbstractAdaptor im Vergleich zu QDBusAbstractInterface

Antwort

2

Per http://doc.trolltech.com/4.3/qdbusabstractinterface.html „QDBusAbstractInterface Klasse ist die Basisklasse für alle D-Bus-Schnittstellen in der QtDBus Bindung“, während pro http://doc.trolltech.com/4.3/qdbusabstractadaptor.html „QDBusAbstractAdaptor Klasse der Ausgangspunkt für alle Objekte ist beabsichtigt, Schnittstellen zur Außenwelt zu schaffen, mit D-Bus ". Das heißt, das erstere wird in der Schnittstelle selbst verwendet, das letztere wird verwendet, um die Schnittstelle bereitzustellen, dh zum "Darlegen von etwas Code zu D-Bus" würden Sie eine Klasse schreiben, die den Adapter erbt und "die D-Bus-Schnittstelle definieren implementiert mit dem Makro Q_CLASSINFO in der Klassendefinition "(auch ein Zitat aus der zweiten der obigen URLs).

1

Der Verbraucher soll die QDBusAbstractInterface verwenden, während der Hersteller QDBusAbstractAdaptor verwenden soll. Das heißt, der Adapter (Produzent) implementiert einige Methoden, legt einige Eigenschaften offen und sendet einige Signale, während der Verbraucher diese Dinge anruft/empfängt.

Verwandte Themen