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

Side by Side Diff: extensions/browser/api/webcam_private/visca_webcam.cc

Issue 1226353004: Generate all extension schema namespaces as "api" and instead vary the generated bundle names. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 5 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 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 #include "extensions/browser/api/webcam_private/visca_webcam.h" 5 #include "extensions/browser/api/webcam_private/visca_webcam.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "content/public/browser/browser_thread.h" 9 #include "content/public/browser/browser_thread.h"
10 10
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 void ViscaWebcam::Open(const OpenCompleteCallback& open_callback) { 104 void ViscaWebcam::Open(const OpenCompleteCallback& open_callback) {
105 BrowserThread::PostTask( 105 BrowserThread::PostTask(
106 BrowserThread::IO, FROM_HERE, 106 BrowserThread::IO, FROM_HERE,
107 base::Bind(&ViscaWebcam::OpenOnIOThread, weak_ptr_factory_.GetWeakPtr(), 107 base::Bind(&ViscaWebcam::OpenOnIOThread, weak_ptr_factory_.GetWeakPtr(),
108 open_callback)); 108 open_callback));
109 } 109 }
110 110
111 void ViscaWebcam::OpenOnIOThread(const OpenCompleteCallback& open_callback) { 111 void ViscaWebcam::OpenOnIOThread(const OpenCompleteCallback& open_callback) {
112 DCHECK_CURRENTLY_ON(BrowserThread::IO); 112 DCHECK_CURRENTLY_ON(BrowserThread::IO);
113 113
114 core_api::serial::ConnectionOptions options; 114 api::serial::ConnectionOptions options;
115 115
116 // Set the receive buffer size to receive the response data 1 by 1. 116 // Set the receive buffer size to receive the response data 1 by 1.
117 options.buffer_size.reset(new int(1)); 117 options.buffer_size.reset(new int(1));
118 options.persistent.reset(new bool(false)); 118 options.persistent.reset(new bool(false));
119 options.bitrate.reset(new int(9600)); 119 options.bitrate.reset(new int(9600));
120 options.cts_flow_control.reset(new bool(false)); 120 options.cts_flow_control.reset(new bool(false));
121 options.receive_timeout.reset(new int(0)); 121 options.receive_timeout.reset(new int(0));
122 options.send_timeout.reset(new int(0)); 122 options.send_timeout.reset(new int(0));
123 options.data_bits = core_api::serial::DATA_BITS_EIGHT; 123 options.data_bits = api::serial::DATA_BITS_EIGHT;
124 options.parity_bit = core_api::serial::PARITY_BIT_NO; 124 options.parity_bit = api::serial::PARITY_BIT_NO;
125 options.stop_bits = core_api::serial::STOP_BITS_ONE; 125 options.stop_bits = api::serial::STOP_BITS_ONE;
126 126
127 serial_connection_.reset(new SerialConnection(path_, extension_id_)); 127 serial_connection_.reset(new SerialConnection(path_, extension_id_));
128 serial_connection_->Open( 128 serial_connection_->Open(
129 options, base::Bind(&ViscaWebcam::OnConnected, 129 options, base::Bind(&ViscaWebcam::OnConnected,
130 weak_ptr_factory_.GetWeakPtr(), open_callback)); 130 weak_ptr_factory_.GetWeakPtr(), open_callback));
131 } 131 }
132 132
133 void ViscaWebcam::OnConnected(const OpenCompleteCallback& open_callback, 133 void ViscaWebcam::OnConnected(const OpenCompleteCallback& open_callback,
134 bool success) { 134 bool success) {
135 if (!success) { 135 if (!success) {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 if (!commands_.empty() || 178 if (!commands_.empty() ||
179 !serial_connection_->Send( 179 !serial_connection_->Send(
180 command, base::Bind(&ViscaWebcam::OnSendCompleted, 180 command, base::Bind(&ViscaWebcam::OnSendCompleted,
181 weak_ptr_factory_.GetWeakPtr(), callback))) { 181 weak_ptr_factory_.GetWeakPtr(), callback))) {
182 commands_.push_back(std::make_pair(command, callback)); 182 commands_.push_back(std::make_pair(command, callback));
183 } 183 }
184 } 184 }
185 185
186 void ViscaWebcam::OnSendCompleted(const CommandCompleteCallback& callback, 186 void ViscaWebcam::OnSendCompleted(const CommandCompleteCallback& callback,
187 int bytes_sent, 187 int bytes_sent,
188 core_api::serial::SendError error) { 188 api::serial::SendError error) {
189 if (error == core_api::serial::SEND_ERROR_NONE) { 189 if (error == api::serial::SEND_ERROR_NONE) {
190 ReceiveLoop(callback); 190 ReceiveLoop(callback);
191 } else { 191 } else {
192 const std::vector<char> response; 192 const std::vector<char> response;
193 callback.Run(false, response); 193 callback.Run(false, response);
194 } 194 }
195 } 195 }
196 196
197 void ViscaWebcam::ReceiveLoop(const CommandCompleteCallback& callback) { 197 void ViscaWebcam::ReceiveLoop(const CommandCompleteCallback& callback) {
198 serial_connection_->Receive(base::Bind(&ViscaWebcam::OnReceiveCompleted, 198 serial_connection_->Receive(base::Bind(&ViscaWebcam::OnReceiveCompleted,
199 weak_ptr_factory_.GetWeakPtr(), 199 weak_ptr_factory_.GetWeakPtr(),
200 callback)); 200 callback));
201 } 201 }
202 202
203 void ViscaWebcam::OnReceiveCompleted(const CommandCompleteCallback& callback, 203 void ViscaWebcam::OnReceiveCompleted(const CommandCompleteCallback& callback,
204 const std::vector<char>& data, 204 const std::vector<char>& data,
205 core_api::serial::ReceiveError error) { 205 api::serial::ReceiveError error) {
206 data_buffer_.insert(data_buffer_.end(), data.begin(), data.end()); 206 data_buffer_.insert(data_buffer_.end(), data.begin(), data.end());
207 207
208 if (error == core_api::serial::RECEIVE_ERROR_NONE) { 208 if (error == api::serial::RECEIVE_ERROR_NONE) {
209 // Loop until encounter the terminator. 209 // Loop until encounter the terminator.
210 if (int(data_buffer_.back()) != VISCA_TERMINATOR) { 210 if (int(data_buffer_.back()) != VISCA_TERMINATOR) {
211 base::MessageLoop::current()->PostTask( 211 base::MessageLoop::current()->PostTask(
212 FROM_HERE, base::Bind(&ViscaWebcam::ReceiveLoop, 212 FROM_HERE, base::Bind(&ViscaWebcam::ReceiveLoop,
213 weak_ptr_factory_.GetWeakPtr(), callback)); 213 weak_ptr_factory_.GetWeakPtr(), callback));
214 } else { 214 } else {
215 // Clear |data_buffer_|. 215 // Clear |data_buffer_|.
216 std::vector<char> response; 216 std::vector<char> response;
217 response.swap(data_buffer_); 217 response.swap(data_buffer_);
218 218
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 case TILT_DOWN: 390 case TILT_DOWN:
391 command = kPTDownCommand; 391 command = kPTDownCommand;
392 break; 392 break;
393 } 393 }
394 Send(command, base::Bind(&ViscaWebcam::OnCommandCompleted, 394 Send(command, base::Bind(&ViscaWebcam::OnCommandCompleted,
395 weak_ptr_factory_.GetWeakPtr(), COMMAND, &tilt_)); 395 weak_ptr_factory_.GetWeakPtr(), COMMAND, &tilt_));
396 return true; 396 return true;
397 } 397 }
398 398
399 } // namespace extensions 399 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698