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