*not part of the build*

scriptable wrappers for plugin API
a=sep@sparc.spb.su


git-svn-id: svn://10.0.0.236/trunk@98793 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
idk%eng.sun.com
2001-07-06 06:45:11 +00:00
parent 06d7c27a90
commit 544599af51
50 changed files with 3065 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
# Serge Pikalev <sep@sparc.spb.su>
#
DEPTH = ../../../..
topsrcdir = ../../../..
srcdir = .
VPATH = .
include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/config.mk
CPPSRCS = \
nsXPIDLPlugin.cpp \
nsXPIDLPluginInstance.cpp \
nsXPIDLPluginStreamListener.cpp \
nsXPIDLPluginManager.cpp \
nsXPIDLPluginManager2.cpp \
nsXPIDLPluginInstancePeer.cpp \
nsXPIDLPluginTagInfo.cpp \
nsXPIDLPluginTagInfo2.cpp \
nsXPIDLPluginStreamInfo.cpp \
nsXPIDLInputStream.cpp \
nsXPIDLOutputStream.cpp \
$(NULL)
DSO_LDOPTS += \
$(XPCOM_LIBS) \
$(NSPR_LIBS) \
$(NULL)
include $(topsrcdir)/config/rules.mk
TARGETS = $(OBJS)
export:: $(TARGETS)

View File

@@ -0,0 +1,59 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
# Serge Pikalev <sep@sparc.spb.su>
#
DEPTH = ../../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/config.mk
CPPSRCS = \
nsXPIDLPlugin.cpp \
nsXPIDLPluginInstance.cpp \
nsXPIDLPluginStreamListener.cpp \
nsXPIDLPluginManager.cpp \
nsXPIDLPluginManager2.cpp \
nsXPIDLPluginInstancePeer.cpp \
nsXPIDLPluginTagInfo.cpp \
nsXPIDLPluginTagInfo2.cpp \
nsXPIDLPluginStreamInfo.cpp \
nsXPIDLInputStream.cpp \
nsXPIDLOutputStream.cpp \
$(NULL)
DSO_LDOPTS += \
$(XPCOM_LIBS) \
$(NSPR_LIBS) \
$(NULL)
include $(topsrcdir)/config/rules.mk
TARGETS = $(OBJS)
export:: $(TARGETS)

View File

@@ -0,0 +1,63 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#include "nsXPIDLInputStream.h"
#include "nsIInputStream.h"
NS_IMPL_ISUPPORTS1(nsXPIDLInputStream, nsIXPIDLInputStream)
nsXPIDLInputStream::nsXPIDLInputStream()
{
NS_INIT_ISUPPORTS();
}
nsXPIDLInputStream::nsXPIDLInputStream( nsIInputStream *inputStream )
{
NS_INIT_ISUPPORTS();
this->inputStream = inputStream;
NS_ADDREF( inputStream );
}
nsXPIDLInputStream::~nsXPIDLInputStream()
{
NS_RELEASE( inputStream );
}
NS_IMETHODIMP
nsXPIDLInputStream::Close()
{
return inputStream->Close();
}
NS_IMETHODIMP
nsXPIDLInputStream::Available( PRUint32 *_retval )
{
return inputStream->Available( _retval );
}
NS_IMETHODIMP
nsXPIDLInputStream::Read( PRUint32 count,
PRUint8 *buf,
PRUint32 *_retval )
{
return inputStream->Read( (char *)buf, count, _retval );
}

View File

@@ -0,0 +1,42 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#ifndef _nsXPIDLInputStream_included_
#define _nsXPIDLInputStream_included_
#include "nsIXPIDLInputStream.h"
#include "nsIInputStream.h"
class nsXPIDLInputStream : public nsIXPIDLInputStream
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIXPIDLINPUTSTREAM
nsXPIDLInputStream();
nsXPIDLInputStream( nsIInputStream *inputStream );
virtual ~nsXPIDLInputStream();
nsIInputStream *inputStream;
};
#endif // _nsXPIDLInputStream_included_

View File

