| Index: mojo/shell/application_manager/data_pipe_peek.h | 
| diff --git a/mojo/shell/application_manager/data_pipe_peek.h b/mojo/shell/application_manager/data_pipe_peek.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..5ffbc5b020addcaee09d3dc5c8d3c16dd7f5efb8 | 
| --- /dev/null | 
| +++ b/mojo/shell/application_manager/data_pipe_peek.h | 
| @@ -0,0 +1,38 @@ | 
| +// Copyright 2014 The Chromium Authors. All rights reserved. | 
| +// Use of this source code is governed by a BSD-style license that can be | 
| +// found in the LICENSE file. | 
| + | 
| +#ifndef SHELL_APPLICATION_MANAGER_DATA_PIPE_SEEK_H_ | 
| +#define SHELL_APPLICATION_MANAGER_DATA_PIPE_SEEK_H_ | 
| + | 
| +#include <string> | 
| + | 
| +#include "mojo/public/cpp/system/core.h" | 
| + | 
| +namespace mojo { | 
| +namespace shell { | 
| + | 
| +// The Peek functions are only intended to be used by the | 
| +// DyanmicApplicationLoader class for discovering the type of a | 
| +// URL response. They are a stopgap to be replaced by real support | 
| +// in the DataPipe classes. | 
| + | 
| +// Return true and the first newline terminated line from source. Return false | 
| +// if more than max_line_length bytes are scanned without seeing a newline, or | 
| +// if the timeout is exceeded. | 
| +bool BlockingPeekLine(DataPipeConsumerHandle source, | 
| +                      std::string* line, | 
| +                      size_t max_line_length, | 
| +                      MojoDeadline timeout); | 
| + | 
| +// Return true and the first bytes_length bytes from source. Return false | 
| +// if the timeout is exceeded. | 
| +bool BlockingPeekNBytes(DataPipeConsumerHandle source, | 
| +                        std::string* bytes, | 
| +                        size_t bytes_length, | 
| +                        MojoDeadline timeout); | 
| + | 
| +}  // namespace shell | 
| +}  // namespace mojo | 
| + | 
| +#endif  // SHELL_APPLICATION_MANAGER_DATA_PIPE_SEEK_H_ | 
|  |