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

Side by Side Diff: mojo/public/cpp/system/data_pipe.h

Issue 1773403006: [mojo-sdk] Replace assert() usage in bindings with DCHECK. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
« no previous file with comments | « mojo/public/cpp/system/buffer.h ('k') | mojo/public/cpp/system/handle.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // This file provides a C++ wrapping around the Mojo C API for data pipes, 5 // This file provides a C++ wrapping around the Mojo C API for data pipes,
6 // replacing the prefix of "Mojo" with a "mojo" namespace, and using more 6 // replacing the prefix of "Mojo" with a "mojo" namespace, and using more
7 // strongly-typed representations of |MojoHandle|s. 7 // strongly-typed representations of |MojoHandle|s.
8 // 8 //
9 // Please see "mojo/public/c/system/data_pipe.h" for complete documentation of 9 // Please see "mojo/public/c/system/data_pipe.h" for complete documentation of
10 // the API. 10 // the API.
11 11
12 #ifndef MOJO_PUBLIC_CPP_SYSTEM_DATA_PIPE_H_ 12 #ifndef MOJO_PUBLIC_CPP_SYSTEM_DATA_PIPE_H_
13 #define MOJO_PUBLIC_CPP_SYSTEM_DATA_PIPE_H_ 13 #define MOJO_PUBLIC_CPP_SYSTEM_DATA_PIPE_H_
14 14
15 #include <assert.h>
16 #include <stdint.h> 15 #include <stdint.h>
17 16
18 #include "base/compiler_specific.h" 17 #include "base/compiler_specific.h"
18 #include "base/logging.h"
19 #include "mojo/public/c/system/data_pipe.h" 19 #include "mojo/public/c/system/data_pipe.h"
20 #include "mojo/public/cpp/system/handle.h" 20 #include "mojo/public/cpp/system/handle.h"
21 #include "mojo/public/cpp/system/macros.h" 21 #include "mojo/public/cpp/system/macros.h"
22 22
23 namespace mojo { 23 namespace mojo {
24 24
25 // A strongly-typed representation of a |MojoHandle| to the producer end of a 25 // A strongly-typed representation of a |MojoHandle| to the producer end of a
26 // data pipe. 26 // data pipe.
27 class DataPipeProducerHandle : public Handle { 27 class DataPipeProducerHandle : public Handle {
28 public: 28 public:
(...skipping 28 matching lines...) Expand all
57 static_assert(sizeof(ScopedDataPipeConsumerHandle) == 57 static_assert(sizeof(ScopedDataPipeConsumerHandle) ==
58 sizeof(DataPipeConsumerHandle), 58 sizeof(DataPipeConsumerHandle),
59 "Bad size for C++ ScopedDataPipeConsumerHandle"); 59 "Bad size for C++ ScopedDataPipeConsumerHandle");
60 60
61 // Creates a new data pipe. See |MojoCreateDataPipe()| for complete 61 // Creates a new data pipe. See |MojoCreateDataPipe()| for complete
62 // documentation. 62 // documentation.
63 inline MojoResult CreateDataPipe( 63 inline MojoResult CreateDataPipe(
64 const MojoCreateDataPipeOptions* options, 64 const MojoCreateDataPipeOptions* options,
65 ScopedDataPipeProducerHandle* data_pipe_producer, 65 ScopedDataPipeProducerHandle* data_pipe_producer,
66 ScopedDataPipeConsumerHandle* data_pipe_consumer) { 66 ScopedDataPipeConsumerHandle* data_pipe_consumer) {
67 assert(data_pipe_producer); 67 DCHECK(data_pipe_producer);
68 assert(data_pipe_consumer); 68 DCHECK(data_pipe_consumer);
69 DataPipeProducerHandle producer_handle; 69 DataPipeProducerHandle producer_handle;
70 DataPipeConsumerHandle consumer_handle; 70 DataPipeConsumerHandle consumer_handle;
71 MojoResult rv = MojoCreateDataPipe(options, 71 MojoResult rv = MojoCreateDataPipe(options,
72 producer_handle.mutable_value(), 72 producer_handle.mutable_value(),
73 consumer_handle.mutable_value()); 73 consumer_handle.mutable_value());
74 // Reset even on failure (reduces the chances that a "stale"/incorrect handle 74 // Reset even on failure (reduces the chances that a "stale"/incorrect handle
75 // will be used). 75 // will be used).
76 data_pipe_producer->reset(producer_handle); 76 data_pipe_producer->reset(producer_handle);
77 data_pipe_consumer->reset(consumer_handle); 77 data_pipe_consumer->reset(consumer_handle);
78 return rv; 78 return rv;
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 ~DataPipe(); 139 ~DataPipe();
140 140
141 ScopedDataPipeProducerHandle producer_handle; 141 ScopedDataPipeProducerHandle producer_handle;
142 ScopedDataPipeConsumerHandle consumer_handle; 142 ScopedDataPipeConsumerHandle consumer_handle;
143 }; 143 };
144 144
145 inline DataPipe::DataPipe() { 145 inline DataPipe::DataPipe() {
146 MojoResult result = 146 MojoResult result =
147 CreateDataPipe(nullptr, &producer_handle, &consumer_handle); 147 CreateDataPipe(nullptr, &producer_handle, &consumer_handle);
148 ALLOW_UNUSED_LOCAL(result); 148 ALLOW_UNUSED_LOCAL(result);
149 assert(result == MOJO_RESULT_OK); 149 DCHECK_EQ(MOJO_RESULT_OK, result);
150 } 150 }
151 151
152 inline DataPipe::DataPipe(const MojoCreateDataPipeOptions& options) { 152 inline DataPipe::DataPipe(const MojoCreateDataPipeOptions& options) {
153 MojoResult result = 153 MojoResult result =
154 CreateDataPipe(&options, &producer_handle, &consumer_handle); 154 CreateDataPipe(&options, &producer_handle, &consumer_handle);
155 ALLOW_UNUSED_LOCAL(result); 155 ALLOW_UNUSED_LOCAL(result);
156 assert(result == MOJO_RESULT_OK); 156 DCHECK_EQ(MOJO_RESULT_OK, result);
157 } 157 }
158 158
159 inline DataPipe::~DataPipe() { 159 inline DataPipe::~DataPipe() {
160 } 160 }
161 161
162 } // namespace mojo 162 } // namespace mojo
163 163
164 #endif // MOJO_PUBLIC_CPP_SYSTEM_DATA_PIPE_H_ 164 #endif // MOJO_PUBLIC_CPP_SYSTEM_DATA_PIPE_H_
OLDNEW
« no previous file with comments | « mojo/public/cpp/system/buffer.h ('k') | mojo/public/cpp/system/handle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698