41f60bfb4df2d134acee8aa626e03cedf740b705
[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/files/file.h"
9
10 namespace base {
11 class Value;
12 }  // namespace base
13
14 namespace remoting {
15
16 // This class is used for sending messages to the Native Messaging client
17 // webapp.
18 class NativeMessagingWriter {
19  public:
20   explicit NativeMessagingWriter(base::File file);
21   ~NativeMessagingWriter();
22
23   // Sends a message to the Native Messaging client, returning true if
24   // successful.
25   bool WriteMessage(const base::Value& message);
26
27  private:
28   base::File write_stream_;
29   bool fail_;
30
31   DISALLOW_COPY_AND_ASSIGN(NativeMessagingWriter);
32 };
33
34 }  // namespace remoting
35
36 #endif  // REMOTING_HOST_NATIVE_MESSAGING_NATIVE_MESSAGING_WRITER_H_