DBus TCP Remote-Zugriff

Alles rund um die Programmierung mit Qt
Antworten
benny_g.
Beiträge: 1
Registriert: 24. Februar 2011 10:53
Wohnort: Leipzig

DBus TCP Remote-Zugriff

Beitrag von benny_g. »

Hallo,

ich möchte einige Applikationen auf einem embedded Linux-System miteinander über DBus kommunizieren lassen. Dabei habe ich hier sowohl ein paar Basisapplikationen, die mit dem Entwicklungsboard mitgeliefert wurden als auch eigene Applikationen die sowohl mit den Basisapplikationen als auch untereinander über DBus kommunizieren sollen.

Zum aktuellen Stand:
Alle notwendigen Voraussetzungen sind gegeben und die Applikationen können auch miteinander kommunizieren, sofern sie auf dem embedded System laufen. Da mir keine effektive Debugumgebung für das embedded System zur Verfügung steht, lasse ich Applikationen zum Testen auf dem PC laufen, wobei diese über TCP mit dem DBus-Daemon auf dem Board kommunizieren. Somit kann ich die zu testende Applikation zusammen mit den anderen Applikationen, mit denen sie kommunizieren muss laufen lassen.

Nun zu dem Problem, was ich gerne lösen möchte:
Wenn die Applikationen alle auf dem ebedded System laufen, funktioniert die Interprozesskommunikation über DBus einwandfrei. Wenn ich eine Applikation per Remote, vom PC aus, mit den anderen Applikationen kommunizieren lassen will ist dies nur eingeschränkt möglich. Ich finde nur die DBus-Services die von den Basisapplikationen registriert wurden (sowohl mit dem qdbusviewer als auch wenn ich den dbus-daemon selbst über QDBusConnectionInterface nach den ihm bekannten Services frage), nicht jedoch meine Applikationen.

Muss ich noch mehr tun als für jeden DBus-Service, den ich anbieten will,

1. den Service registrieren: QDBusConnection::sessionBus().registerService(...)
2. das Laufzeitobjekt registrieren: QDBusConnection::sessionBus().registerObject(...)

, sodass diese auch per remote sichtbar sind?
Antworten