| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 #ifndef MojoHandle_h | 5 #ifndef MojoHandle_h |
| 6 #define MojoHandle_h | 6 #define MojoHandle_h |
| 7 | 7 |
| 8 #include "bindings/core/v8/ScriptWrappable.h" | 8 #include "bindings/core/v8/ScriptWrappable.h" |
| 9 #include "mojo/public/cpp/system/core.h" | 9 #include "mojo/public/cpp/system/core.h" |
| 10 | 10 |
| 11 namespace blink { | 11 namespace blink { |
| 12 | 12 |
| 13 class ArrayBufferOrArrayBufferView; | 13 class ArrayBufferOrArrayBufferView; |
| 14 class MojoCreateSharedBufferResult; | 14 class MojoCreateSharedBufferResult; |
| 15 class MojoDiscardDataOptions; |
| 15 class MojoDuplicateBufferHandleOptions; | 16 class MojoDuplicateBufferHandleOptions; |
| 16 class MojoHandleSignals; | 17 class MojoHandleSignals; |
| 17 class MojoMapBufferResult; | 18 class MojoMapBufferResult; |
| 19 class MojoReadDataOptions; |
| 20 class MojoReadDataResult; |
| 18 class MojoReadMessageFlags; | 21 class MojoReadMessageFlags; |
| 19 class MojoReadMessageResult; | 22 class MojoReadMessageResult; |
| 20 class MojoWatchCallback; | 23 class MojoWatchCallback; |
| 21 class MojoWatcher; | 24 class MojoWatcher; |
| 25 class MojoWriteDataOptions; |
| 26 class MojoWriteDataResult; |
| 22 class ScriptState; | 27 class ScriptState; |
| 23 | 28 |
| 24 class MojoHandle final : public GarbageCollectedFinalized<MojoHandle>, | 29 class MojoHandle final : public GarbageCollectedFinalized<MojoHandle>, |
| 25 public ScriptWrappable { | 30 public ScriptWrappable { |
| 26 DEFINE_WRAPPERTYPEINFO(); | 31 DEFINE_WRAPPERTYPEINFO(); |
| 27 | 32 |
| 28 public: | 33 public: |
| 29 CORE_EXPORT static MojoHandle* create(mojo::ScopedHandle); | 34 CORE_EXPORT static MojoHandle* create(mojo::ScopedHandle); |
| 30 | 35 |
| 31 void close(); | 36 void close(); |
| 32 MojoWatcher* watch(ScriptState*, | 37 MojoWatcher* watch(ScriptState*, |
| 33 const MojoHandleSignals&, | 38 const MojoHandleSignals&, |
| 34 MojoWatchCallback*); | 39 MojoWatchCallback*); |
| 35 | 40 |
| 36 // MessagePipe handle. | 41 // MessagePipe handle. |
| 37 MojoResult writeMessage(ArrayBufferOrArrayBufferView&, | 42 MojoResult writeMessage(ArrayBufferOrArrayBufferView&, |
| 38 const HeapVector<Member<MojoHandle>>&); | 43 const HeapVector<Member<MojoHandle>>&); |
| 39 void readMessage(const MojoReadMessageFlags&, MojoReadMessageResult&); | 44 void readMessage(const MojoReadMessageFlags&, MojoReadMessageResult&); |
| 40 | 45 |
| 46 // DataPipe handle. |
| 47 void writeData(const ArrayBufferOrArrayBufferView&, |
| 48 const MojoWriteDataOptions&, |
| 49 MojoWriteDataResult&); |
| 50 void queryData(MojoReadDataResult&); |
| 51 void discardData(unsigned numBytes, |
| 52 const MojoDiscardDataOptions&, |
| 53 MojoReadDataResult&); |
| 54 void readData(ArrayBufferOrArrayBufferView&, |
| 55 const MojoReadDataOptions&, |
| 56 MojoReadDataResult&); |
| 57 |
| 41 // SharedBuffer handle. | 58 // SharedBuffer handle. |
| 42 void mapBuffer(unsigned offset, unsigned numBytes, MojoMapBufferResult&); | 59 void mapBuffer(unsigned offset, unsigned numBytes, MojoMapBufferResult&); |
| 43 void duplicateBufferHandle(const MojoDuplicateBufferHandleOptions&, | 60 void duplicateBufferHandle(const MojoDuplicateBufferHandleOptions&, |
| 44 MojoCreateSharedBufferResult&); | 61 MojoCreateSharedBufferResult&); |
| 45 | 62 |
| 46 DEFINE_INLINE_TRACE() {} | 63 DEFINE_INLINE_TRACE() {} |
| 47 | 64 |
| 48 private: | 65 private: |
| 49 explicit MojoHandle(mojo::ScopedHandle); | 66 explicit MojoHandle(mojo::ScopedHandle); |
| 50 | 67 |
| 51 mojo::ScopedHandle m_handle; | 68 mojo::ScopedHandle m_handle; |
| 52 }; | 69 }; |
| 53 | 70 |
| 54 } // namespace blink | 71 } // namespace blink |
| 55 | 72 |
| 56 #endif // MojoHandle_h | 73 #endif // MojoHandle_h |
| OLD | NEW |