@@ -0,0 +1,62 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#include "nsXPIDLOutputStream.h"
NS_IMPL_ISUPPORTS1(nsXPIDLOutputStream, nsIXPIDLOutputStream)
nsXPIDLOutputStream::nsXPIDLOutputStream()
{
NS_INIT_ISUPPORTS();
}
nsXPIDLOutputStream::nsXPIDLOutputStream( nsIOutputStream *outputStream )
{
NS_INIT_ISUPPORTS();
this->outputStream = outputStream;
NS_ADDREF( outputStream );
}
nsXPIDLOutputStream::~nsXPIDLOutputStream()
{
NS_RELEASE( outputStream );
}
NS_IMETHODIMP
nsXPIDLOutputStream::Close()
{
return outputStream->Close();
}
NS_IMETHODIMP
nsXPIDLOutputStream::Flush()
{
return outputStream->Flush();
}
NS_IMETHODIMP
nsXPIDLOutputStream::Write( PRUint32 count,
PRUint8 *buf,
PRUint32 *_retval )
{
return outputStream->Write( (char *)buf, count, _retval );
}

View File

@@ -0,0 +1,42 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#ifndef _nsXPIDLOutputStream_included_
#define _nsXPIDLOutputStream_included_
#include "nsIXPIDLOutputStream.h"
#include "nsIOutputStream.h"
class nsXPIDLOutputStream : public nsIXPIDLOutputStream
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIXPIDLOUTPUTSTREAM
nsXPIDLOutputStream();
nsXPIDLOutputStream( nsIOutputStream *outputStream );
virtual ~nsXPIDLOutputStream();
nsIOutputStream *outputStream;
};
#endif // _nsXPIDLOutputStream_included_

View File

@@ -0,0 +1,64 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#include "nsIPlugin.h"
#include "nsXPIDLPlugin.h"
NS_IMPL_ISUPPORTS1(nsXPIDLPlugin, nsIPlugin)
nsXPIDLPlugin::nsXPIDLPlugin()
{
NS_INIT_ISUPPORTS();
}
nsXPIDLPlugin::nsXPIDLPlugin( nsIXPIDLPlugin *plugin )
{
NS_INIT_ISUPPORTS();
this->plugin = plugin;
NS_ADDREF( plugin );
}
nsXPIDLPlugin::~nsXPIDLPlugin()
{
NS_RELEASE( plugin );
}
NS_IMETHODIMP
nsXPIDLPlugin::CreatePluginInstance( nsISupports *aOuter,
REFNSIID aIID,
const char* aPluginMIMEType,
void **aResult )
{
return plugin->CreatePluginInstance( aOuter, aIID, aPluginMIMEType, aResult );
}
NS_IMETHODIMP
nsXPIDLPlugin::Initialize()
{
return plugin->Initialize();
}
NS_IMETHODIMP
nsXPIDLPlugin::Shutdown()
{
return plugin->Shutdown();
}

View File

@@ -0,0 +1,51 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#ifndef _nsXPIDLPlugin_included_
#define _nsXPIDLPlugin_included_
#include "nsIPlugin.h"
#include "nsIXPIDLPlugin.h"
class nsXPIDLPlugin : public nsIPlugin
{
public:
NS_DECL_ISUPPORTS
// NS_DECL_NSIXPIDLPLUGIN
nsXPIDLPlugin();
nsXPIDLPlugin( nsIXPIDLPlugin *plugin );
virtual ~nsXPIDLPlugin();
nsIXPIDLPlugin *plugin;
// from nsIPlugin
NS_IMETHODIMP CreatePluginInstance( nsISupports *aOuter,
REFNSIID aIID,
const char* aPluginMIMEType,
void **aResult );
NS_IMETHODIMP Initialize();
NS_IMETHODIMP Shutdown();
};
#endif // _nsIXPIDLPlugin_included_

View File

@@ -0,0 +1,77 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#include "nsIPluginInstance.h"
#include "nsXPIDLPluginInstance.h"
NS_IMPL_ISUPPORTS1(nsXPIDLPluginInstance, nsIPluginInstance)
nsXPIDLPluginInstance::nsXPIDLPluginInstance()
{
NS_INIT_ISUPPORTS();
}
nsXPIDLPluginInstance::nsXPIDLPluginInstance( nsIXPIDLPluginInstance *pluginInstance )
{
NS_INIT_ISUPPORTS();
this->pluginInstance = pluginInstance;
NS_ADDREF( pluginInstance );
}
nsXPIDLPluginInstance::~nsXPIDLPluginInstance()
{
NS_RELEASE( pluginInstance );
}
NS_IMETHODIMP
nsXPIDLPluginInstance::Destroy()
{
return pluginInstance->Destroy();
}
NS_IMETHODIMP
nsXPIDLPluginInstance::Initialize( nsIPluginInstancePeer *peer )
{
nsIXPIDLPluginInstancePeer *instPeer = new nsXPIDLPluginInstancePeer( peer );
return pluginInstance->Initialize( instPeer );
}
NS_IMETHODIMP
nsXPIDLPluginInstance::NewStream( nsIPluginStreamListener **_retval )
{
nsIXPIDLPluginStreamListener **sListener;
nsresult res = pluginInstance->NewStream( sListener );
*_retval = new nsXPIDLPluginStreamListener( *sListener );
return res;
}
NS_IMETHODIMP
nsXPIDLPluginInstance::Start()
{
return pluginInstance->Start();
}
NS_IMETHODIMP
nsXPIDLPluginInstance::Stop()
{
return pluginInstance->Stop();
}

