1 /* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef mozilla_plugins_PluginStreamParent_h
7 #define mozilla_plugins_PluginStreamParent_h
9 #include "mozilla/plugins/PPluginStreamParent.h"
10 #include "mozilla/plugins/AStream.h"
15 class PluginInstanceParent
;
17 class PluginStreamParent
: public PPluginStreamParent
, public AStream
19 friend class PluginModuleParent
;
20 friend class PluginInstanceParent
;
23 PluginStreamParent(PluginInstanceParent
* npp
, const nsCString
& mimeType
,
24 const nsCString
& target
, NPError
* result
);
25 virtual ~PluginStreamParent() { }
27 virtual bool IsBrowserStream() MOZ_OVERRIDE
{ return false; }
29 virtual void ActorDestroy(ActorDestroyReason aWhy
) MOZ_OVERRIDE
;
31 virtual bool AnswerNPN_Write(const Buffer
& data
, int32_t* written
) MOZ_OVERRIDE
;
33 virtual bool Answer__delete__(const NPError
& reason
, const bool& artificial
) MOZ_OVERRIDE
;
36 void NPN_DestroyStream(NPReason reason
);
38 PluginInstanceParent
* mInstance
;
43 } // namespace plugins
44 } // namespace mozilla