Einem C++-Hauptprogramm werden üblicherweise seine Argumente in den Parametern argc und argv übergeben. Mit Hilfe dieser Parameter wird eine Instanz der Klasse Device angelegt. Nach dem Erfragen des Gerätenamens aus der Kommandozeile und des Namens der Domäne wird damit die Datenbank database angelegt und ein service_set erzeugt.
int main(int argc, char **argv) { Device device(argc, argv); char **names = device.get_names(); char *domain = device.get_domain(); DevDB database(domain, names); DevServiceSet service_set(domain, names[0]);
Mit dem C++-Operator new wird die Instanz des Services TestDev erzeugt. Dieser wird hier mit der Funktion add in das ServiceSet eingetragen. Die Hauptarbeit wird dann in messageLoop getan. Hier wartet das Programm auf die Nachrichten, ermittelt, für welchen Service, welches Feld und welche Aktion sie bestimmt sind, und führt die entsprechende run-Funktion aus. Die Funktion wird beendet, wenn eine Nachricht mit einer Stop-Markierung empfangen wird.
service_set.add(new TestDev(names[0], 0, database)); service_set.messageLoop(); }
Beim Beenden des Programms werden automatisch die Objekte database und service_set gelöscht und die damit verbundenen Ressourcen freigegeben. Auch die Messagesystem-Verbindung wird geschlossen.