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
Neueste Kommentare
Noch keine Kommentare zu XPCOM-Komponenten mit Javascript
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.