| |
C-Sprache, die das Diagramm für Gegenstandimplementierungen Aug. 1997 abbildet 1-37 1 * im recht-zu-linken Auftrag der Erbschaft */ PortableServer_ServantBase__fini( (PortableServer_ServantBase*)servant, env ); } Die Adresse eines Bediensteten wird zur initfunktion geführt, bevor der Bedienstete ist mit dem POA in jeder Hinsicht aktiviert werden oder registriert werden dürfen. Die Resultate des Ausfallens zu initialisieren Sie richtig einen Bediensteten über die passende initfunktion, bevor Sie sie registrieren oder erlaubend, daß sie seiend Sie Implementierung-spezifisch, aber könnte Gedächtnis umfassen aktiviert wird Zugriffsfehler, die abbrechen konnten die Anwendung. 1,26,7 AnwendungscBedienstete Es wird erwartet, daß Anwendungen ihre eigenen Bedienstetstrukturen verursachen, damit sie können fügen Sie ihre eigenen Bedienstet-spezifischen Datenmitglieder Speichergegenstandzustand hinzu. Für den Kostenzähler das Beispiel, das oben, ein Anwendungsbediensteter gezeigt wurde, würde vermutlich ein verwendetes Datenmitglied haben den Gegenwert speichern: /*c*/ typedefstruct AppServant { Unterseite POA_Counter; CORBA_Long-Wert; } AppServant; Die Anwendung konnte die folgende Implementierung des Counter::add enthalten Betrieb: /*c*/ CORBA_Long app_servant_add(PortableServer_Servant _ Bediensteter, CORBA_Long val, CORBA_Environment * _ env) { AppServant * Selbst = (AppServant*)_servant; Selbst->value + = val; Rückholselbst->value; } Die Anwendung könnte den Bediensteten statisch initialisieren, wie folgt: /*c*/ Base_epv PortableServer_ServantBase__epv = { NULL, /* ignorieren Sie * der privaten Daten ORB,/ NULL, /* keine Bedienstet-spezifischen beenden Funktion benötigtes */ NULL, /* verwenden Sie niedriges default_POAfunktions*/ }; |  |
|
| |
|
|