1
/* ***** BEGIN LICENSE BLOCK *****
2
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
4
* The contents of this file are subject to the Mozilla Public License Version
5
* 1.1 (the "License"); you may not use this file except in compliance with
6
* the License. You may obtain a copy of the License at
7
* http://www.mozilla.org/MPL/
9
* Software distributed under the License is distributed on an "AS IS" basis,
10
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11
* for the specific language governing rights and limitations under the
14
* The Original Code is the MRJ Carbon OJI Plugin.
16
* The Initial Developer of the Original Code is
17
* Netscape Communications Corp.
18
* Portions created by the Initial Developer are Copyright (C) 2001
19
* the Initial Developer. All Rights Reserved.
22
* Patrick C. Beard <beard@netscape.com>
24
* Alternatively, the contents of this file may be used under the terms of
25
* either of the GNU General Public License Version 2 or later (the "GPL"),
26
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27
* in which case the provisions of the GPL or the LGPL are applicable instead
28
* of those above. If you wish to allow use of your version of this file only
29
* under the terms of either the GPL or the LGPL, and not to allow others to
30
* use your version of this file under the terms of the MPL, indicate your
31
* decision by deleting the provisions above and replace them with the notice
32
* and other provisions required by the GPL or the LGPL. If you do not delete
33
* the provisions above, a recipient may use your version of this file under
34
* the terms of any one of the MPL, the GPL or the LGPL.
36
* ***** END LICENSE BLOCK ***** */
44
#include "nsIPluginStreamListener.h"
52
class MRJPluginInstance;
54
class JSEvaluator : public nsIPluginStreamListener {
58
JSEvaluator(MRJPluginInstance* pluginInstance);
59
virtual ~JSEvaluator();
61
const char* eval(const char* script);
63
const char* getResult()
68
// nsIPluginStreamListener implementation.
71
* Notify the observer that the URL has started to load. This method is
72
* called only once, at the beginning of a URL load.<BR><BR>
74
* @return The return value is currently ignored. In the future it may be
75
* used to cancel the URL load..
78
OnStartBinding(nsIPluginStreamInfo* pluginInfo)
84
* Notify the client that data is available in the input stream. This
85
* method is called whenver data is written into the input stream by the
86
* networking library...<BR><BR>
88
* @param aIStream The input stream containing the data. This stream can
89
* be either a blocking or non-blocking stream.
90
* @param length The amount of data that was just pushed into the stream.
91
* @return The return value is currently ignored.
94
OnDataAvailable(nsIPluginStreamInfo* pluginInfo, nsIInputStream* input, PRUint32 length);
97
OnFileAvailable(nsIPluginStreamInfo* pluginInfo, const char* fileName)
99
return NS_ERROR_NOT_IMPLEMENTED;
103
* Notify the observer that the URL has finished loading. This method is
104
* called once when the networking library has finished processing the
105
* URL transaction initiatied via the nsINetService::Open(...) call.<BR><BR>
107
* This method is called regardless of whether the URL loaded successfully.<BR><BR>
109
* @param status Status code for the URL load.
110
* @param msg A text string describing the error.
111
* @return The return value is currently ignored.
114
OnStopBinding(nsIPluginStreamInfo* pluginInfo, nsresult status);
117
* What is this method supposed to do?
120
GetStreamType(nsPluginStreamType *result)
122
*result = nsPluginStreamType_Normal;
127
MRJPluginInstance* mPluginInstance;
128
MRJSession* mSession;
129
MRJMonitor* mJSMonitor;