The Mozilla
Organization
Our Mission
Who We Are
Getting Involved
Community
Editorials
What's New
Newsbot
Development
Roadmap
Module Owners
Blue Sky
Projects
Status
Tools
Products
Source Code
Binaries
Documentation
License Terms
Bug Reports
Quality
Search
Feedback

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.