The Mozilla
Organization
At A Glance
Feedback
Get Involved
Newsgroups
License Terms
Newsbot
Developer Docs
Roadmap
Projects
Ports
Module Owners
Hacking
Get the Source
Build It
Testing
Download
Bugzilla
Bug Writing
Tools
View Source
Tree Status
New Checkins
Submit A Bug
FAQ
Search

Introduction to OJI Internals

Purpose of this Document

What You Need to Implement

Sample Implementation Framework

    This section lists sample class definitions and the appropriate mozilla inheritences for each class. You must implement these interfaces in addition to the above mentioned NS* functions in order to implement a Java Plugin.
    /**
    
     * Responsible for creating an instance of the Java Plugin.
    
     */
    
    class JavaPluginFactory : public nsIJVMPlugin, public nsIPlugin
    {
    };
    	

    /**
    
     * The actual java plugin instance.  
    
     */
    
    class JavaPlugin : public nsIJVMPluginInstance, public nsIPluginInstance 
    {
    };
    	

    
    /**
    
     * Instances of this class come from the nsIJVMPlugin instance.  
     * This class provides a secure version of the JNIEnv class, from 
     * Sun's JNI.  There is a 1:1 mapping of methods in this class and
     * methods in JNI.
    
     */
    
    class SecureJNIEnv : public nsISecureEnv
    {
    };
    	

    /**
    
     * Allow mozilla to pop up or hide a console that displays the console
     * output from the java plugin.
    
     */
    
    class JavaConsole : public nsIJVMConsole
    {
    };
    	

    /**
    
     * Allow mozilla to pop up or hide a window that allows the user to
     * control settings of the Java plugin.
    
     */
    
    class JavaPrefsWindow : public nsIJVMPrefsWindow
    {
    };
    	

    /**
    
     * 
    PENDING(edburns): not sure why the plugin needs to implement this. */ class PluginInstancePeer : public nsIPluginInstancePeer, public nsIPluginTagInfo { };

    /**
    
     * 
    PENDING(edburns): not sure why the plugin needs to implement this. */ class PluginManager : public nsIPluginManager { };

    /**
    
     * Allows mozilla to gain information about streams for this plugin
     * 
    PENDING(edburns): not sure why the plugin needs to implement this. */ class PluginStreamInfo : public nsIPluginStreamInfo { };

    /**
    
     * Methods that get called by mozilla for various stream events.
    
     */
    class PluginStreamListener : public nsIPluginStreamListener 
    {
    };
    	


Last modified: Sat Aug 28 23:54:22 Pacific Daylight Time 1999
Copyright © 1998-1999 The Mozilla Organization.
Last modified August 29, 1999.