- add sources.
[platform/framework/web/crosswalk.git] / src / remoting / host / native_messaging / native_messaging_writer.h
1 // Copyright 2013 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 REMOTING_HOST_NATIVE_MESSAGING_NATIVE_MESSAGING_WRITER_H_
6 #define REMOTING_HOST_NATIVE_MESSAGING_NATIVE_MESSAGING_WRITER_H_
7
8 #include "base/platform_file.h"
9 #include "net/base/file_stream.h"
10
11 namespace base {
12 class Value;
13 }  // namespace base
14
15 namespace remoting {
16
17 // This class is used for sending messages to the Native Messaging client
18 // webapp.
19 class NativeMessagingWriter {
20  public:
21   explicit NativeMessagingWriter(base::PlatformFile handle);
22   ~NativeMessagingWriter();
23
24   // Sends a message to the Native Messaging client, returning true if
25   // successful.
26   bool WriteMessage(const base::Value& message);
27
28  private:
29   net::FileStream write_stream_;
30   bool fail_;
31
32   DISALLOW_COPY_AND_ASSIGN(NativeMessagingWriter);
33 };
34
35 }  // namespace remoting
36
37 #endif  // REMOTING_HOST_NATIVE_MESSAGING_NATIVE_MESSAGING_WRITER_H_