Zelf nsIProtocolHandler implementeren

Met extensies en thema's kun je Mozilla-software vrijwel eindeloos uitbreiden. Kun je anderen een bepaalde extensie/thema aanbevelen? Of heb je vragen over of problemen met een bepaalde extensie/thema dan kun je die hier plaatsen.
develyoy
Berichten: 1
Lid geworden op: 5 december 2008, 22:57
Locatie: Gentbrugge Belgie
    unknown unknown

Zelf nsIProtocolHandler implementeren

Bericht door develyoy »

Hallo,

Ik probeer nsIProtocolHandler te implementeren.
Ik heb al een nsIModule, een nsIFactory voor mijn nsIProtocolHandler, en die kan ik al starten en testen in mijn debugger.

In NewURI gebruik ik "@mozilla.org/network/standard-url;1" want ik heb niets bijzonder aan mijn URL's.

Dan is er nsIChannel. Ik veronderstel dat ik ook nsIInputStream ga moeten gebruiken, eventueel met een nsIInputStreamPump.

Ik heb al wat in de code van de protocols in firefox zitten neuzen (http, chrome, file) maar ik snap het nog niet helemaal. Ik vermoed dat *Async methods uiteindelijk een thread moeten starten, maar ik zit al een paar stappen ver in nsInputStreamPump.cpp om daar pas te leren dat er zoiets als nsIThread bestaat.

De module waar ik firefox support in bijbouw, doet al zelf uitgebreide thread-controle, dus is het voor mij geen probleem om zelf een thread te starten en een nsIInputStream aan te bieden. Alleen weet ik nog niet precies hoe.

Bestaat er ergens een uitleg over hoe je precies met OnStartRequest en OnDataAvailable moet werken om data te doen lezen van mijn nsIInputStream? Ik keek al op developer.mozilla.org en mxr.mozilla.org, maar daar vind ik veel, maar ik stop er behoorlijk veel tijd in om te zoeken hoe ik het zou moeten aanpakken.