Komunikation zwischen Objekten standardisieren
-
Hi,
Ich würde gerne den Datenaustausch zwischen zwei Objekten standardisieren.
Jedes Objekt wird durch einen Timer getriggert. (Es gibt genau einen Timer, an welchem alle Objekte hängen). In jedem Zeitschritt gibt es einen
Funktionsaufruf im Objekt um Daten zu berechnen, und einen um Daten zu verschieben.
Die einzelnen Objekte sollen nun mittels einer Funktion "connect(obj1,obj2)" verbunden werden können. In jedem Zeitschritt sollen nun zwischen verbundenen Objekten Daten verschoben werden.
Es soll auch möglich sein mehrere Objekte zu verbinden ohne Daten zu überschreiben.
Also zum ersten connect noch ein "connect(obj3,obj2)".
Dabei sollen die Daten von obj3 welche nach obj2 verschoben werden nicht die daten von obj1 überschreiben.
Der Typ der Daten ist unbekannt.Als Lösung ist mir eingefallen:
-Eine Map welcher den this pointer des Senders als schlüssel hat mit void pointer als Datum ?? Einen void pointer müßte ich immer casten...-Ev. auch ein Kommunikationsprotokoll, welches keine Daten direkt verschiebt, aber ihn zumindest standardisiert ?? Also eine Ansammlung von Funktionsaufrufen, welche nach einem bestimmten Schema aufgerufen werden.
Kann mich aber mit beiden noch nciht so richtig anfreunden. Für Vorschläge wäre ich sehr dankbar.
Gruß Alex
-
Das klingt irgendwie, als wenn
boost.signalsetwas für Dich sein könnte.
-
Hi Tachyon,
Also mit boost habe ich noch nie was gemacht.
Ist das Konzept das Selbe wie bei OpenGL. (Signal slot konzept ?? )Da kann ich auch nen STL kontainer mit Funktionspointern füllen, dann brauch ich boost nicht oder ?? Aber das Konzept überzeugt mich....
Gruß
-
AlexanderKiebler schrieb:
Ist das Konzept das Selbe wie bei OpenGL.
Schau dir am Besten die Doku auf der boost-Seite an, dann kannst du am Besten vergleichen wo die Unterschiede und Gemeinsamkeiten mit anderen derartigen Bibliotheken liegen

-
Öhm OpenGL ?? Ich mein die QT.
Bin ein bischen über die Doku drüber. Schien mir sehr ähnlich zu sein.