View File

@@ -0,0 +1,54 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#ifndef _nsXPIDLPluginInstance_included_
#define _nsXPIDLPluginInstance_included_
#include "nsIPluginInstance.h"
#include "nsIXPIDLPluginInstance.h"
#include "nsIPluginInstancePeer.h"
#include "nsXPIDLPluginInstancePeer.h"
#include "nsIPluginStreamListener.h"
#include "nsXPIDLPluginStreamListener.h"
class nsXPIDLPluginInstance : public nsIPluginInstance
{
public:
NS_DECL_ISUPPORTS
// NS_DECL_NSIXPIDLPLUGININSTANCE
nsXPIDLPluginInstance();
nsXPIDLPluginInstance( nsIXPIDLPluginInstance *pluginInstance );
virtual ~nsXPIDLPluginInstance();
nsIXPIDLPluginInstance *pluginInstance;
// from nsIPluginInstance
NS_IMETHODIMP Destroy();
NS_IMETHODIMP Initialize( nsIPluginInstancePeer *peer );
NS_IMETHODIMP NewStream( nsIPluginStreamListener **_retval );
NS_IMETHODIMP Start();
NS_IMETHODIMP Stop();
};
#endif // _nsXPIDLPluginInstance_included_

View File

@@ -0,0 +1,105 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#include "nsIPluginInstancePeer.h"
#include "nsXPIDLPluginInstancePeer.h"
#include "nsIOutputStream.h"
#include "nsXPIDLOutputStream.h"
#include "nsIPluginTagInfo2.h"
#include "nsXPIDLPluginTagInfo2.h"
NS_IMPL_ISUPPORTS1(nsXPIDLPluginInstancePeer, nsIXPIDLPluginInstancePeer)
nsXPIDLPluginInstancePeer::nsXPIDLPluginInstancePeer()
{
NS_INIT_ISUPPORTS();
}
nsXPIDLPluginInstancePeer::nsXPIDLPluginInstancePeer( nsIPluginInstancePeer *pluginInstancePeer )
{
NS_INIT_ISUPPORTS();
this->pluginInstancePeer = pluginInstancePeer;
NS_ADDREF( pluginInstancePeer );
}
nsXPIDLPluginInstancePeer::~nsXPIDLPluginInstancePeer()
{
NS_RELEASE( pluginInstancePeer );
}
NS_IMETHODIMP
nsXPIDLPluginInstancePeer::GetMIMEType( char * *aMIMEType )
{
nsMIMEType *mimeType = (nsMIMEType *)aMIMEType;
return pluginInstancePeer->GetMIMEType( mimeType );
}
NS_IMETHODIMP
nsXPIDLPluginInstancePeer::GetMode( PRUint32 *aMode )
{
nsPluginMode *mode = (nsPluginMode *)aMode;
return pluginInstancePeer->GetMode( mode );
}
NS_IMETHODIMP
nsXPIDLPluginInstancePeer::GetTagInfo( nsIXPIDLPluginTagInfo2 * *aTagInfo )
{
nsIPluginTagInfo2 *tagInfo;
nsresult res = pluginInstancePeer->QueryInterface( NS_GET_IID(nsIPluginTagInfo2), (void **)&tagInfo );
if( NS_FAILED(res) ) {
*aTagInfo = NULL;
return res;
}
*aTagInfo = new nsXPIDLPluginTagInfo2( tagInfo );
return res;
}
NS_IMETHODIMP
nsXPIDLPluginInstancePeer::GetValue( PRInt32 variable, char **_retval )
{
nsPluginInstancePeerVariable var = (nsPluginInstancePeerVariable)variable;
return pluginInstancePeer->GetValue( var, (void *)*_retval );
}
NS_IMETHODIMP
nsXPIDLPluginInstancePeer::NewStream( const char *type,
const char *target,
nsIXPIDLOutputStream **_retval )
{
nsIOutputStream **oStream;
nsresult nsRes = pluginInstancePeer->NewStream( type, target, oStream );
*_retval = new nsXPIDLOutputStream( *oStream );
return nsRes;
}
NS_IMETHODIMP
nsXPIDLPluginInstancePeer::SetWindowSize( PRUint32 width, PRUint32 height )
{
return pluginInstancePeer->SetWindowSize( width, height );
}
NS_IMETHODIMP
nsXPIDLPluginInstancePeer::ShowStatus( const char *message )
{
return pluginInstancePeer->ShowStatus( message );
}

