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

Side by Side Diff: chrome/browser/extensions/api/serial/serial_io_handler_win.cc

Issue 320513002: Remove base::kInvalidPlatformFileValue from Chrome (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 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 #include <windows.h>
6
5 #include "chrome/browser/extensions/api/serial/serial_io_handler_win.h" 7 #include "chrome/browser/extensions/api/serial/serial_io_handler_win.h"
6 8
7 #include "base/win/windows_version.h" 9 #include "base/win/windows_version.h"
8 10
9 #include <windows.h> 11 namespace {
12 const base::PlatformFile kInvalidPlatformFileValue = INVALID_HANDLE_VALUE;
13 } // namespace
10 14
11 namespace extensions { 15 namespace extensions {
12 16
13 // static 17 // static
14 scoped_refptr<SerialIoHandler> SerialIoHandler::Create() { 18 scoped_refptr<SerialIoHandler> SerialIoHandler::Create() {
15 return new SerialIoHandlerWin(); 19 return new SerialIoHandlerWin();
16 } 20 }
17 21
18 void SerialIoHandlerWin::InitializeImpl() { 22 void SerialIoHandlerWin::InitializeImpl() {
19 DCHECK(!comm_context_); 23 DCHECK(!comm_context_);
(...skipping 11 matching lines...) Expand all
31 memset(&read_context_->overlapped, 0, sizeof(read_context_->overlapped)); 35 memset(&read_context_->overlapped, 0, sizeof(read_context_->overlapped));
32 36
33 write_context_.reset(new base::MessageLoopForIO::IOContext()); 37 write_context_.reset(new base::MessageLoopForIO::IOContext());
34 write_context_->handler = this; 38 write_context_->handler = this;
35 memset(&write_context_->overlapped, 0, sizeof(write_context_->overlapped)); 39 memset(&write_context_->overlapped, 0, sizeof(write_context_->overlapped));
36 } 40 }
37 41
38 void SerialIoHandlerWin::ReadImpl() { 42 void SerialIoHandlerWin::ReadImpl() {
39 DCHECK(CalledOnValidThread()); 43 DCHECK(CalledOnValidThread());
40 DCHECK(pending_read_buffer()); 44 DCHECK(pending_read_buffer());
41 DCHECK_NE(file(), base::kInvalidPlatformFileValue); 45 DCHECK_NE(file(), kInvalidPlatformFileValue);
42 46
43 DWORD errors; 47 DWORD errors;
44 COMSTAT status; 48 COMSTAT status;
45 if (!ClearCommError(file(), &errors, &status) || errors != 0) { 49 if (!ClearCommError(file(), &errors, &status) || errors != 0) {
46 QueueReadCompleted(0, api::serial::RECEIVE_ERROR_SYSTEM_ERROR); 50 QueueReadCompleted(0, api::serial::RECEIVE_ERROR_SYSTEM_ERROR);
47 return; 51 return;
48 } 52 }
49 53
50 SetCommMask(file(), EV_RXCHAR); 54 SetCommMask(file(), EV_RXCHAR);
51 55
52 event_mask_ = 0; 56 event_mask_ = 0;
53 BOOL ok = ::WaitCommEvent(file(), &event_mask_, &comm_context_->overlapped); 57 BOOL ok = ::WaitCommEvent(file(), &event_mask_, &comm_context_->overlapped);
54 if (!ok && GetLastError() != ERROR_IO_PENDING) { 58 if (!ok && GetLastError() != ERROR_IO_PENDING) {
55 QueueReadCompleted(0, api::serial::RECEIVE_ERROR_SYSTEM_ERROR); 59 QueueReadCompleted(0, api::serial::RECEIVE_ERROR_SYSTEM_ERROR);
56 } 60 }
57 is_comm_pending_ = true; 61 is_comm_pending_ = true;
58 } 62 }
59 63
60 void SerialIoHandlerWin::WriteImpl() { 64 void SerialIoHandlerWin::WriteImpl() {
61 DCHECK(CalledOnValidThread()); 65 DCHECK(CalledOnValidThread());
62 DCHECK(pending_write_buffer()); 66 DCHECK(pending_write_buffer());
63 DCHECK_NE(file(), base::kInvalidPlatformFileValue); 67 DCHECK_NE(file(), kInvalidPlatformFileValue);
64 68
65 BOOL ok = ::WriteFile(file(), 69 BOOL ok = ::WriteFile(file(),
66 pending_write_buffer()->data(), 70 pending_write_buffer()->data(),
67 pending_write_buffer_len(), NULL, 71 pending_write_buffer_len(), NULL,
68 &write_context_->overlapped); 72 &write_context_->overlapped);
69 if (!ok && GetLastError() != ERROR_IO_PENDING) { 73 if (!ok && GetLastError() != ERROR_IO_PENDING) {
70 QueueWriteCompleted(0, api::serial::SEND_ERROR_SYSTEM_ERROR); 74 QueueWriteCompleted(0, api::serial::SEND_ERROR_SYSTEM_ERROR);
71 } 75 }
72 } 76 }
73 77
74 void SerialIoHandlerWin::CancelReadImpl() { 78 void SerialIoHandlerWin::CancelReadImpl() {
75 DCHECK(CalledOnValidThread()); 79 DCHECK(CalledOnValidThread());
76 DCHECK_NE(file(), base::kInvalidPlatformFileValue); 80 DCHECK_NE(file(), kInvalidPlatformFileValue);
77 ::CancelIo(file()); 81 ::CancelIo(file());
78 } 82 }
79 83
80 void SerialIoHandlerWin::CancelWriteImpl() { 84 void SerialIoHandlerWin::CancelWriteImpl() {
81 DCHECK(CalledOnValidThread()); 85 DCHECK(CalledOnValidThread());
82 DCHECK_NE(file(), base::kInvalidPlatformFileValue); 86 DCHECK_NE(file(), kInvalidPlatformFileValue);
83 ::CancelIo(file()); 87 ::CancelIo(file());
84 } 88 }
85 89
86 SerialIoHandlerWin::SerialIoHandlerWin() 90 SerialIoHandlerWin::SerialIoHandlerWin()
87 : event_mask_(0), 91 : event_mask_(0),
88 is_comm_pending_(false) { 92 is_comm_pending_(false) {
89 } 93 }
90 94
91 SerialIoHandlerWin::~SerialIoHandlerWin() { 95 SerialIoHandlerWin::~SerialIoHandlerWin() {
92 } 96 }
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 bytes_transferred, 137 bytes_transferred,
134 error == ERROR_SUCCESS ? api::serial::SEND_ERROR_NONE 138 error == ERROR_SUCCESS ? api::serial::SEND_ERROR_NONE
135 : api::serial::SEND_ERROR_SYSTEM_ERROR); 139 : api::serial::SEND_ERROR_SYSTEM_ERROR);
136 } 140 }
137 } else { 141 } else {
138 NOTREACHED() << "Invalid IOContext"; 142 NOTREACHED() << "Invalid IOContext";
139 } 143 }
140 } 144 }
141 145
142 } // namespace extensions 146 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698