16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync<!-- ***** BEGIN LICENSE BLOCK *****
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - The contents of this file are subject to the Mozilla Public License Version
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - 1.1 (the "License"); you may not use this file except in compliance with
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - the License. You may obtain a copy of the License at
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - Software distributed under the License is distributed on an "AS IS" basis,
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - for the specific language governing rights and limitations under the
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - The Original Code is PyXPCOM.
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - The Initial Developer of the Original Code is
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - ActiveState Tool Corporation.
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - Portions created by the Initial Developer are Copyright (C) 2000-2001
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - the Initial Developer. All Rights Reserved.
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - Contributor(s):
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - Alternatively, the contents of this file may be used under the terms of
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - either the GNU General Public License Version 2 or later (the "GPL"), or
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - in which case the provisions of the GPL or the LGPL are applicable instead
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - of those above. If you wish to allow use of your version of this file only
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - under the terms of either the GPL or the LGPL, and not to allow others to
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - use your version of this file under the terms of the MPL, indicate your
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - decision by deleting the provisions above and replace them with the notice
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - and other provisions required by the LGPL or the GPL. If you do not delete
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - the provisions above, a recipient may use your version of this file under
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - the terms of any one of the MPL, the GPL or the LGPL.
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync - ***** END LICENSE BLOCK ***** -->
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync<meta name="ProgId" content="FrontPage.Editor.Document">
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync<p>This is the readme for the Python interface to <b>XPCOM</b>.</p>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync<p><b>XPCOM </b>is an acronym for "Cross Platform COM". It has
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsynccome out of the <a href="http://www.mozilla.org">Mozilla</a> project, which
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncmaintains the <a href="http://www.mozilla.org/projects/xpcom/">main XPCOM
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncproject pages.</a> The Python XPCOM package is a set of Python bindings to
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncXPCOM, allowing a Python programmer to both use and implement XPCOM
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncinterfaces. If you don't know what <a href="http://www.python.org">Python</a>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncis, then none of this probably interests you at all!</p>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync<p>This readme has links to the following information:</p>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync <li><a href="doc/configure.html">Building, Configuring and
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync Testing the Python
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync <li><a href="doc/tutorial.html">A tutorial for the Python XPCOM package</a></li>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync topics and other miscellaneous information</a></li>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync <li><a href="doc/architecture.html">Information on the architecture</a></li>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync <li>A list of the <a href="#KnownBugs">known issues and bugs</a>, the <a href="#ReleaseHistory">release
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync history</a> and the <a href="doc/credits.html">PyXPCOM acknowledgements</a></li>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync<p>Note: <b>This package requires Python 1.6 or later</b>; we recommend using
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncofficial Python version. This package works
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncvery well with the latest <a href="http://www.ActiveState.com/Products/ActivePython">ActivePython</a>,
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncand does not require any external modules or packages beyond what is provided in
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncthe core Python release for each platform.</p>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync<p>The Python XPCOM Package was developed by <a href="http://www.ActiveState.com">ActiveState
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncTool Corporation</a>, and came out of their <a href="http://www.ActiveState.com/Products/Komodo">Komodo
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncproject</a>. The Python XPCOM package is released under the <a href="http://www.mozilla.org/MPL/">Mozilla
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync<p>Please see the <a href="doc/credits.html">credits file</a> for a list of
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsynccontributors. </p>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync <li>No attempt is made to recurse sub-directories of the main
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync"components" directory. This is because we may decide on some
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncsmart scheme for recursion (similar to Python packages), and don't want people
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncto rely on simple recursive searches.</li>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync <li>No unregistration support at all. The main Python Component Loader supports
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync unregistration, but the actual Python objects themselves do not support unregistration. It is unclear if the Component Loader
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync unregistration process needs to manually remove each component it is responsible
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync <li>All Python-implemented components unconditionally support
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncweak-references. There is no way to disable this feature for any or all
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsynccomponents. It is unclear if there is a need to prevent this, but it is
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncdocumented here just in case!</li>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync<h2><a name="ReleaseHistory">Release History</a></h2>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync <li>Fix a seg fault on Linux when PYTHONPATH is not set.</li>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync <li>Changes to allow building with stand-alone XPCOM.</li>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync<p>Implement interface flattening. You should (almost) never need to use <i>QueryInterface()</i>!
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncWe are still 100% backwards compatible, so usage of QI still works - just is
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncgenerally not necessary.</p>
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsync<p>Implement <i>nsIVariant</i> and all new string types. Complete move to
16a8d09569a2ebd598cef72fa605be6fb4563607vboxsyncautoconf build system.</p>