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