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