gecko/dom/plugins/ipc/BrowserStreamParent.h

60 lines
1.5 KiB
C
Raw Normal View History

/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
2012-05-21 04:12:37 -07:00
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_plugins_BrowserStreamParent_h
#define mozilla_plugins_BrowserStreamParent_h
#include "mozilla/plugins/PBrowserStreamParent.h"
#include "mozilla/plugins/AStream.h"
namespace mozilla {
namespace plugins {
Rename plugin protocols and fix up usage --HG-- rename : dom/plugins/NPP.ipdl => dom/plugins/PPluginInstance.ipdl rename : dom/plugins/NPAPI.ipdl => dom/plugins/PPluginModule.ipdl rename : dom/plugins/NPObject.ipdl => dom/plugins/PPluginScriptableObject.ipdl rename : dom/plugins/NPBrowserStream.ipdl => dom/plugins/PPluginStream.ipdl rename : dom/plugins/NPPInstanceChild.cpp => dom/plugins/PluginInstanceChild.cpp rename : dom/plugins/NPPInstanceChild.h => dom/plugins/PluginInstanceChild.h rename : dom/plugins/NPPInstanceParent.cpp => dom/plugins/PluginInstanceParent.cpp rename : dom/plugins/NPPInstanceParent.h => dom/plugins/PluginInstanceParent.h rename : dom/plugins/NPAPIPluginChild.cpp => dom/plugins/PluginModuleChild.cpp rename : dom/plugins/NPAPIPluginChild.h => dom/plugins/PluginModuleChild.h rename : dom/plugins/NPAPIPluginParent.cpp => dom/plugins/PluginModuleParent.cpp rename : dom/plugins/NPAPIPluginParent.h => dom/plugins/PluginModuleParent.h rename : dom/plugins/NPObjectChild.cpp => dom/plugins/PluginScriptableObjectChild.cpp rename : dom/plugins/NPObjectChild.h => dom/plugins/PluginScriptableObjectChild.h rename : dom/plugins/NPObjectParent.cpp => dom/plugins/PluginScriptableObjectParent.cpp rename : dom/plugins/NPObjectParent.h => dom/plugins/PluginScriptableObjectParent.h rename : dom/plugins/NPBrowserStreamChild.cpp => dom/plugins/PluginStreamChild.cpp rename : dom/plugins/NPBrowserStreamChild.h => dom/plugins/PluginStreamChild.h rename : dom/plugins/NPBrowserStreamParent.cpp => dom/plugins/PluginStreamParent.cpp rename : dom/plugins/NPBrowserStreamParent.h => dom/plugins/PluginStreamParent.h
2009-09-08 23:31:35 -07:00
class PluginInstanceParent;
class BrowserStreamParent : public PBrowserStreamParent, public AStream
{
Rename plugin protocols and fix up usage --HG-- rename : dom/plugins/NPP.ipdl => dom/plugins/PPluginInstance.ipdl rename : dom/plugins/NPAPI.ipdl => dom/plugins/PPluginModule.ipdl rename : dom/plugins/NPObject.ipdl => dom/plugins/PPluginScriptableObject.ipdl rename : dom/plugins/NPBrowserStream.ipdl => dom/plugins/PPluginStream.ipdl rename : dom/plugins/NPPInstanceChild.cpp => dom/plugins/PluginInstanceChild.cpp rename : dom/plugins/NPPInstanceChild.h => dom/plugins/PluginInstanceChild.h rename : dom/plugins/NPPInstanceParent.cpp => dom/plugins/PluginInstanceParent.cpp rename : dom/plugins/NPPInstanceParent.h => dom/plugins/PluginInstanceParent.h rename : dom/plugins/NPAPIPluginChild.cpp => dom/plugins/PluginModuleChild.cpp rename : dom/plugins/NPAPIPluginChild.h => dom/plugins/PluginModuleChild.h rename : dom/plugins/NPAPIPluginParent.cpp => dom/plugins/PluginModuleParent.cpp rename : dom/plugins/NPAPIPluginParent.h => dom/plugins/PluginModuleParent.h rename : dom/plugins/NPObjectChild.cpp => dom/plugins/PluginScriptableObjectChild.cpp rename : dom/plugins/NPObjectChild.h => dom/plugins/PluginScriptableObjectChild.h rename : dom/plugins/NPObjectParent.cpp => dom/plugins/PluginScriptableObjectParent.cpp rename : dom/plugins/NPObjectParent.h => dom/plugins/PluginScriptableObjectParent.h rename : dom/plugins/NPBrowserStreamChild.cpp => dom/plugins/PluginStreamChild.cpp rename : dom/plugins/NPBrowserStreamChild.h => dom/plugins/PluginStreamChild.h rename : dom/plugins/NPBrowserStreamParent.cpp => dom/plugins/PluginStreamParent.cpp rename : dom/plugins/NPBrowserStreamParent.h => dom/plugins/PluginStreamParent.h
2009-09-08 23:31:35 -07:00
friend class PluginModuleParent;
friend class PluginInstanceParent;
public:
BrowserStreamParent(PluginInstanceParent* npp,
NPStream* stream);
virtual ~BrowserStreamParent();
virtual bool IsBrowserStream() MOZ_OVERRIDE { return true; }
virtual bool AnswerNPN_RequestRead(const IPCByteRanges& ranges,
NPError* result);
virtual bool RecvNPN_DestroyStream(const NPReason& reason);
virtual bool RecvStreamDestroyed();
int32_t WriteReady();
int32_t Write(int32_t offset, int32_t len, void* buffer);
void StreamAsFile(const char* fname);
void NPP_DestroyStream(NPReason reason);
private:
using PBrowserStreamParent::SendNPP_DestroyStream;
Rename plugin protocols and fix up usage --HG-- rename : dom/plugins/NPP.ipdl => dom/plugins/PPluginInstance.ipdl rename : dom/plugins/NPAPI.ipdl => dom/plugins/PPluginModule.ipdl rename : dom/plugins/NPObject.ipdl => dom/plugins/PPluginScriptableObject.ipdl rename : dom/plugins/NPBrowserStream.ipdl => dom/plugins/PPluginStream.ipdl rename : dom/plugins/NPPInstanceChild.cpp => dom/plugins/PluginInstanceChild.cpp rename : dom/plugins/NPPInstanceChild.h => dom/plugins/PluginInstanceChild.h rename : dom/plugins/NPPInstanceParent.cpp => dom/plugins/PluginInstanceParent.cpp rename : dom/plugins/NPPInstanceParent.h => dom/plugins/PluginInstanceParent.h rename : dom/plugins/NPAPIPluginChild.cpp => dom/plugins/PluginModuleChild.cpp rename : dom/plugins/NPAPIPluginChild.h => dom/plugins/PluginModuleChild.h rename : dom/plugins/NPAPIPluginParent.cpp => dom/plugins/PluginModuleParent.cpp rename : dom/plugins/NPAPIPluginParent.h => dom/plugins/PluginModuleParent.h rename : dom/plugins/NPObjectChild.cpp => dom/plugins/PluginScriptableObjectChild.cpp rename : dom/plugins/NPObjectChild.h => dom/plugins/PluginScriptableObjectChild.h rename : dom/plugins/NPObjectParent.cpp => dom/plugins/PluginScriptableObjectParent.cpp rename : dom/plugins/NPObjectParent.h => dom/plugins/PluginScriptableObjectParent.h rename : dom/plugins/NPBrowserStreamChild.cpp => dom/plugins/PluginStreamChild.cpp rename : dom/plugins/NPBrowserStreamChild.h => dom/plugins/PluginStreamChild.h rename : dom/plugins/NPBrowserStreamParent.cpp => dom/plugins/PluginStreamParent.cpp rename : dom/plugins/NPBrowserStreamParent.h => dom/plugins/PluginStreamParent.h
2009-09-08 23:31:35 -07:00
PluginInstanceParent* mNPP;
NPStream* mStream;
nsCOMPtr<nsISupports> mStreamPeer;
enum {
ALIVE,
DYING,
DELETING
} mState;
};
} // namespace plugins
} // namespace mozilla
#endif