gecko-dev/extensions/python/xpcom
mhammond%skippinet.com.au 509f0eeaee Don't keep the Python thread-lock - this prevents secondary threads from
starting.  Not part of the build.
2003-12-30 23:15:33 +00:00
..
client
doc
server Fix a bug when registering just a single component. Not part of the build. 2003-08-06 01:04:15 +00:00
src Don't keep the Python thread-lock - this prevents secondary threads from 2003-12-30 23:15:33 +00:00
test Fix errors with (and add tests for) unsigned long constants on solaris. 2003-08-08 00:51:40 +00:00
tools
__init__.py
.cvsignore
components.py
file.py
Makefile.in
nsError.py Convert constants from hex to dec, to prevent warnings in Python 2.3 2003-07-17 11:02:34 +00:00
readme.html
register.py
xpcom_consts.py
xpt.py

<html>
<!-- Copyright (c) 2000-2001 ActiveState Tool Corporation.
     See the file LICENSE.txt for licensing information. -->


<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Python XPCOM module</title>
</head>

<body>

<h1>Python XPCOM Package</h1>

<p>Mozilla CVS Version - Last updated May 2002</p>
<p>This is the readme for the Python interface to <b>XPCOM</b>.</p>
<p><b>XPCOM </b>is an acronym for &quot;Cross Platform COM&quot;.&nbsp; It has
come out of the <a href="http://www.mozilla.org">Mozilla</a>  project, which
maintains the <a href="http://www.mozilla.org/projects/xpcom/">main XPCOM
project pages.</a>&nbsp; The Python XPCOM package is a set of Python bindings to
XPCOM, allowing a Python programmer to both use and implement XPCOM
interfaces.&nbsp; If you don't know what <a href="http://www.python.org">Python</a>
is, then none of this probably interests you at all!</p>
<p>This readme has links to the following information:</p>
<ul>
  <li><a href="doc/configure.html">Building, Configuring and
   Testing the Python
    XPCOM Package</a></li>
  <li><a href="doc/tutorial.html">A tutorial for the Python XPCOM package</a></li>
  <li>Some <a href="doc/advanced.html">advanced
    topics and other miscellaneous information</a></li>
  <li><a href="doc/architecture.html">Information on the architecture</a></li>
  <li>A list of the <a href="#KnownBugs">known issues and bugs</a>, the <a href="#ReleaseHistory">release
    history</a> and the <a href="doc/credits.html">PyXPCOM acknowledgements</a></li>
</ul>
<p>Note: <b>This package requires Python 1.6 or later</b>; we recommend using
the latest
official Python version.&nbsp; This package works
very well with the latest <a href="http://www.ActiveState.com/Products/ActivePython">ActivePython</a>,
and does not require any external modules or packages beyond what is provided in
the core Python release for each platform.</p>
<h2>About the Python XPCOM Package</h2>
<p>The Python XPCOM Package was developed by <a href="http://www.ActiveState.com">ActiveState
Tool Corporation</a>, and came out of their <a href="http://www.ActiveState.com/Products/Komodo">Komodo
project</a>.&nbsp; The Python XPCOM package is released under the <a href="http://www.mozilla.org/MPL/">Mozilla
Public License (MPL)</a></p>
<p>Please see the <a href="doc/credits.html">credits file</a> for a list of
contributors. </p>
<h2><a name="KnownBugs">Known Bugs</a>/Issues</h2>
<ul>
  <li>No attempt is made to recurse sub-directories of the main
&quot;components&quot; directory.&nbsp; This is because we may decide on some
smart scheme for recursion (similar to Python packages), and don't want people
to rely on simple recursive searches.</li>
  <li>No unregistration support at all.&nbsp;The main Python Component Loader supports
    unregistration, but the actual Python objects themselves do not support unregistration.&nbsp;It is unclear if the Component Loader
    unregistration process needs to manually remove each component it is responsible
for.</li>
  <li>All Python-implemented components unconditionally support
weak-references.&nbsp; There is no way to disable this feature for any or all
components.&nbsp; It is unclear if there is a need to prevent this, but it is
documented here just in case!</li>
</ul>
<h2><a name="ReleaseHistory">Release History</a></h2>
<h3>Version 0.90 - January 2001</h3>
<ul>
  <li>First public release.</li>
</ul>
<h3>Version 0.91 - January 2001</h3>
<ul>
  <li>Fix a seg fault on Linux when PYTHONPATH is not set.</li>
  <li>Changes to allow building with stand-alone XPCOM.</li>
</ul>

<h3>Version 0.92 - May 2001</h3>
<p>Implement interface flattening.&nbsp; You should (almost) never need to use <i>QueryInterface()</i>!&nbsp;
We are still 100% backwards compatible, so usage of QI still works - just is
generally not necessary.</p>

<h3>Version 0.93 - May 2002</h3>

<p>Implement <i>nsIVariant</i> and all new string types.&nbsp; Complete move to
autoconf build system.</p>

</body>

</html>