View File

@@ -0,0 +1,42 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#ifndef _nsXPIDLPluginInstancePeer_included_
#define _nsXPIDLPluginInstancePeer_included_
#include "nsIXPIDLPluginInstancePeer.h"
#include "nsIPluginInstancePeer.h"
class nsXPIDLPluginInstancePeer : public nsIXPIDLPluginInstancePeer
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIXPIDLPLUGININSTANCEPEER
nsXPIDLPluginInstancePeer();
nsXPIDLPluginInstancePeer( nsIPluginInstancePeer *pluginInstancePeer );
virtual ~nsXPIDLPluginInstancePeer();
nsIPluginInstancePeer *pluginInstancePeer;
};
#endif // _nsXPIDLPluginInstancePeer_included_

View File

@@ -0,0 +1,106 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#include "nsIPluginManager.h"
#include "nsXPIDLPluginManager.h"
#include "nsXPIDLPluginManager2.h"
#include "nsXPIDLPluginStreamListener.h"
NS_IMPL_ISUPPORTS1(nsXPIDLPluginManager, nsIXPIDLPluginManager)
nsXPIDLPluginManager::nsXPIDLPluginManager()
{
NS_INIT_ISUPPORTS();
}
nsXPIDLPluginManager::nsXPIDLPluginManager( nsIPluginManager *pluginManager )
{
NS_INIT_ISUPPORTS();
this->pluginManager = pluginManager;
NS_ADDREF( pluginManager );
}
nsXPIDLPluginManager::~nsXPIDLPluginManager()
{
NS_RELEASE( pluginManager );
}
NS_IMETHODIMP
nsXPIDLPluginManager::GetURL( nsISupports *pliginInstance,
const char *url,
const char *target,
nsIXPIDLPluginStreamListener *streamListener,
const char *altHost,
const char *referrer,
PRBool forceJSEnabled )
{
nsIPluginStreamListener *sListener = new nsXPIDLPluginStreamListener( streamListener );
return pluginManager->GetURL( pliginInstance,
(char *)url,
(char *)target,
sListener,
(char *)altHost,
(char *)referrer,
forceJSEnabled );
}
NS_IMETHODIMP
nsXPIDLPluginManager::PostURL( nsISupports *pliginInstance,
const char *url,
PRUint32 postDataLength,
PRUint8 *postData,
PRUint32 postHeadersLength,
const char *postHeaders,
PRBool isFile,
const char *target,
nsIXPIDLPluginStreamListener *streamListener,
const char *altHost,
const char *referrer,
PRBool forceJSEnabled )
{
nsIPluginStreamListener *sListener = new nsXPIDLPluginStreamListener( streamListener );
return pluginManager->PostURL( pliginInstance,
(char *)url,
postDataLength,
(char *)postData,
isFile,
(char *)target,
sListener,
(char *)altHost,
(char *)referrer,
forceJSEnabled,
postHeadersLength,
postHeaders );
}
NS_IMETHODIMP
nsXPIDLPluginManager::ReloadPlugins( PRBool reloadPages )
{
return pluginManager->ReloadPlugins( reloadPages );
}
NS_IMETHODIMP
nsXPIDLPluginManager::UserAgent( char **_retval )
{
return pluginManager->UserAgent( (const char **)_retval );
}

View File

@@ -0,0 +1,42 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#ifndef _nsXPIDLPluginManager_included_
#define _nsXPIDLPluginManager_included_
#include "nsIXPIDLPluginManager.h"
#include "nsIPluginManager.h"
class nsXPIDLPluginManager : public nsIXPIDLPluginManager
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIXPIDLPLUGINMANAGER
nsXPIDLPluginManager();
nsXPIDLPluginManager( nsIPluginManager *pluginManager );
virtual ~nsXPIDLPluginManager();
nsIPluginManager *pluginManager;
};
#endif // _nsXPIDLPluginManager_included_

