| Index: mojo/public/rust/src/bindings/macros.rs
|
| diff --git a/mojo/public/rust/src/bindings/macros.rs b/mojo/public/rust/src/bindings/macros.rs
|
| deleted file mode 100644
|
| index 76e81b812aadb0ad6d548f91a890c68b1a837ad7..0000000000000000000000000000000000000000
|
| --- a/mojo/public/rust/src/bindings/macros.rs
|
| +++ /dev/null
|
| @@ -1,131 +0,0 @@
|
| -// Copyright 2016 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -/// This macro provides a common implementation of MojomEncodable
|
| -/// for MojomPointer types.
|
| -///
|
| -/// Note: it does not implement compute_size();
|
| -///
|
| -/// The Rust type system currently lacks the facilities to do this
|
| -/// generically (need mutually excludable traits) but this macro
|
| -/// should be replaced as soon as this is possible.
|
| -#[macro_export]
|
| -macro_rules! impl_encodable_for_pointer {
|
| - () => {
|
| - fn mojom_alignment() -> usize {
|
| - 8 // All mojom pointers are 8 bytes in length, and thus are 8-byte aligned
|
| - }
|
| - fn mojom_type() -> $crate::bindings::mojom::MojomType {
|
| - $crate::bindings::mojom::MojomType::Pointer
|
| - }
|
| - fn embed_size(_context: &$crate::bindings::encoding::Context) -> $crate::bindings::encoding::Bits {
|
| - $crate::bindings::mojom::POINTER_BIT_SIZE
|
| - }
|
| - fn encode(self, encoder: &mut $crate::bindings::encoding::Encoder, context: $crate::bindings::encoding::Context) {
|
| - let loc = encoder.size() as u64;
|
| - {
|
| - let state = encoder.get_mut(&context);
|
| - state.encode_pointer(loc);
|
| - }
|
| - self.encode_new(encoder, context);
|
| - }
|
| - fn decode(decoder: &mut $crate::bindings::decoding::Decoder, context: $crate::bindings::encoding::Context) -> Result<Self, ValidationError> {
|
| - let ptr = {
|
| - let state = decoder.get_mut(&context);
|
| - match state.decode_pointer() {
|
| - Some(ptr) => ptr,
|
| - None => return Err(ValidationError::IllegalPointer),
|
| - }
|
| - };
|
| - if ptr == $crate::bindings::mojom::MOJOM_NULL_POINTER {
|
| - Err(ValidationError::UnexpectedNullPointer)
|
| - } else {
|
| - Self::decode_new(decoder, context, ptr)
|
| - }
|
| - }
|
| - };
|
| -}
|
| -
|
| -/// This macro provides a common implementation of MojomEncodable
|
| -/// for MojomUnion types.
|
| -///
|
| -/// Note: it does not implement compute_size();
|
| -///
|
| -/// The Rust type system currently lacks the facilities to do this
|
| -/// generically (need mutually excludable traits) but this macro
|
| -/// should be replaced as soon as this is possible.
|
| -#[macro_export]
|
| -macro_rules! impl_encodable_for_union {
|
| - () => {
|
| - fn mojom_alignment() -> usize {
|
| - 8
|
| - }
|
| - fn mojom_type() -> $crate::bindings::mojom::MojomType {
|
| - $crate::bindings::mojom::MojomType::Union
|
| - }
|
| - fn embed_size(context: &$crate::bindings::encoding::Context) -> $crate::bindings::encoding::Bits {
|
| - if context.is_union() {
|
| - Self::nested_embed_size()
|
| - } else {
|
| - Self::inline_embed_size()
|
| - }
|
| - }
|
| - fn encode(self, encoder: &mut $crate::bindings::encoding::Encoder, context: $crate::bindings::encoding::Context) {
|
| - if context.is_union() {
|
| - self.nested_encode(encoder, context);
|
| - } else {
|
| - self.inline_encode(encoder, context.set_is_union(true));
|
| - }
|
| - }
|
| - fn decode(decoder: &mut $crate::bindings::decoding::Decoder, context: $crate::bindings::encoding::Context) -> Result<Self, ValidationError> {
|
| - if context.is_union() {
|
| - Self::nested_decode(decoder, context)
|
| - } else {
|
| - Self::inline_decode(decoder, context.set_is_union(true))
|
| - }
|
| - }
|
| - }
|
| -}
|
| -
|
| -/// This macro provides a common implementation of MojomEncodable
|
| -/// for MojomInterface types.
|
| -///
|
| -/// Note: it does not implement compute_size();
|
| -///
|
| -/// The Rust type system currently lacks the facilities to do this
|
| -/// generically (need mutually excludable traits) but this macro
|
| -/// should be replaced as soon as this is possible.
|
| -#[macro_export]
|
| -macro_rules! impl_encodable_for_interface {
|
| - () => {
|
| - fn mojom_alignment() -> usize {
|
| - 4
|
| - }
|
| - fn mojom_type() -> $crate::bindings::mojom::MojomType {
|
| - $crate::bindings::mojom::MojomType::Interface
|
| - }
|
| - fn embed_size(_context: &$crate::bindings::encoding::Context) -> $crate::bindings::encoding::Bits {
|
| - use std::mem;
|
| - $crate::bindings::encoding::Bits(2 * 8 * mem::size_of::<u32>())
|
| - }
|
| - fn compute_size(&self, _context: $crate::bindings::encoding::Context) -> usize {
|
| - 0 // Indicates that this type is inlined and it adds nothing external to the size
|
| - }
|
| - fn encode(self, encoder: &mut $crate::bindings::encoding::Encoder, context: $crate::bindings::encoding::Context) {
|
| - let version = self.version();
|
| - let pos = encoder.add_handle(self.as_untyped());
|
| - let mut state = encoder.get_mut(&context);
|
| - state.encode(pos as i32);
|
| - state.encode(version as u32);
|
| - }
|
| - fn decode(decoder: &mut $crate::bindings::decoding::Decoder, context: $crate::bindings::encoding::Context) -> Result<Self, ValidationError> {
|
| - let (handle_index, version) = {
|
| - let mut state = decoder.get_mut(&context);
|
| - (state.decode::<i32>(), state.decode::<u32>())
|
| - };
|
| - let handle = try!(decoder.claim_handle::<$crate::system::message_pipe::MessageEndpoint>(handle_index));
|
| - Ok(Self::with_version(handle, version))
|
| - }
|
| - }
|
| -}
|
|
|