зеркало из https://github.com/mozilla/gecko-dev.git
93 строки
2.1 KiB
Plaintext
93 строки
2.1 KiB
Plaintext
|
TODO
|
||
|
====
|
||
|
|
||
|
(By no means complete ...)
|
||
|
|
||
|
Configuration
|
||
|
-------------
|
||
|
|
||
|
-- *GET XPCTest WORKING*. For some reason, the JDK 1.2 JVM on Solaris
|
||
|
won't load libxpcom.so correctly, even if it's on LD_LIBRARY_PATH. I
|
||
|
have yet to confirm whether this is a problem on Linux or NT.
|
||
|
[Done 13 Aug 1999]
|
||
|
|
||
|
-- Make Java compilation work correctly on Unix/Linux.
|
||
|
|
||
|
-- Better integration with Mozilla makefile/autoconf system.
|
||
|
|
||
|
-- Move XPCOM startup code to test programs.
|
||
|
|
||
|
-- Integrate into Java Plugin and test.
|
||
|
|
||
|
-- File and function renaming, to prevent conflicts and increase modularity.
|
||
|
|
||
|
|
||
|
Registration and Activation
|
||
|
---------------------------
|
||
|
|
||
|
-- Insure JNI libraries load and unload, even within JNI plugin
|
||
|
|
||
|
-- Derive proxy class from IID, and vice-versa
|
||
|
|
||
|
-- Generate static proxies (using genproxy)
|
||
|
|
||
|
-- Generate and load "on-the-fly" bytecode for proxy classes.
|
||
|
|
||
|
|
||
|
Marshalling
|
||
|
-----------
|
||
|
|
||
|
-- Verify nsID parameters are marshalled correctly.
|
||
|
|
||
|
-- Unwrap proxies used as "in" parameters.
|
||
|
|
||
|
-- Wrap "out" XPCOM objects in correct wrapper class. [dep: Proxy Generation]
|
||
|
|
||
|
-- Build C++ stubs for Java-implemented XPCOM objects. [big task?]
|
||
|
|
||
|
-- [Future] Allow mapping from native concrete type to Java types
|
||
|
|
||
|
-- [Future] Efficient handling of attributes and 0- or 1-arg methods.
|
||
|
|
||
|
-- [Future] Reflection API (if Java's is insufficient)
|
||
|
|
||
|
|
||
|
NSRESULTs
|
||
|
---------
|
||
|
|
||
|
-- Throw exceptions for error codes
|
||
|
|
||
|
-- Design and implement "success code mechanism", for single-threaded case
|
||
|
|
||
|
-- Store success codes per thread, and retrieve for current threads.
|
||
|
|
||
|
|
||
|
API
|
||
|
---
|
||
|
|
||
|
-- Write proxy for ns[I]ComponentManager, by hand. (For performance,
|
||
|
and because of the overloaded methods and lack of XPT.)
|
||
|
|
||
|
-- Write proxy for ns[I]ServiceManager, similar to above.
|
||
|
|
||
|
-- Throw exceptions for unknown or missing proxy classes (and other errors).
|
||
|
|
||
|
-- Implement XPCOM identity rules
|
||
|
|
||
|
-- Document (including Javadoc)
|
||
|
|
||
|
|
||
|
Memory Management
|
||
|
-----------------
|
||
|
|
||
|
-- Insure that temporary heap memory (esp. strings and nsIDs) is
|
||
|
recycled.
|
||
|
|
||
|
-- Insure reference-counting rules aren't violated.
|
||
|
|
||
|
-- Cache previously allocated wrapper objects, to prevent unnecessary
|
||
|
allocation.
|
||
|
|
||
|
-- Thread-safe object release
|
||
|
|