Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Side by Side Diff: device/serial/serial_io_handler_posix.h

Issue 646053002: Implement permission_broker for serial devices. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix device_unittests. Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « device/serial/serial_io_handler.cc ('k') | device/serial/serial_io_handler_posix.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #ifndef DEVICE_SERIAL_SERIAL_IO_HANDLER_POSIX_H_ 5 #ifndef DEVICE_SERIAL_SERIAL_IO_HANDLER_POSIX_H_
6 #define DEVICE_SERIAL_SERIAL_IO_HANDLER_POSIX_H_ 6 #define DEVICE_SERIAL_SERIAL_IO_HANDLER_POSIX_H_
7 7
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "device/serial/serial_io_handler.h" 9 #include "device/serial/serial_io_handler.h"
10 10
11 namespace device { 11 namespace device {
12 12
13 class SerialIoHandlerPosix : public SerialIoHandler, 13 class SerialIoHandlerPosix : public SerialIoHandler,
14 public base::MessageLoopForIO::Watcher { 14 public base::MessageLoopForIO::Watcher {
15 protected: 15 protected:
16 // SerialIoHandler impl. 16 // SerialIoHandler impl.
17 virtual void ReadImpl() override; 17 virtual void ReadImpl() override;
18 virtual void WriteImpl() override; 18 virtual void WriteImpl() override;
19 virtual void CancelReadImpl() override; 19 virtual void CancelReadImpl() override;
20 virtual void CancelWriteImpl() override; 20 virtual void CancelWriteImpl() override;
21 virtual bool Flush() const override; 21 virtual bool Flush() const override;
22 virtual serial::DeviceControlSignalsPtr GetControlSignals() const override; 22 virtual serial::DeviceControlSignalsPtr GetControlSignals() const override;
23 virtual bool SetControlSignals( 23 virtual bool SetControlSignals(
24 const serial::HostControlSignals& control_signals) override; 24 const serial::HostControlSignals& control_signals) override;
25 virtual bool ConfigurePort(const serial::ConnectionOptions& options) override; 25 virtual bool ConfigurePort(const serial::ConnectionOptions& options) override;
26 virtual serial::ConnectionInfoPtr GetPortInfo() const override; 26 virtual serial::ConnectionInfoPtr GetPortInfo() const override;
27 virtual void RequestAccess(
28 const std::string& port,
29 scoped_refptr<base::MessageLoopProxy> file_message_loop,
30 scoped_refptr<base::MessageLoopProxy> ui_message_loop) override;
27 virtual bool PostOpen() override; 31 virtual bool PostOpen() override;
28 32
29 private: 33 private:
30 friend class SerialIoHandler; 34 friend class SerialIoHandler;
31 35
32 SerialIoHandlerPosix( 36 SerialIoHandlerPosix(
33 scoped_refptr<base::MessageLoopProxy> file_thread_message_loop); 37 scoped_refptr<base::MessageLoopProxy> file_thread_message_loop,
38 scoped_refptr<base::MessageLoopProxy> ui_thread_message_loop);
34 virtual ~SerialIoHandlerPosix(); 39 virtual ~SerialIoHandlerPosix();
35 40
36 // base::MessageLoopForIO::Watcher implementation. 41 // base::MessageLoopForIO::Watcher implementation.
37 virtual void OnFileCanWriteWithoutBlocking(int fd) override; 42 virtual void OnFileCanWriteWithoutBlocking(int fd) override;
38 virtual void OnFileCanReadWithoutBlocking(int fd) override; 43 virtual void OnFileCanReadWithoutBlocking(int fd) override;
39 44
40 void EnsureWatchingReads(); 45 void EnsureWatchingReads();
41 void EnsureWatchingWrites(); 46 void EnsureWatchingWrites();
42 47
43 base::MessageLoopForIO::FileDescriptorWatcher file_read_watcher_; 48 base::MessageLoopForIO::FileDescriptorWatcher file_read_watcher_;
44 base::MessageLoopForIO::FileDescriptorWatcher file_write_watcher_; 49 base::MessageLoopForIO::FileDescriptorWatcher file_write_watcher_;
45 50
46 // Flags indicating if the message loop is watching the device for IO events. 51 // Flags indicating if the message loop is watching the device for IO events.
47 bool is_watching_reads_; 52 bool is_watching_reads_;
48 bool is_watching_writes_; 53 bool is_watching_writes_;
49 54
50 DISALLOW_COPY_AND_ASSIGN(SerialIoHandlerPosix); 55 DISALLOW_COPY_AND_ASSIGN(SerialIoHandlerPosix);
51 }; 56 };
52 57
53 } // namespace device 58 } // namespace device
54 59
55 #endif // DEVICE_SERIAL_SERIAL_IO_HANDLER_POSIX_H_ 60 #endif // DEVICE_SERIAL_SERIAL_IO_HANDLER_POSIX_H_
OLDNEW
« no previous file with comments | « device/serial/serial_io_handler.cc ('k') | device/serial/serial_io_handler_posix.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698