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

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: 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
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> io_message_loop) override;
27 virtual bool PostOpen() override; 30 virtual bool PostOpen() override;
28 31
29 private: 32 private:
30 friend class SerialIoHandler; 33 friend class SerialIoHandler;
31 34
32 SerialIoHandlerPosix( 35 SerialIoHandlerPosix(
33 scoped_refptr<base::MessageLoopProxy> file_thread_message_loop); 36 scoped_refptr<base::MessageLoopProxy> file_thread_message_loop);
34 virtual ~SerialIoHandlerPosix(); 37 virtual ~SerialIoHandlerPosix();
35 38
36 // base::MessageLoopForIO::Watcher implementation. 39 // base::MessageLoopForIO::Watcher implementation.
37 virtual void OnFileCanWriteWithoutBlocking(int fd) override; 40 virtual void OnFileCanWriteWithoutBlocking(int fd) override;
38 virtual void OnFileCanReadWithoutBlocking(int fd) override; 41 virtual void OnFileCanReadWithoutBlocking(int fd) override;
39 42
40 void EnsureWatchingReads(); 43 void EnsureWatchingReads();
41 void EnsureWatchingWrites(); 44 void EnsureWatchingWrites();
42 45
43 base::MessageLoopForIO::FileDescriptorWatcher file_read_watcher_; 46 base::MessageLoopForIO::FileDescriptorWatcher file_read_watcher_;
44 base::MessageLoopForIO::FileDescriptorWatcher file_write_watcher_; 47 base::MessageLoopForIO::FileDescriptorWatcher file_write_watcher_;
45 48
46 // Flags indicating if the message loop is watching the device for IO events. 49 // Flags indicating if the message loop is watching the device for IO events.
47 bool is_watching_reads_; 50 bool is_watching_reads_;
48 bool is_watching_writes_; 51 bool is_watching_writes_;
49 52
50 DISALLOW_COPY_AND_ASSIGN(SerialIoHandlerPosix); 53 DISALLOW_COPY_AND_ASSIGN(SerialIoHandlerPosix);
51 }; 54 };
52 55
53 } // namespace device 56 } // namespace device
54 57
55 #endif // DEVICE_SERIAL_SERIAL_IO_HANDLER_POSIX_H_ 58 #endif // DEVICE_SERIAL_SERIAL_IO_HANDLER_POSIX_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698