XPCOM-Komponenten mit Javascript

Die XPCOM-Komponente wird unter einem einprägsamen Namen registriert. Die Contract ID bei XPCOM entspricht der ProgID für Microsoft COM-Komponenten. In diesem Beispiel lautet sie „@mozilla.org/MyComponent;1“.

Contract IDs greifen auf das Konzept von Namensräumen zurück, um sich zu identifizieren. Daher ist es wichtig, der Contract ID ein „@mozilla.org/“ voranzustellen. Die CID einer Komponente ist eine 128-Bit-UUID, welche die Komponente eindeutig identifiziert. Die Methode ID() des Components-Objekts erwartet einen UUID-String und gibt ein nsID-Objekt zurück, welches für die Registrierung und Instantiierung verwendet wird. (Die UUID kann man unter Windows zum Beispiel mit Hilfe des Utilities GUIDGen.exe erzeugen.) Dann gibt es noch die Interface ID (IID) der Komponente, das ist der Name der Schnittstelle, wie sie in der XPT-Datei beschrieben ist, in diesem Beispiel nsIMyComponent.

Beim Analysieren des Codes wird auffallen, dass die eigentliche Logik in der Methode reverseIt() der nsMyComponent-Klasse besteht. Der Rest des Codes wird benötigt, um die Komponente innerhalb von XPCOM zum Laufen zu bringen. Wenn man an Hand des Beispielcodes eigene Komponenten erstellen will, kopiert man einfach den gesamten Code und fügt der nsMyComponent-Klasse eigene Methoden und Eigenschaften hinzu.

Damit das XPCOM-System die nsIMyComponent-Schnittstelle sowie die exportierte Methode erkennt, muss man eine XPT-Type-Library bereitstellen. Dies erreicht man durch das Erstellen einer IDL-Datei, die mit Hilfe von xpidl.exe kompiliert wird. Listing B enthält die IDL für MyComponent.

Listing B

Die IDL-Datei bindet per include die Datei nsISupports.idl ein, um die nsISupports-Schnittstelle basierend auf der nsIMyComponent-Schnittstelle zu implementieren. Die Methode reverseIt() wird deklariert und der Rückgabe-Typ sowie der erwartete Parameter spezifiziert.

Die Datei xpidl.exe war als Download bisher nirgends zu finden, so dass der Autor dieses Artikels sie aus heruntergeladenen Einzelteilen von der Mozilla.org-Website zusammengestellt hat. Unter Windows 2000 und XP lief das Tool erfolgreich. Die Datei gibt es bei ZDNet als Download . Diese Datei entpackt man in ein separates Verzeichnis. Durch Aufruf mit dem Parameter -h erhält man Informationen zur Benutzung des Tools.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Business GPT: Generative KI für den Unternehmenseinsatz

Nutzung einer unternehmenseigenen GPT-Umgebung für sicheren und datenschutzkonformen Zugriff.

2 Tagen ago

Alphabet übertrifft die Erwartungen im ersten Quartal

Der Umsatz steigt um 15 Prozent, der Nettogewinn um 57 Prozent. Im nachbörslichen Handel kassiert…

5 Tagen ago

Microsoft steigert Umsatz und Gewinn im dritten Fiskalquartal

Aus 61,9 Milliarden Dollar generiert das Unternehmen einen Nettoprofit von 21,9 Milliarden Dollar. Das größte…

5 Tagen ago

Digitalisierung! Aber wie?

Mehr Digitalisierung wird von den Unternehmen gefordert. Für KMU ist die Umsetzung jedoch nicht trivial,…

5 Tagen ago

Meta meldet Gewinnsprung im ersten Quartal

Der Nettoprofi wächst um 117 Prozent. Auch beim Umsatz erzielt die Facebook-Mutter ein deutliches Plus.…

6 Tagen ago

Maximieren Sie Kundenzufriedenheit mit strategischem, kundenorientiertem Marketing

Vom Standpunkt eines Verbrauchers aus betrachtet, stellt sich die Frage: Wie relevant und persönlich sind…

6 Tagen ago