View File

@@ -0,0 +1,127 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#include "nsXPIDLPluginManager2.h"
NS_IMPL_ISUPPORTS1(nsXPIDLPluginManager2, nsIXPIDLPluginManager2)
nsXPIDLPluginManager2::nsXPIDLPluginManager2()
{
NS_INIT_ISUPPORTS();
}
nsXPIDLPluginManager2::nsXPIDLPluginManager2( nsIPluginManager2 *pluginManager )
{
NS_INIT_ISUPPORTS();
this->pluginManager = pluginManager;
NS_ADDREF( pluginManager );
}
nsXPIDLPluginManager2::~nsXPIDLPluginManager2()
{
NS_RELEASE( pluginManager );
}
NS_IMETHODIMP
nsXPIDLPluginManager2::BeginWaitCursor()
{
return pluginManager->BeginWaitCursor();
}
NS_IMETHODIMP
nsXPIDLPluginManager2::EndWaitCursor()
{
return pluginManager->EndWaitCursor();
}
NS_IMETHODIMP
nsXPIDLPluginManager2::FindProxyForURL( const char *url, char **_retval )
{
return pluginManager->FindProxyForURL( url, _retval );
}
NS_IMETHODIMP
nsXPIDLPluginManager2::SupportsURLProtocol( const char *protocol,
PRBool *_retval )
{
return pluginManager->SupportsURLProtocol( protocol, _retval );
}
// from nsXPIDLPluginManager
NS_IMETHODIMP
nsXPIDLPluginManager2::GetURL( nsISupports *pliginInstance,
const char *url,
const char *target,
nsIXPIDLPluginStreamListener *streamListener,
const char *altHost,
const char *referrer,
PRBool forceJSEnabled )
{
return nsXPIDLPluginManager::GetURL( pliginInstance,
url,
target,
streamListener,
altHost,
referrer,
forceJSEnabled );
}
NS_IMETHODIMP
nsXPIDLPluginManager2::PostURL( nsISupports *pliginInstance,
const char *url,
PRUint32 postDataLength,
PRUint8 *postData,
PRUint32 postHeadersLength,
const char *postHeaders,
PRBool isFile,
const char *target,
nsIXPIDLPluginStreamListener *streamListener,
const char *altHost,
const char *referrer,
PRBool forceJSEnabled )
{
return nsXPIDLPluginManager::PostURL( pliginInstance,
url,
postDataLength,
postData,
postHeadersLength,
postHeaders,
isFile,
target,
streamListener,
altHost,
referrer,
forceJSEnabled );
}
NS_IMETHODIMP
nsXPIDLPluginManager2::ReloadPlugins( PRBool reloadPages )
{
return nsXPIDLPluginManager::ReloadPlugins( reloadPages );
}
NS_IMETHODIMP
nsXPIDLPluginManager2::UserAgent( char **_retval )
{
return nsXPIDLPluginManager::UserAgent( _retval );
}

View File

@@ -0,0 +1,45 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#ifndef _nsXPIDLPluginManager2_included_
#define _nsXPIDLPluginManager2_included_
#include "nsIXPIDLPluginManager2.h"
#include "nsIPluginManager2.h"
#include "nsXPIDLPluginManager.h"
class nsXPIDLPluginManager2 : public nsXPIDLPluginManager, public nsIXPIDLPluginManager2
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIXPIDLPLUGINMANAGER2
NS_DECL_NSIXPIDLPLUGINMANAGER
nsXPIDLPluginManager2();
nsXPIDLPluginManager2( nsIPluginManager2 *pluginManager );
virtual ~nsXPIDLPluginManager2();
nsIPluginManager2 *pluginManager;
};
#endif // _nsXPIDLPluginManager2_included_

View File

