21.08.2013 Aufrufe

Einführung in CORBA Middleware Middlewareplattform ... - ETH Zürich

Einführung in CORBA Middleware Middlewareplattform ... - ETH Zürich

Einführung in CORBA Middleware Middlewareplattform ... - ETH Zürich

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

IDL: Module<br />

• Zusammengehörige Deklarationen können durch e<strong>in</strong><br />

Modul zusammengefasst werden:<br />

module Bank<strong>in</strong>g {<br />

exception BankException { ... };<br />

<strong>in</strong>terface Konto { ... };<br />

...<br />

};<br />

• Auf Elemente e<strong>in</strong>es Moduls kann mittels des Scope-<br />

Operators zugegriffen werden:<br />

Bank<strong>in</strong>g::Konto<br />

<strong>ETH</strong> <strong>Zürich</strong> 13 roemer@<strong>in</strong>f.ethz.ch<br />

Java/C++-Mapp<strong>in</strong>g: Basistypen<br />

IDL Java C++<br />

short short <strong>CORBA</strong>::Short<br />

long <strong>in</strong>t <strong>CORBA</strong>::Long<br />

long long long <strong>CORBA</strong>::LongLong<br />

unsigned short short <strong>CORBA</strong>::UShort<br />

unsigned long <strong>in</strong>t <strong>CORBA</strong>::ULong<br />

unsigned long long long <strong>CORBA</strong>::ULongLong<br />

float float <strong>CORBA</strong>::Float<br />

double double <strong>CORBA</strong>::Double<br />

long double - <strong>CORBA</strong>::LongDouble<br />

char char <strong>CORBA</strong>::Char<br />

wchar char <strong>CORBA</strong>::WChar<br />

boolean boolean <strong>CORBA</strong>::Boolean<br />

octet byte <strong>CORBA</strong>::Octet<br />

any <strong>CORBA</strong>.any <strong>CORBA</strong>::Any<br />

fixed math.BigDecimal <strong>CORBA</strong>::Fixed<br />

<strong>ETH</strong> <strong>Zürich</strong> 15 roemer@<strong>in</strong>f.ethz.ch<br />

Abbildung von IDL nach Java/C++<br />

• Abbildung von IDL-Konstrukten auf Konstrukte <strong>in</strong> der<br />

entsprechenden Programmiersprache<br />

• Teil der <strong>CORBA</strong>-Spezifikation (für C, C++, Java, Smalltalk,<br />

Ada, ...)<br />

• Wird vom IDL-Compiler implementiert<br />

<strong>ETH</strong> <strong>Zürich</strong> 14 roemer@<strong>in</strong>f.ethz.ch<br />

Java/C++-Mapp<strong>in</strong>g: Template-Typen<br />

IDL Java C++<br />

str<strong>in</strong>g, str<strong>in</strong>g lang.Str<strong>in</strong>g char*<br />

wstr<strong>in</strong>g, wstr<strong>in</strong>g lang.Str<strong>in</strong>g <strong>CORBA</strong>::WChar*<br />

Array Klasse mit Array Array<br />

• In C++ werden Helferfunktionen für die Behandlung<br />

von Str<strong>in</strong>gs bereitgestellt:<br />

char *<strong>CORBA</strong>::str<strong>in</strong>g_dup (const char *s);<br />

char *<strong>CORBA</strong>::str<strong>in</strong>g_alloc (<strong>CORBA</strong>::Long len);<br />

void <strong>CORBA</strong>::str<strong>in</strong>g_free (char *s);<br />

• Ausserdem Helferklassen <strong>CORBA</strong>::Str<strong>in</strong>g_var und<br />

<strong>CORBA</strong>::WStr<strong>in</strong>g_var zur "automatischen" Speicherverwaltung<br />

<strong>ETH</strong> <strong>Zürich</strong> 16 roemer@<strong>in</strong>f.ethz.ch

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!