#ifndef MOJO_SYSTEM_DATA_PIPE_CONSUMER_DISPATCHER_H_
#define MOJO_SYSTEM_DATA_PIPE_CONSUMER_DISPATCHER_H_
-#include "base/basictypes.h"
-#include "base/compiler_specific.h"
+#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "mojo/system/dispatcher.h"
#include "mojo/system/system_impl_export.h"
virtual void CloseImplNoLock() OVERRIDE;
virtual scoped_refptr<Dispatcher>
CreateEquivalentDispatcherAndCloseImplNoLock() OVERRIDE;
- virtual MojoResult ReadDataImplNoLock(void* elements,
- uint32_t* num_bytes,
+ virtual MojoResult ReadDataImplNoLock(UserPointer<void> elements,
+ UserPointer<uint32_t> num_bytes,
MojoReadDataFlags flags) OVERRIDE;
- virtual MojoResult BeginReadDataImplNoLock(const void** buffer,
- uint32_t* buffer_num_bytes,
- MojoReadDataFlags flags) OVERRIDE;
+ virtual MojoResult BeginReadDataImplNoLock(
+ UserPointer<const void*> buffer,
+ UserPointer<uint32_t> buffer_num_bytes,
+ MojoReadDataFlags flags) OVERRIDE;
virtual MojoResult EndReadDataImplNoLock(uint32_t num_bytes_read) OVERRIDE;
- virtual MojoResult AddWaiterImplNoLock(Waiter* waiter,
- MojoHandleSignals signals,
- uint32_t context) OVERRIDE;
- virtual void RemoveWaiterImplNoLock(Waiter* waiter) OVERRIDE;
+ virtual HandleSignalsState GetHandleSignalsStateImplNoLock() const OVERRIDE;
+ virtual MojoResult AddWaiterImplNoLock(
+ Waiter* waiter,
+ MojoHandleSignals signals,
+ uint32_t context,
+ HandleSignalsState* signals_state) OVERRIDE;
+ virtual void RemoveWaiterImplNoLock(
+ Waiter* waiter,
+ HandleSignalsState* signals_state) OVERRIDE;
virtual bool IsBusyNoLock() const OVERRIDE;
// Protected by |lock()|: