| OLD | NEW |
| 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 "third_party/mojo/src/mojo/edk/system/core.h" | 5 #include "third_party/mojo/src/mojo/edk/system/core.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 &index, reinterpret_cast<HandleSignalsState*>( | 178 &index, reinterpret_cast<HandleSignalsState*>( |
| 179 signals_states_writer.GetPointer())); | 179 signals_states_writer.GetPointer())); |
| 180 if (rv != MOJO_RESULT_INVALID_ARGUMENT) | 180 if (rv != MOJO_RESULT_INVALID_ARGUMENT) |
| 181 signals_states_writer.Commit(); | 181 signals_states_writer.Commit(); |
| 182 } | 182 } |
| 183 if (index != static_cast<uint32_t>(-1) && !result_index.IsNull()) | 183 if (index != static_cast<uint32_t>(-1) && !result_index.IsNull()) |
| 184 result_index.Put(index); | 184 result_index.Put(index); |
| 185 return rv; | 185 return rv; |
| 186 } | 186 } |
| 187 | 187 |
| 188 MojoResult Core::CreateWaitSet(UserPointer<MojoHandle> wait_set_handle) { |
| 189 if (wait_set_handle.IsNull()) |
| 190 return MOJO_RESULT_INVALID_ARGUMENT; |
| 191 |
| 192 return MOJO_RESULT_UNIMPLEMENTED; |
| 193 } |
| 194 |
| 195 MojoResult Core::AddHandle(MojoHandle wait_set_handle, |
| 196 MojoHandle handle, |
| 197 MojoHandleSignals signals) { |
| 198 scoped_refptr<Dispatcher> wait_set_dispatcher(GetDispatcher(wait_set_handle)); |
| 199 if (!wait_set_dispatcher) |
| 200 return MOJO_RESULT_INVALID_ARGUMENT; |
| 201 |
| 202 scoped_refptr<Dispatcher> dispatcher(GetDispatcher(handle)); |
| 203 if (!dispatcher) |
| 204 return MOJO_RESULT_INVALID_ARGUMENT; |
| 205 |
| 206 return MOJO_RESULT_UNIMPLEMENTED; |
| 207 } |
| 208 |
| 209 MojoResult Core::RemoveHandle(MojoHandle wait_set_handle, |
| 210 MojoHandle handle) { |
| 211 scoped_refptr<Dispatcher> wait_set_dispatcher(GetDispatcher(wait_set_handle)); |
| 212 if (!wait_set_dispatcher) |
| 213 return MOJO_RESULT_INVALID_ARGUMENT; |
| 214 |
| 215 scoped_refptr<Dispatcher> dispatcher(GetDispatcher(handle)); |
| 216 if (!dispatcher) |
| 217 return MOJO_RESULT_INVALID_ARGUMENT; |
| 218 |
| 219 return MOJO_RESULT_UNIMPLEMENTED; |
| 220 } |
| 221 |
| 222 MojoResult Core::GetReadyHandles( |
| 223 MojoHandle wait_set_handle, |
| 224 UserPointer<uint32_t> count, |
| 225 UserPointer<MojoHandle> handles, |
| 226 UserPointer<MojoResult> results, |
| 227 UserPointer<MojoHandleSignalsState> signals_states) { |
| 228 scoped_refptr<Dispatcher> wait_set_dispatcher(GetDispatcher(wait_set_handle)); |
| 229 if (!wait_set_dispatcher) |
| 230 return MOJO_RESULT_INVALID_ARGUMENT; |
| 231 |
| 232 if (count.IsNull() || !count.Get() || handles.IsNull() || results.IsNull()) |
| 233 return MOJO_RESULT_INVALID_ARGUMENT; |
| 234 |
| 235 return MOJO_RESULT_UNIMPLEMENTED; |
| 236 } |
| 237 |
| 188 MojoResult Core::CreateMessagePipe( | 238 MojoResult Core::CreateMessagePipe( |
| 189 UserPointer<const MojoCreateMessagePipeOptions> options, | 239 UserPointer<const MojoCreateMessagePipeOptions> options, |
| 190 UserPointer<MojoHandle> message_pipe_handle0, | 240 UserPointer<MojoHandle> message_pipe_handle0, |
| 191 UserPointer<MojoHandle> message_pipe_handle1) { | 241 UserPointer<MojoHandle> message_pipe_handle1) { |
| 192 MojoCreateMessagePipeOptions validated_options = {}; | 242 MojoCreateMessagePipeOptions validated_options = {}; |
| 193 MojoResult result = | 243 MojoResult result = |
| 194 MessagePipeDispatcher::ValidateCreateOptions(options, &validated_options); | 244 MessagePipeDispatcher::ValidateCreateOptions(options, &validated_options); |
| 195 if (result != MOJO_RESULT_OK) | 245 if (result != MOJO_RESULT_OK) |
| 196 return result; | 246 return result; |
| 197 | 247 |
| (...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 603 if (signals_states) { | 653 if (signals_states) { |
| 604 for (; i < num_handles; i++) | 654 for (; i < num_handles; i++) |
| 605 signals_states[i] = dispatchers[i]->GetHandleSignalsState(); | 655 signals_states[i] = dispatchers[i]->GetHandleSignalsState(); |
| 606 } | 656 } |
| 607 | 657 |
| 608 return rv; | 658 return rv; |
| 609 } | 659 } |
| 610 | 660 |
| 611 } // namespace system | 661 } // namespace system |
| 612 } // namespace mojo | 662 } // namespace mojo |
| OLD | NEW |