| OLD | NEW | 
|    1 // Copyright 2015 The Chromium Authors. All rights reserved. |    1 // Copyright 2015 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 // |MotermDriver| is a class providing a |mojo.files.File| interface, |    5 // |MotermDriver| is a class providing a |mojo.files.File| interface, | 
|    6 // implementing termios-type features (e.g., line editing; TODO(vtl): lots to do |    6 // implementing termios-type features (e.g., line editing; TODO(vtl): lots to do | 
|    7 // here), and appropriately processing bytes to/from the terminal (which gets |    7 // here), and appropriately processing bytes to/from the terminal (which gets | 
|    8 // and sends "raw" data). In essence, this class includes what would |    8 // and sends "raw" data). In essence, this class includes what would | 
|    9 // traditionally be called the terminal driver in a Unix kernel. |    9 // traditionally be called the terminal driver in a Unix kernel. | 
|   10  |   10  | 
|   11 #ifndef APPS_MOTERM_MOTERM_DRIVER_H_ |   11 #ifndef APPS_MOTERM_MOTERM_DRIVER_H_ | 
|   12 #define APPS_MOTERM_MOTERM_DRIVER_H_ |   12 #define APPS_MOTERM_MOTERM_DRIVER_H_ | 
|   13  |   13  | 
|   14 #include <stddef.h> |   14 #include <stddef.h> | 
|   15 #include <stdint.h> |   15 #include <stdint.h> | 
|   16  |   16  | 
|   17 #include <deque> |   17 #include <deque> | 
|   18  |   18  | 
|   19 #include "base/macros.h" |   19 #include "base/macros.h" | 
|   20 #include "base/memory/weak_ptr.h" |   20 #include "base/memory/weak_ptr.h" | 
|   21 #include "mojo/public/cpp/bindings/interface_request.h" |   21 #include "mojo/public/cpp/bindings/interface_request.h" | 
|   22 #include "mojo/public/cpp/bindings/strong_binding.h" |   22 #include "mojo/public/cpp/bindings/strong_binding.h" | 
|   23 #include "mojo/services/files/public/interfaces/file.mojom.h" |   23 #include "mojo/services/files/interfaces/file.mojom.h" | 
|   24 #include "mojo/services/files/public/interfaces/types.mojom.h" |   24 #include "mojo/services/files/interfaces/types.mojom.h" | 
|   25  |   25  | 
|   26 // TODO(vtl): Maybe we should Mojo-fy the driver and run it as a separate app? |   26 // TODO(vtl): Maybe we should Mojo-fy the driver and run it as a separate app? | 
|   27 class MotermDriver : public mojo::files::File { |   27 class MotermDriver : public mojo::files::File { | 
|   28  public: |   28  public: | 
|   29   // The |Client| is basically the terminal implementation itself, to which |   29   // The |Client| is basically the terminal implementation itself, to which | 
|   30   // processed output (from an application, to the "file", through the driver) |   30   // processed output (from an application, to the "file", through the driver) | 
|   31   // is sent. It also receives other notifications (e.g., when the "file" is |   31   // is sent. It also receives other notifications (e.g., when the "file" is | 
|   32   // closed or otherwise "broken"). |   32   // closed or otherwise "broken"). | 
|   33   class Client { |   33   class Client { | 
|   34    public: |   34    public: | 
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  168   // Output settings: |  168   // Output settings: | 
|  169   // If true, will convert output CRs to CR-NL pairs. |  169   // If true, will convert output CRs to CR-NL pairs. | 
|  170   bool onlcr_; |  170   bool onlcr_; | 
|  171  |  171  | 
|  172   base::WeakPtrFactory<MotermDriver> weak_factory_; |  172   base::WeakPtrFactory<MotermDriver> weak_factory_; | 
|  173  |  173  | 
|  174   DISALLOW_COPY_AND_ASSIGN(MotermDriver); |  174   DISALLOW_COPY_AND_ASSIGN(MotermDriver); | 
|  175 }; |  175 }; | 
|  176  |  176  | 
|  177 #endif  // APPS_MOTERM_MOTERM_DRIVER_H_ |  177 #endif  // APPS_MOTERM_MOTERM_DRIVER_H_ | 
| OLD | NEW |