XPCOM-Komponenten mit Javascript

XPCOM-Komponenten (Cross Platform Component Object Model) funktionieren wie Microsoft COM-Komponenten: Die Kommunikation zwischen Client und der Komponente erfolgt über Schnittstellen (Interfaces). Die grundlegende Schnittstelle für XPCOM ist nsISupports. Mit Hilfe der Methode QueryInterface von nsISupports kann man die Informationen in Bezug auf spezielle Schnittstellen abrufen, also die Methoden und Eigenschaften, welche die Schnittstelle unterstützt.

Um die nsISupports-Schnittstelle zu implementieren, muss eine Javascript-XPCOM-Komponente die Interface Definition Language (IDL) verwenden. IDL-Dateien werden erstellt und zu XPT-Type-Libraries kompiliert. Der Komponenten-Registrar verwendet die Informationen in einer XPT-Datei zur Registrierung der Komponente für Mozilla. Sobald die Komponente erfolgreich registriert ist, kann man die XPCOM-Komponente in eigenem Programmcode verwenden.

Im folgenden Beispiel wird eine einfache XPCOM-Komponente mit Javascript erstellt, die eine Methode bereitstellt: reverseIt(). Diese Methode übernimmt einen String als Parameter und kehrt die Reihenfolge der Zeichen im String um.

Es gibt drei Schichten von Komponenten: die XPCOM-Objektschicht, die nsIFactory-Schicht und die nsIModule-Schicht. Die XPCOM-Objektschicht ist das Herzstück des Systems, hierhin gehört die Geschäftslogik. Die nsIFactory-Schicht ist die verantwortliche Schicht für die Instantiierung des XPCOM-Objekts. Die nsIModule-Schicht ist verantwortlich für die Registrierung und die Bereitstellung einer Abstraktion für die nsIFactory-Schicht. Jede dieser drei Schichten ist erforderlich, und jede Schicht verlangt bestimmte Methoden, wie man in Listing A sehen kann.

Listing A

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

3 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

4 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

4 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

4 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

5 Tagen ago

Hacker missbrauchen Google Calendar zum Angriff auf Postfächer

Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…

6 Tagen ago