| |
1-44 C-Sprache, die August 1997 Abbildet 1 Ausrichtung vom my_servant Datenstruktur über PortableServer_POA_set_servant() Funktion auf einem passend initialisierten POA bildet das my_invoke DIR-Funktion vorhanden DSI-Anträge anfassen. 1,28 ORB-InitialisierungscBetriebe ORB-Initialisierung Das folgende PIDL spezifiziert Initialisierungsbetriebe für ein ORB; dieses PIDL ist ein Teil von das CORBA-Modul (nicht die ORB-Schnittstelle) und wird in Version 2,3 von beschrieben Allgemeiner GegenstandcAntragcVermittler: Architektur und Spezifikationen , ORB-Schnittstelle Kapitel, ORB-Initialisierung Abschnitt. // PIDL Modul CORBA { typedefzeichenkette ORBid; typedefreihenfolgen< Zeichenkette> arg_list; ORB ORB_init (inoutarg_listargv, in ORBid orb_identifier); }; Das Diagramm der vorhergehenden PIDL-Betriebe zu C ist, wie folgt: /*c*/ typedefputzfrau * CORBA_ORBid; extern CORBA_ORB CORBA_ORB_init(int * argc, Putzfrau**argv, CORBA_ORBid orb_identifier, CORBA_Environment * env); Das C, das für ORB_init abbildet weicht vom OMG IDL PIDL in seiner Behandlung von ab arg_list- Parameter. Dieses soll eine sinnvolle PIDL-Definition von zur Verfügung stellen Initialisierungsschnittstelle, die eine natürliche c-Schwergängigkeit hat. Zu diesem Zweck das arg_list Struktur wird durch argv geersetzt und argc Parameter. Das argv Parameter wird wie eine ungebundene Reihe Zeichenketten definiert (Putzfrau** und Zahl der Zeichenketten in der Reihe wird in das argc geführt (intern * Parameter. Wenn eine leere Zeichenkette ORBid dann benutzt wird, können argcargumente verwendet werden, um festzustellen, welches ORB sollte zurückgebracht werden. Dieses wird erzielt, indem man das argv sucht Parameter für einen etikettiertes ORBid z.B. - ORBid "ORBid_example.", Wenn eine leere Zeichenkette ORBid benutzt wird und kein ORB wird durch das argv angezeigt Parameter, die Rückstellung ORB wird zurückgebracht. Unabhängig davon, ob ORB_init eine leere oder nicht leere Zeichenkette ORBid geführt wird das argv Argumente werden überprüft, um festzustellen, wenn irgendwelche ORB-Parameter gegeben werden. Wenn a ORB_init nicht leere Zeichenkette ORBid wird geführt alle - ORBid Parameter im argv werden ignoriert. Alles anderes - ORB<suffix > Parameter können von der Bedeutung während sein ORB-Initialisierungsprozeß. |  |
|
| |
|
|