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

Black Friday: Vorsicht vor schädlichen QR-Codes

Bösartige QR-Codes, die per E-Mail versendet werden, eignen sich sehr gut, um Spam-Filter zu umgehen.

10 Stunden ago

Black Friday: Zahl der ominösen Shopping-Websites steigt

Unsichere Websites und Phishing-Mails in Verbindung mit Black Friday können kauffreudigen Konsumenten zum Verhängnis werden.

10 Stunden ago

SmokeBuster bekämpft SmokeLoader

Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.

17 Stunden ago

Taugen Kryptowährungen als Unterstützer der Energiewende?

Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.

1 Tag ago

Supercomputer-Ranking: El Capitan überholt Frontier und Aurora

Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…

2 Tagen ago

Ionos führt neue AMD-Prozessoren ein

Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…

2 Tagen ago