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
10namespace base {
11class Value;
12}  // namespace base
13
14namespace remoting {
15
16// This class is used for sending messages to the Native Messaging client
17// webapp.
18class 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_
37