/* -*- 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 */ #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(); }