Compare Revisions

Creating a Python XPCOM component

Change Revisions

Revision 127030:

Revision 127030 by Ssmedberg on

Revision 127031:

Revision 127031 by Ssmedberg on

Title:
Creating a Python XPCOM component
Creating a Python XPCOM component
Slug:
Creating_a_Python_XPCOM_component
Creating_a_Python_XPCOM_component
Tags:
NeedsHelp, NeedsEditorialReview, PyXPCOM, "MDC Project", "XPCOM:Language Bindings"
NeedsHelp, NeedsEditorialReview, PyXPCOM, "MDC Project", "XPCOM:Language Bindings"
Content:

Revision 127030
Revision 127031
n71      (this is the same as the nsISimple interface used <a class=n71      This is the same as the <code>nsISimple</code> interface us
>"external" href="http://books.mozdev.org/html/mozilla-chp-8-sect->ed <a class="external" href="http://books.mozdev.org/html/mozilla
>2.html">here</a> ; theoretically we could use the same file, as w>-chp-8-sect-2.html">here</a> . Theoretically, because several com
>e can have several components sharing an interface)>ponents can share an interface, the same file could be used.
n74      You should pay special attention to types here - Python andn74      Pay special attention to types here - Python and JavaScript
> JavaScript are both loosely-typed, so it's fairly easy to expect> are both loosely-typed, so it's fairly easy to pass information 
> to be able to pass anything from one to the other. I got bit by >from one to the other.
>that one, sending a unicode string from javascript and expecting  
>to receive a unicode string in Python, whereas only a "string" wa 
>s defined in the interface file (use a wstring if you want unicod 
>e. See <a class="external" href="http://aspn.activestate.com/ASPN 
>/Mail/Message/pyxpcom/2484414">this discussion</a> for a bit of i 
>nfo on unicode and javascript). 
n77      See <a class="external" href="http://www.mozilla.org/scriptn77      Note: There are exceptions; see <a class="external" href="h
>able/xpidl/idl-authors-guide/rules.html">here</a> for info on des>ttp://aspn.activestate.com/ASPN/Mail/Message/pyxpcom/2484414">thi
>cribing interfaces, and on which types can be used.>s discussion</a> for information on the use of <code>string</code
 >> and <code>wstring</code> for unicode transfer. See <a class="ex
 >ternal" href="http://www.mozilla.org/scriptable/xpidl/idl-authors
 >-guide/rules.html">here</a> for info on describing interfaces, an
 >d on which types can be used.
t89      xpidl will then create nsIPySimple.xpt (which has to be in t89      xpidl will then create nsIPySimple.xptwhich should be pla
>the right place, for example in the "components" directory).>ced correctly, (e.g. in the "components" directory).

Back to History