blob: 10902c7d9bd8e43f2a6a3fac0375c44121efe4c3 [file] [log] [blame]
/*
* DO NOT EDIT. THIS FILE IS GENERATED FROM e:/builds/tinderbox/XR-Trunk/WINNT_5.2_Depend/mozilla/modules/plugin/base/public/nsPIPluginHost.idl
*/
#ifndef __gen_nsPIPluginHost_h__
#define __gen_nsPIPluginHost_h__
#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif
#ifndef __gen_nsIPluginInstance_h__
#include "nsIPluginInstance.h"
#endif
/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
#include "nsPluginNativeWindow.h"
class nsIPluginInstanceOwner; /* forward declaration */
/* starting interface: nsPIPluginHost */
#define NS_PIPLUGINHOST_IID_STR "75d8fcd7-06d1-4767-9022-7f8dacf48a68"
#define NS_PIPLUGINHOST_IID \
{0x75d8fcd7, 0x06d1, 0x4767, \
{ 0x90, 0x22, 0x7f, 0x8d, 0xac, 0xf4, 0x8a, 0x68 }}
class NS_NO_VTABLE nsPIPluginHost : public nsISupports {
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_PIPLUGINHOST_IID)
/**
* To notify the plugin manager that the plugin created a script object
*/
/* void setIsScriptableInstance (in nsIPluginInstance aInstance, in boolean aScriptable); */
NS_IMETHOD SetIsScriptableInstance(nsIPluginInstance *aInstance, PRBool aScriptable) = 0;
/**
* This method parses post buffer to find out case insensitive "Content-length" string
* and CR or LF some where after that, then it assumes there is http headers in
* the input buffer and continue to search for end of headers (CRLFCRLF or LFLF).
* It will *always malloc()* output buffer (caller is responsible to free it)
* if input buffer starts with LF, which comes from 4.x spec
* http://developer.netscape.com/docs/manuals/communicator/plugin/pgfn2.htm#1007754
* "If no custom headers are required, simply add a blank
* line ('\n') to the beginning of the file or buffer.",
* it skips that '\n' and considers rest of the input buffer as data.
* If "Content-length" string and end of headers is found
* it substitutes single LF with CRLF in the headers, so the end of headers
* always will be CRLFCRLF (single CR in headers, if any, remain untouched)
* else
* it puts "Content-length: "+size_of_data+CRLFCRLF at the beginning of the output buffer
* and memcpy data to the output buffer
*
* On failure outPostData and outPostDataLen will be set in 0.
* @param aInPostData - the post data
* @param aInPostDataLen - the length aInPostData
* @param aOutPostData - the buffer
* @param aOutPostDataLen - the length of aOutPostData
**/
/* void parsePostBufferToFixHeaders (in string aInPostData, in unsigned long aInPostDataLen, out string aOutPostData, out unsigned long aOutPostDataLen); */
NS_IMETHOD ParsePostBufferToFixHeaders(const char *aInPostData, PRUint32 aInPostDataLen, char **aOutPostData, PRUint32 *aOutPostDataLen) = 0;
/**
* To create tmp file with Content len header in, it will use by http POST
*/
/* void createTmpFileToPost (in string aPostDataURL, out string aTmpFileName); */
NS_IMETHOD CreateTmpFileToPost(const char *aPostDataURL, char **aTmpFileName) = 0;
/**
* Creates a new plugin native window object
*/
/* void newPluginNativeWindow (out nsPluginNativeWindowPtr aPluginNativeWindow); */
NS_IMETHOD NewPluginNativeWindow(nsPluginNativeWindow * *aPluginNativeWindow) = 0;
/**
* Deletes plugin native window object created by NewPluginNativeWindow
*/
/* void deletePluginNativeWindow (in nsPluginNativeWindowPtr aPluginNativeWindow); */
NS_IMETHOD DeletePluginNativeWindow(nsPluginNativeWindow * aPluginNativeWindow) = 0;
/**
* Instantiate a "dummy" java plugin if a java plugin that supports
* NPRuntime is installed. This plugin is used for exposing
* window.java and window.Packages. If the java plugin supports
* NPRuntime and instantiation was successful, aOwners instance will
* be non-null, if not, it will be null.
*/
/* [noscript] void instantiateDummyJavaPlugin (in nsIPluginInstanceOwner aOwner); */
NS_IMETHOD InstantiateDummyJavaPlugin(nsIPluginInstanceOwner *aOwner) = 0;
/**
* Get the plugin name for the plugin instance.
*/
/* [noscript] void getPluginName (in nsIPluginInstance aInstance, out string aPluginName); */
NS_IMETHOD GetPluginName(nsIPluginInstance *aInstance, char **aPluginName) = 0;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsPIPluginHost, NS_PIPLUGINHOST_IID)
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSPIPLUGINHOST \
NS_IMETHOD SetIsScriptableInstance(nsIPluginInstance *aInstance, PRBool aScriptable); \
NS_IMETHOD ParsePostBufferToFixHeaders(const char *aInPostData, PRUint32 aInPostDataLen, char **aOutPostData, PRUint32 *aOutPostDataLen); \
NS_IMETHOD CreateTmpFileToPost(const char *aPostDataURL, char **aTmpFileName); \
NS_IMETHOD NewPluginNativeWindow(nsPluginNativeWindow * *aPluginNativeWindow); \
NS_IMETHOD DeletePluginNativeWindow(nsPluginNativeWindow * aPluginNativeWindow); \
NS_IMETHOD InstantiateDummyJavaPlugin(nsIPluginInstanceOwner *aOwner); \
NS_IMETHOD GetPluginName(nsIPluginInstance *aInstance, char **aPluginName);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSPIPLUGINHOST(_to) \
NS_IMETHOD SetIsScriptableInstance(nsIPluginInstance *aInstance, PRBool aScriptable) { return _to SetIsScriptableInstance(aInstance, aScriptable); } \
NS_IMETHOD ParsePostBufferToFixHeaders(const char *aInPostData, PRUint32 aInPostDataLen, char **aOutPostData, PRUint32 *aOutPostDataLen) { return _to ParsePostBufferToFixHeaders(aInPostData, aInPostDataLen, aOutPostData, aOutPostDataLen); } \
NS_IMETHOD CreateTmpFileToPost(const char *aPostDataURL, char **aTmpFileName) { return _to CreateTmpFileToPost(aPostDataURL, aTmpFileName); } \
NS_IMETHOD NewPluginNativeWindow(nsPluginNativeWindow * *aPluginNativeWindow) { return _to NewPluginNativeWindow(aPluginNativeWindow); } \
NS_IMETHOD DeletePluginNativeWindow(nsPluginNativeWindow * aPluginNativeWindow) { return _to DeletePluginNativeWindow(aPluginNativeWindow); } \
NS_IMETHOD InstantiateDummyJavaPlugin(nsIPluginInstanceOwner *aOwner) { return _to InstantiateDummyJavaPlugin(aOwner); } \
NS_IMETHOD GetPluginName(nsIPluginInstance *aInstance, char **aPluginName) { return _to GetPluginName(aInstance, aPluginName); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSPIPLUGINHOST(_to) \
NS_IMETHOD SetIsScriptableInstance(nsIPluginInstance *aInstance, PRBool aScriptable) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsScriptableInstance(aInstance, aScriptable); } \
NS_IMETHOD ParsePostBufferToFixHeaders(const char *aInPostData, PRUint32 aInPostDataLen, char **aOutPostData, PRUint32 *aOutPostDataLen) { return !_to ? NS_ERROR_NULL_POINTER : _to->ParsePostBufferToFixHeaders(aInPostData, aInPostDataLen, aOutPostData, aOutPostDataLen); } \
NS_IMETHOD CreateTmpFileToPost(const char *aPostDataURL, char **aTmpFileName) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateTmpFileToPost(aPostDataURL, aTmpFileName); } \
NS_IMETHOD NewPluginNativeWindow(nsPluginNativeWindow * *aPluginNativeWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->NewPluginNativeWindow(aPluginNativeWindow); } \
NS_IMETHOD DeletePluginNativeWindow(nsPluginNativeWindow * aPluginNativeWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->DeletePluginNativeWindow(aPluginNativeWindow); } \
NS_IMETHOD InstantiateDummyJavaPlugin(nsIPluginInstanceOwner *aOwner) { return !_to ? NS_ERROR_NULL_POINTER : _to->InstantiateDummyJavaPlugin(aOwner); } \
NS_IMETHOD GetPluginName(nsIPluginInstance *aInstance, char **aPluginName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPluginName(aInstance, aPluginName); }
#if 0
/* Use the code below as a template for the implementation class for this interface. */
/* Header file */
class _MYCLASS_ : public nsPIPluginHost
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSPIPLUGINHOST
_MYCLASS_();
private:
~_MYCLASS_();
protected:
/* additional members */
};
/* Implementation file */
NS_IMPL_ISUPPORTS1(_MYCLASS_, nsPIPluginHost)
_MYCLASS_::_MYCLASS_()
{
/* member initializers and constructor code */
}
_MYCLASS_::~_MYCLASS_()
{
/* destructor code */
}
/* void setIsScriptableInstance (in nsIPluginInstance aInstance, in boolean aScriptable); */
NS_IMETHODIMP _MYCLASS_::SetIsScriptableInstance(nsIPluginInstance *aInstance, PRBool aScriptable)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void parsePostBufferToFixHeaders (in string aInPostData, in unsigned long aInPostDataLen, out string aOutPostData, out unsigned long aOutPostDataLen); */
NS_IMETHODIMP _MYCLASS_::ParsePostBufferToFixHeaders(const char *aInPostData, PRUint32 aInPostDataLen, char **aOutPostData, PRUint32 *aOutPostDataLen)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void createTmpFileToPost (in string aPostDataURL, out string aTmpFileName); */
NS_IMETHODIMP _MYCLASS_::CreateTmpFileToPost(const char *aPostDataURL, char **aTmpFileName)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void newPluginNativeWindow (out nsPluginNativeWindowPtr aPluginNativeWindow); */
NS_IMETHODIMP _MYCLASS_::NewPluginNativeWindow(nsPluginNativeWindow * *aPluginNativeWindow)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void deletePluginNativeWindow (in nsPluginNativeWindowPtr aPluginNativeWindow); */
NS_IMETHODIMP _MYCLASS_::DeletePluginNativeWindow(nsPluginNativeWindow * aPluginNativeWindow)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* [noscript] void instantiateDummyJavaPlugin (in nsIPluginInstanceOwner aOwner); */
NS_IMETHODIMP _MYCLASS_::InstantiateDummyJavaPlugin(nsIPluginInstanceOwner *aOwner)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* [noscript] void getPluginName (in nsIPluginInstance aInstance, out string aPluginName); */
NS_IMETHODIMP _MYCLASS_::GetPluginName(nsIPluginInstance *aInstance, char **aPluginName)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* End of implementation class template. */
#endif
#endif /* __gen_nsPIPluginHost_h__ */