2009-08-19 00:20:03 +04:00
|
|
|
/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
|
|
|
|
|
2009-09-09 18:04:09 +04:00
|
|
|
#ifndef mozilla_plugins_BrowserStreamParent_h
|
|
|
|
#define mozilla_plugins_BrowserStreamParent_h
|
2009-08-19 00:20:03 +04:00
|
|
|
|
2009-09-10 02:59:06 +04:00
|
|
|
#include "mozilla/plugins/PBrowserStreamParent.h"
|
2009-08-19 00:20:03 +04:00
|
|
|
|
|
|
|
namespace mozilla {
|
|
|
|
namespace plugins {
|
|
|
|
|
2009-09-09 10:31:35 +04:00
|
|
|
class PluginInstanceParent;
|
2009-08-19 00:20:03 +04:00
|
|
|
|
2009-09-10 02:59:06 +04:00
|
|
|
class BrowserStreamParent : public PBrowserStreamParent
|
2009-08-19 00:20:03 +04:00
|
|
|
{
|
2009-09-09 10:31:35 +04:00
|
|
|
friend class PluginModuleParent;
|
|
|
|
friend class PluginInstanceParent;
|
2009-08-19 00:20:03 +04:00
|
|
|
|
|
|
|
public:
|
2009-09-09 18:04:09 +04:00
|
|
|
BrowserStreamParent(PluginInstanceParent* npp,
|
|
|
|
NPStream* stream);
|
|
|
|
virtual ~BrowserStreamParent() { }
|
2009-08-19 00:20:03 +04:00
|
|
|
|
|
|
|
virtual nsresult AnswerNPN_RequestRead(const IPCByteRanges& ranges,
|
|
|
|
NPError* result);
|
|
|
|
|
|
|
|
int32_t WriteReady();
|
|
|
|
int32_t Write(int32_t offset, int32_t len, void* buffer);
|
|
|
|
void StreamAsFile(const char* fname);
|
|
|
|
NPError NPN_DestroyStream(NPError reason);
|
|
|
|
|
|
|
|
private:
|
2009-09-09 10:31:35 +04:00
|
|
|
PluginInstanceParent* mNPP;
|
2009-08-19 00:20:03 +04:00
|
|
|
NPStream* mStream;
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace plugins
|
|
|
|
} // namespace mozilla
|
|
|
|
|
|
|
|
#endif
|