Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / mojo / system / data_pipe_producer_dispatcher.cc
index d3c69b6..b7e7db3 100644 (file)
@@ -36,7 +36,7 @@ void DataPipeProducerDispatcher::CancelAllWaitersNoLock() {
 void DataPipeProducerDispatcher::CloseImplNoLock() {
   lock().AssertAcquired();
   data_pipe_->ProducerClose();
-  data_pipe_ = NULL;
+  data_pipe_ = nullptr;
 }
 
 scoped_refptr<Dispatcher>
@@ -46,36 +46,25 @@ DataPipeProducerDispatcher::CreateEquivalentDispatcherAndCloseImplNoLock() {
   scoped_refptr<DataPipeProducerDispatcher> rv =
       new DataPipeProducerDispatcher();
   rv->Init(data_pipe_);
-  data_pipe_ = NULL;
+  data_pipe_ = nullptr;
   return scoped_refptr<Dispatcher>(rv.get());
 }
 
 MojoResult DataPipeProducerDispatcher::WriteDataImplNoLock(
-    const void* elements,
-    uint32_t* num_bytes,
+    UserPointer<const void> elements,
+    UserPointer<uint32_t> num_bytes,
     MojoWriteDataFlags flags) {
   lock().AssertAcquired();
-
-  if (!VerifyUserPointer<uint32_t>(num_bytes, 1))
-    return MOJO_RESULT_INVALID_ARGUMENT;
-  if (!VerifyUserPointer<void>(elements, *num_bytes))
-    return MOJO_RESULT_INVALID_ARGUMENT;
-
   return data_pipe_->ProducerWriteData(
       elements, num_bytes, (flags & MOJO_WRITE_DATA_FLAG_ALL_OR_NONE));
 }
 
 MojoResult DataPipeProducerDispatcher::BeginWriteDataImplNoLock(
-    void** buffer,
-    uint32_t* buffer_num_bytes,
+    UserPointer<void*> buffer,
+    UserPointer<uint32_t> buffer_num_bytes,
     MojoWriteDataFlags flags) {
   lock().AssertAcquired();
 
-  if (!VerifyUserPointer<void*>(buffer, 1))
-    return MOJO_RESULT_INVALID_ARGUMENT;
-  if (!VerifyUserPointer<uint32_t>(buffer_num_bytes, 1))
-    return MOJO_RESULT_INVALID_ARGUMENT;
-
   return data_pipe_->ProducerBeginWriteData(
       buffer, buffer_num_bytes, (flags & MOJO_WRITE_DATA_FLAG_ALL_OR_NONE));
 }
@@ -87,17 +76,26 @@ MojoResult DataPipeProducerDispatcher::EndWriteDataImplNoLock(
   return data_pipe_->ProducerEndWriteData(num_bytes_written);
 }
 
+HandleSignalsState DataPipeProducerDispatcher::GetHandleSignalsStateImplNoLock()
+    const {
+  lock().AssertAcquired();
+  return data_pipe_->ProducerGetHandleSignalsState();
+}
+
 MojoResult DataPipeProducerDispatcher::AddWaiterImplNoLock(
     Waiter* waiter,
-    MojoWaitFlags flags,
-    MojoResult wake_result) {
+    MojoHandleSignals signals,
+    uint32_t context,
+    HandleSignalsState* signals_state) {
   lock().AssertAcquired();
-  return data_pipe_->ProducerAddWaiter(waiter, flags, wake_result);
+  return data_pipe_->ProducerAddWaiter(waiter, signals, context, signals_state);
 }
 
-void DataPipeProducerDispatcher::RemoveWaiterImplNoLock(Waiter* waiter) {
+void DataPipeProducerDispatcher::RemoveWaiterImplNoLock(
+    Waiter* waiter,
+    HandleSignalsState* signals_state) {
   lock().AssertAcquired();
-  data_pipe_->ProducerRemoveWaiter(waiter);
+  data_pipe_->ProducerRemoveWaiter(waiter, signals_state);
 }
 
 bool DataPipeProducerDispatcher::IsBusyNoLock() const {