mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-05 08:35:26 +00:00
93 lines
2.1 KiB
Plaintext
93 lines
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
|
|
|