@@ -0,0 +1,96 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#include "nsXPIDLPluginStreamInfo.h"
NS_IMPL_ISUPPORTS1(nsXPIDLPluginStreamInfo, nsIXPIDLPluginStreamInfo)
nsXPIDLPluginStreamInfo::nsXPIDLPluginStreamInfo()
{
NS_INIT_ISUPPORTS();
}
nsXPIDLPluginStreamInfo::nsXPIDLPluginStreamInfo( nsIPluginStreamInfo *pluginStreamInfo )
{
NS_INIT_ISUPPORTS();
this->pluginStreamInfo = pluginStreamInfo;
NS_ADDREF( pluginStreamInfo );
}
nsXPIDLPluginStreamInfo::~nsXPIDLPluginStreamInfo()
{
NS_RELEASE( pluginStreamInfo );
}
NS_IMETHODIMP
nsXPIDLPluginStreamInfo::GetContentType( char * *aContentType )
{
return pluginStreamInfo->GetContentType( (nsMIMEType *)aContentType );
}
NS_IMETHODIMP
nsXPIDLPluginStreamInfo::GetLastModified( PRUint32 *aLastModified )
{
return pluginStreamInfo->GetLastModified( aLastModified );
}
NS_IMETHODIMP
nsXPIDLPluginStreamInfo::GetLength( PRUint32 *aLength )
{
return pluginStreamInfo->GetLength( aLength );
}
NS_IMETHODIMP
nsXPIDLPluginStreamInfo::GetURL( PRUnichar * *aURL )
{
return pluginStreamInfo->GetURL( (const char **)aURL );
}
NS_IMETHODIMP
nsXPIDLPluginStreamInfo::IsSeekable( PRBool *_retval )
{
return pluginStreamInfo->IsSeekable( _retval );
}
NS_IMETHODIMP
nsXPIDLPluginStreamInfo::RequestRead( PRUint32 count,
PRInt32 *offsets,
PRUint32 *lengths )
{
nsByteRange *rangeList, *last;
// rekolbasing data to nsByteRange structure
for( int i=0; i<count; i++ ) {
nsByteRange *newRange = new nsByteRange();
newRange->offset = offsets[i];
newRange->length = lengths[i];
newRange->next = NULL;
if( i == 0 ) rangeList = last = newRange;
else {
last->next = newRange;
last = last->next;
}
}
// make a call
return pluginStreamInfo->RequestRead( rangeList );
}

View File

@@ -0,0 +1,42 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#ifndef _nsXPIDLPluginStreamInfo_included_
#define _nsXPIDLPluginStreamInfo_included_
#include "nsIXPIDLPluginStreamInfo.h"
#include "nsIPluginStreamInfo.h"
class nsXPIDLPluginStreamInfo : public nsIXPIDLPluginStreamInfo
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIXPIDLPLUGINSTREAMINFO
nsXPIDLPluginStreamInfo();
nsXPIDLPluginStreamInfo( nsIPluginStreamInfo *pluginStreamInfo );
virtual ~nsXPIDLPluginStreamInfo();
nsIPluginStreamInfo *pluginStreamInfo;
};
#endif // _nsXPIDLPluginStreamInfo_included_

View File

@@ -0,0 +1,82 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#include "nsIPluginStreamListener.h"
#include "nsXPIDLPluginStreamListener.h"
NS_IMPL_ISUPPORTS1(nsXPIDLPluginStreamListener, nsIPluginStreamListener)
nsXPIDLPluginStreamListener::nsXPIDLPluginStreamListener()
{
NS_INIT_ISUPPORTS();
}
nsXPIDLPluginStreamListener::nsXPIDLPluginStreamListener( nsIXPIDLPluginStreamListener *pluginStreamListener )
{
NS_INIT_ISUPPORTS();
this->pluginStreamListener = pluginStreamListener;
NS_ADDREF( pluginStreamListener );
}
nsXPIDLPluginStreamListener::~nsXPIDLPluginStreamListener()
{
NS_RELEASE( pluginStreamListener );
}
NS_IMETHODIMP
nsXPIDLPluginStreamListener::GetStreamType( nsPluginStreamType *result )
{
return pluginStreamListener->GetStreamType( (PRUint32 *)result );
}
NS_IMETHODIMP
nsXPIDLPluginStreamListener::OnDataAvailable( nsIPluginStreamInfo *streamInfo,
nsIInputStream *input,
PRUint32 length )
{
nsIXPIDLPluginStreamInfo *sInfo = new nsXPIDLPluginStreamInfo( streamInfo );
nsIXPIDLInputStream *iStream = new nsXPIDLInputStream( input );
return pluginStreamListener->OnDataAvailable( sInfo, iStream, length );
}
NS_IMETHODIMP
nsXPIDLPluginStreamListener::OnFileAvailable( nsIPluginStreamInfo *streamInfo,
const char *fileName )
{
nsIXPIDLPluginStreamInfo *sInfo = new nsXPIDLPluginStreamInfo( streamInfo );
return pluginStreamListener->OnFileAvailable( sInfo, (PRUnichar *)fileName );
}
NS_IMETHODIMP
nsXPIDLPluginStreamListener::OnStartBinding( nsIPluginStreamInfo *streamInfo )
{
nsIXPIDLPluginStreamInfo *sInfo = new nsXPIDLPluginStreamInfo( streamInfo );
return pluginStreamListener->OnStartBinding( sInfo );
}
NS_IMETHODIMP
nsXPIDLPluginStreamListener::OnStopBinding( nsIPluginStreamInfo *streamInfo,
nsresult status )
{
nsIXPIDLPluginStreamInfo *sInfo = new nsXPIDLPluginStreamInfo( streamInfo );
return pluginStreamListener->OnStopBinding( sInfo, (PRInt32)status );
}

