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

Side by Side Diff: mojo/data_pipe_utils/data_pipe_file_utils.cc

Issue 1382713002: Creating a pexe content handler to translate and run pexes. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Tests Added Created 5 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 #include "mojo/data_pipe_utils/data_pipe_utils.h" 5 #include "mojo/data_pipe_utils/data_pipe_utils.h"
6 6
7 #include <stdio.h> 7 #include <stdio.h>
8 8
9 #include <limits> 9 #include <limits>
10 10
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 return nullptr; 328 return nullptr;
329 } 329 }
330 if (!BlockingCopyHelper(source.Pass(), 330 if (!BlockingCopyHelper(source.Pass(),
331 base::Bind(&CopyToFileHelper, fp.get()))) { 331 base::Bind(&CopyToFileHelper, fp.get()))) {
332 LOG(ERROR) << "Could not copy source to temporary file"; 332 LOG(ERROR) << "Could not copy source to temporary file";
333 return nullptr; 333 return nullptr;
334 } 334 }
335 return fp; 335 return fp;
336 } 336 }
337 337
338 base::FilePath BlockingCopyToNewTempFile(ScopedDataPipeConsumerHandle source) {
339 base::FilePath path;
340 base::ScopedFILE fp(CreateAndOpenTemporaryFile(&path));
341 if (!fp) {
342 LOG(ERROR) << "CreateAndOpenTemporaryFile failed in"
343 << "BlockingCopyToTempFile";
344 return base::FilePath("");
345 }
346 if (!BlockingCopyHelper(source.Pass(),
347 base::Bind(&CopyToFileHelper, fp.get()))) {
348 LOG(ERROR) << "Could not copy source to temporary file";
349 return base::FilePath("");
350 }
351 return path;
352 }
353
338 void CopyToFile(ScopedDataPipeConsumerHandle source, 354 void CopyToFile(ScopedDataPipeConsumerHandle source,
339 const base::FilePath& destination, 355 const base::FilePath& destination,
340 base::TaskRunner* task_runner, 356 base::TaskRunner* task_runner,
341 const base::Callback<void(bool)>& callback) { 357 const base::Callback<void(bool)>& callback) {
342 new CopyToFileHandler(source.Pass(), destination, task_runner, callback); 358 new CopyToFileHandler(source.Pass(), destination, task_runner, callback);
343 } 359 }
344 360
345 void CopyFromFile(const base::FilePath& source, 361 void CopyFromFile(const base::FilePath& source,
346 ScopedDataPipeProducerHandle destination, 362 ScopedDataPipeProducerHandle destination,
347 uint32_t skip, 363 uint32_t skip,
348 base::TaskRunner* task_runner, 364 base::TaskRunner* task_runner,
349 const base::Callback<void(bool)>& callback) { 365 const base::Callback<void(bool)>& callback) {
350 new CopyFromFileHandler(source, destination.Pass(), skip, task_runner, 366 new CopyFromFileHandler(source, destination.Pass(), skip, task_runner,
351 callback); 367 callback);
352 } 368 }
353 369
354 } // namespace common 370 } // namespace common
355 } // namespace mojo 371 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698