Home | History | Annotate | Download | only in native_messaging
      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_
     37