| |
Oktober 2001 Abbildender Ada, v1.2: HelfercPaketcDiagramm 4-15 4 Funktion To_Ref(The_Ref: in der CORBA.Object.Ref'CLASS-) Rückkehr Hinweis; Die zur Verfügung gestellte ImplementierungIST in der Lage, jeden möglichen Vorfahr der Schnittstelle zu verengen oder valuetype, unabhängig davon, ob der Vorfahr durch einzelnes oder Mehrfachverbindungsstelle definiert wurde Erbschaft. Wenn The_Ref kann nicht zur gewünschten Schnittstelle, diese Funktion verengt werden hebt CORBA.Bad_Param an . Das Verengen eines Gegenstandhinweises kann eine Direktübertragungsanforderung erfordern (zu jedem das Ziel wenden Sie oder gegen einen Schnittstellenbehälter) ein um das Verhältnis zwischen dem tatsächlichen zu überprüfen wenden Sie und die gewünschte schmale Schnittstelle ein. Für Fälle wo der Anwendungsprogrammierer Wünsche zum Vermeiden der Möglichkeit dieser Remoteanforderung, anpassende Implementierungen muß ein ursprüngliches Unterprogramm in jedem Helferpaket zur Verfügung stellen, um ein ungeprüftes durchzuführen verengen Sie Betrieb. Jedes Schnittstellenhelferpaket umfaßt eine Funktion mit Spezifikation: Funktion Unchecked_To_Ref(The_Ref: in CORBA.Object.Ref'CLASS-) Rückholhinweis; Unabhängig davon ob oder nicht The_Ref bekannt, um die gewünschte Schnittstelle, zu stützen vorausgesetzt Implementierung einen verengten Hinweis zurückbringt. 4,6,3 Schreiben Sie jede mögliche Unterstützung Jedes Helferpaket, ausgenommen die für lokale Schnittstellen, definiert ein TypeCode Konstanten- und Umwandlungsfunktionen für die Schnittstelle oder das valuetype mit Wert, wie definiert in der CORBA-/iiopspezifikation und zwei Umwandlungsfunktionen, To_Any und From_Any . Diese Umwandlungsfunktionen setzen ein und extrahieren einen Fall von beziehen Sie Art into/from ein Fall der Art irgendwie . Jedes Helferpaket definiert a TypeCode Konstante, To_Any und From_Any für jede Art definiert in der IDL-Maßeinheit abgebildet. Das TypeCode Konstanten haben Werte, wie im CORBA/IIOP definiert Spezifikation . Die Funktionen werden entsprechend den Richtlinien definiert in Abschnitt 3,15, ", abbildend für irgendeine Art, "auf Seite 3-12 . Implementierungen werden die Erlaubnis gehabt, um zu unterdrücken Erzeugung von TypeCodes und schreiben Sie irgendwelche Umwandlungsfunktionen es sei denn spezifisch erfordert (zum Beispiel, durch einen Befehlslinienschalter zum IDL-Compiler). 4,6,4 Stützende Schnittstellen Valuetypes Valuetypes kann Schnittstellen, ein Verhältnis "nicht genau stützen", dem ähnlich ist, aber dieselben wie, das Verhältnis der Schnittstellenerbschaft (Subtyping) spezifiziert als Semantik für "Erbschaft" zwischen Schnittstellen. Abstrakte Werte können Mehrfachverbindungsstelle stützen Schnittstellen, während stateful Werte ein nur stützen können. Ein Fall eines Wertes, der eine Schnittstelle stützt, kann als Parameter von geführt werden Betrieb, der eine formale Art Schnittstelle (Ersetzbarkeit) hat. Der Fall, der ist geführtes Muß ist vorher mit einem POA aktiviert worden (ein Fall einer Wertart daß eine Schnittstelle stützt, können zu dieser Schnittstelle "verbreitert werden"). Das Werthelferpaket für jedes valuetype, das eine Schnittstelle stützt, soll, für jedes gestützte Schnittstelle: |  |
|
| |
|
|