View File

@@ -0,0 +1,57 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#ifndef _nsXPIDLPluginStreamListener_included_
#define _nsXPIDLPluginStreamListener_included_
#include "nsIPluginStreamListener.h"
#include "nsIXPIDLPluginStreamListener.h"
#include "nsIPluginStreamInfo.h"
#include "nsXPIDLPluginStreamInfo.h"
#include "nsIInputStream.h"
#include "nsXPIDLInputStream.h"
class nsXPIDLPluginStreamListener : public nsIPluginStreamListener
{
public:
NS_DECL_ISUPPORTS
// NS_DECL_NSIXPIDLPLUGINSTREAMLISTENER
nsXPIDLPluginStreamListener();
nsXPIDLPluginStreamListener( nsIXPIDLPluginStreamListener * pluginStreamListener );
virtual ~nsXPIDLPluginStreamListener();
nsIXPIDLPluginStreamListener * pluginStreamListener;
// from nsIPluginStreamListener
NS_IMETHODIMP GetStreamType( nsPluginStreamType *result );
NS_IMETHODIMP OnDataAvailable( nsIPluginStreamInfo *streamInfo,
nsIInputStream *input,
PRUint32 length );
NS_IMETHODIMP OnFileAvailable( nsIPluginStreamInfo *streamInfo,
const char *fileName );
NS_IMETHODIMP OnStartBinding( nsIPluginStreamInfo *streamInfo );
NS_IMETHODIMP OnStopBinding( nsIPluginStreamInfo *streamInfo, nsresult status );
};
#endif // _nsXPIDLPluginStreamListener_included_

View File

@@ -0,0 +1,56 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#include "nsXPIDLPluginTagInfo.h"
NS_IMPL_ISUPPORTS1(nsXPIDLPluginTagInfo, nsIXPIDLPluginTagInfo)
nsXPIDLPluginTagInfo::nsXPIDLPluginTagInfo()
{
NS_INIT_ISUPPORTS();
}
nsXPIDLPluginTagInfo::nsXPIDLPluginTagInfo( nsIPluginTagInfo *tagInfo )
{
NS_INIT_ISUPPORTS();
this->tagInfo = tagInfo;
NS_ADDREF( tagInfo );
}
nsXPIDLPluginTagInfo::~nsXPIDLPluginTagInfo()
{
NS_RELEASE( tagInfo );
}
NS_IMETHODIMP
nsXPIDLPluginTagInfo::GetAttribute( const char *name, char **_retval )
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsXPIDLPluginTagInfo::GetAttributes( PRUint32 *count,
char ***names,
char ***values )
{
return NS_ERROR_NOT_IMPLEMENTED;
}

View File

@@ -0,0 +1,42 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#ifndef _nsXPIDLPluginTagInfo_included_
#define _nsXPIDLPluginTagInfo_included_
#include "nsIXPIDLPluginTagInfo.h"
#include "nsIPluginTagInfo.h"
class nsXPIDLPluginTagInfo : public nsIXPIDLPluginTagInfo
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIXPIDLPLUGINTAGINFO
nsXPIDLPluginTagInfo();
nsXPIDLPluginTagInfo( nsIPluginTagInfo *tagInfo );
virtual ~nsXPIDLPluginTagInfo();
nsIPluginTagInfo *tagInfo;
};
#endif // _nsXPIDLPluginTagInfo_included_

View File

