native_messaging_writer.h revision c5cede9ae108bb15f6b7a8aea21c7e1fefa2834c
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#include "base/platform_file.h"
10
11namespace base {
12class Value;
13}  // namespace base
14
15namespace remoting {
16
17// This class is used for sending messages to the Native Messaging client
18// webapp.
19class 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  base::File 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_
38