1// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CONTENT_CHILD_PLUGIN_STRING_STREAM_H_
6#define CONTENT_CHILD_PLUGIN_STRING_STREAM_H_
7
8#include "content/child/npapi/plugin_stream.h"
9
10class GURL;
11
12namespace content {
13
14class PluginInstance;
15
16// An NPAPI stream from a string.
17class PluginStringStream : public PluginStream {
18 public:
19  // Create a new stream for sending to the plugin.
20  // If notify_needed, will notify the plugin after the data has
21  // all been sent.
22  PluginStringStream(PluginInstance* instance,
23                     const GURL& url,
24                     bool notify_needed,
25                     void* notify_data);
26
27  // Initiates the sending of data to the plugin.
28  void SendToPlugin(const std::string& data,
29                    const std::string& mime_type);
30
31 private:
32  virtual ~PluginStringStream();
33
34  DISALLOW_COPY_AND_ASSIGN(PluginStringStream);
35};
36
37
38}  // namespace content
39
40#endif // CONTENT_CHILD_PLUGIN_STRING_STREAM_H_
41