@@ -0,0 +1,133 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#include "nsXPIDLPluginTagInfo2.h"
NS_IMPL_ISUPPORTS1(nsXPIDLPluginTagInfo2, nsIXPIDLPluginTagInfo2)
nsXPIDLPluginTagInfo2::nsXPIDLPluginTagInfo2()
{
NS_INIT_ISUPPORTS();
}
nsXPIDLPluginTagInfo2::nsXPIDLPluginTagInfo2( nsIPluginTagInfo2 *tagInfo )
{
NS_INIT_ISUPPORTS();
this->tagInfo = tagInfo;
NS_ADDREF( tagInfo );
}
nsXPIDLPluginTagInfo2::~nsXPIDLPluginTagInfo2()
{
NS_RELEASE( tagInfo );
}
NS_IMETHODIMP
nsXPIDLPluginTagInfo2::GetAlignment( char * *aAlignment )
{
return tagInfo->GetAlignment( (const char **)aAlignment );
}
NS_IMETHODIMP
nsXPIDLPluginTagInfo2::GetParameter( const char *name, char **_retval )
{
return tagInfo->GetParameter( name, (const char **)_retval );
}
NS_IMETHODIMP
nsXPIDLPluginTagInfo2::GetParameters( PRUint32 *count,
char ***names,
char ***values )
{
return tagInfo->GetParameters( (PRUint16)*count,
(const char*const*)*names,
(const char*const*)*values );
}
NS_IMETHODIMP
nsXPIDLPluginTagInfo2::GetBorderHorizSpace( PRUint32 *aBorderHorizSpace )
{
return tagInfo->GetBorderHorizSpace( aBorderHorizSpace );
}
NS_IMETHODIMP
nsXPIDLPluginTagInfo2::GetBorderVertSpace( PRUint32 *aBorderVertSpace )
{
return tagInfo->GetBorderVertSpace( aBorderVertSpace );
}
NS_IMETHODIMP
nsXPIDLPluginTagInfo2::GetDocumentBase( char * *aDocumentBase )
{
return tagInfo->GetDocumentBase( (const char **)aDocumentBase );
}
NS_IMETHODIMP
nsXPIDLPluginTagInfo2::GetDocumentEncoding( char * *aDocumentEncoding )
{
return tagInfo->GetDocumentEncoding( (const char**)aDocumentEncoding );
}
NS_IMETHODIMP
nsXPIDLPluginTagInfo2::GetHeight( PRUint32 *aHeight )
{
return tagInfo->GetHeight( aHeight );
}
NS_IMETHODIMP
nsXPIDLPluginTagInfo2::GetWidth( PRUint32 *aWidth )
{
return tagInfo->GetWidth( aWidth );
}
NS_IMETHODIMP
nsXPIDLPluginTagInfo2::GetTagText( char * *aTagText )
{
return tagInfo->GetTagText( (const char **)aTagText );
}
NS_IMETHODIMP
nsXPIDLPluginTagInfo2::GetTagType( char * *aTagType )
{
return tagInfo->GetTagType( (nsPluginTagType *)aTagType );
}
NS_IMETHODIMP
nsXPIDLPluginTagInfo2::GetUniqueID( PRUint32 *aUniqueID )
{
return tagInfo->GetUniqueID( aUniqueID );
}
// from TagInfo
NS_IMETHODIMP
nsXPIDLPluginTagInfo2::GetAttribute( const char *name, char **_retval )
{
return nsXPIDLPluginTagInfo::GetAttribute( name, _retval );
}
NS_IMETHODIMP
nsXPIDLPluginTagInfo2::GetAttributes( PRUint32 *count,
char ***names,
char ***values )
{
return nsXPIDLPluginTagInfo::GetAttributes( count, names, values );
}

View File

@@ -0,0 +1,45 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
* Serge Pikalev <sep@sparc.spb.su>
*/
#ifndef _nsXPIDLPluginTagInfo2_included_
#define _nsXPIDLPluginTagInfo2_included_
#include "nsIXPIDLPluginTagInfo2.h"
#include "nsIPluginTagInfo2.h"
#include "nsXPIDLPluginTagInfo.h"
class nsXPIDLPluginTagInfo2 : public nsXPIDLPluginTagInfo, public nsIXPIDLPluginTagInfo2
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIXPIDLPLUGINTAGINFO2
NS_DECL_NSIXPIDLPLUGINTAGINFO
nsXPIDLPluginTagInfo2();
nsXPIDLPluginTagInfo2( nsIPluginTagInfo2 *tagInfo );
virtual ~nsXPIDLPluginTagInfo2();
nsIPluginTagInfo2 *tagInfo;
};
#endif // _nsXPIDLPluginTagInfo2_included_