blob: a15aaa4048a9e0381abd4257aac5440af730e876 [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
// fidl_experiment = output_index_json
#include <test/encapsulatedstructs/cpp/fidl.h>
#include "lib/fidl/cpp/internal/implementation.h"
//
// Domain objects definitions
//
namespace test {
namespace encapsulatedstructs {
extern "C" const fidl_type_t test_encapsulatedstructs_Int8Int32Table;
const fidl_type_t* Int8Int32::FidlType = &test_encapsulatedstructs_Int8Int32Table;
void Int8Int32::Encode(::fidl::Encoder* _encoder, size_t _offset,
cpp17::optional<::fidl::HandleInformation> maybe_handle_info) {
if (::fidl::IsMemcpyCompatible<Int8Int32>::value) {
memcpy(_encoder->template GetPtr<Int8Int32>(_offset), this, sizeof(Int8Int32));
} else {
::fidl::Encode(_encoder, &a, _offset + 0);
::fidl::Encode(_encoder, &b, _offset + 4);
}
}
void Int8Int32::Decode(::fidl::Decoder* _decoder, Int8Int32* _value, size_t _offset) {
if (::fidl::IsMemcpyCompatible<Int8Int32>::value) {
memcpy(_value, _decoder->template GetPtr<Int8Int32>(_offset), sizeof(Int8Int32));
} else {
::fidl::Decode(_decoder, &_value->a, _offset + 0);
::fidl::Decode(_decoder, &_value->b, _offset + 4);
}
}
zx_status_t Int8Int32::Clone(Int8Int32* _result) const {
zx_status_t _status = ::fidl::Clone(a, &_result->a);
if (_status != ZX_OK)
return _status;
_status = ::fidl::Clone(b, &_result->b);
if (_status != ZX_OK)
return _status;
return ZX_OK;
}
extern "C" const fidl_type_t test_encapsulatedstructs_Int16Int8Table;
const fidl_type_t* Int16Int8::FidlType = &test_encapsulatedstructs_Int16Int8Table;
void Int16Int8::Encode(::fidl::Encoder* _encoder, size_t _offset,
cpp17::optional<::fidl::HandleInformation> maybe_handle_info) {
if (::fidl::IsMemcpyCompatible<Int16Int8>::value) {
memcpy(_encoder->template GetPtr<Int16Int8>(_offset), this, sizeof(Int16Int8));
} else {
::fidl::Encode(_encoder, &a, _offset + 0);
::fidl::Encode(_encoder, &b, _offset + 2);
}
}
void Int16Int8::Decode(::fidl::Decoder* _decoder, Int16Int8* _value, size_t _offset) {
if (::fidl::IsMemcpyCompatible<Int16Int8>::value) {
memcpy(_value, _decoder->template GetPtr<Int16Int8>(_offset), sizeof(Int16Int8));
} else {
::fidl::Decode(_decoder, &_value->a, _offset + 0);
::fidl::Decode(_decoder, &_value->b, _offset + 2);
}
}
zx_status_t Int16Int8::Clone(Int16Int8* _result) const {
zx_status_t _status = ::fidl::Clone(a, &_result->a);
if (_status != ZX_OK)
return _status;
_status = ::fidl::Clone(b, &_result->b);
if (_status != ZX_OK)
return _status;
return ZX_OK;
}
extern "C" const fidl_type_t test_encapsulatedstructs_ArrayInt16Int8Table;
const fidl_type_t* ArrayInt16Int8::FidlType = &test_encapsulatedstructs_ArrayInt16Int8Table;
void ArrayInt16Int8::Encode(::fidl::Encoder* _encoder, size_t _offset,
cpp17::optional<::fidl::HandleInformation> maybe_handle_info) {
if (::fidl::IsMemcpyCompatible<ArrayInt16Int8>::value) {
memcpy(_encoder->template GetPtr<ArrayInt16Int8>(_offset), this, sizeof(ArrayInt16Int8));
} else {
::fidl::Encode(_encoder, &arr, _offset + 0);
}
}
void ArrayInt16Int8::Decode(::fidl::Decoder* _decoder, ArrayInt16Int8* _value, size_t _offset) {
if (::fidl::IsMemcpyCompatible<ArrayInt16Int8>::value) {
memcpy(_value, _decoder->template GetPtr<ArrayInt16Int8>(_offset), sizeof(ArrayInt16Int8));
} else {
::fidl::Decode(_decoder, &_value->arr, _offset + 0);
}
}
zx_status_t ArrayInt16Int8::Clone(ArrayInt16Int8* _result) const {
zx_status_t _status = ::fidl::Clone(arr, &_result->arr);
if (_status != ZX_OK)
return _status;
return ZX_OK;
}
extern "C" const fidl_type_t test_encapsulatedstructs_StructPaddingTestStructTable;
const fidl_type_t* StructPaddingTestStruct::FidlType = &test_encapsulatedstructs_StructPaddingTestStructTable;
void StructPaddingTestStruct::Encode(::fidl::Encoder* _encoder, size_t _offset,
cpp17::optional<::fidl::HandleInformation> maybe_handle_info) {
if (::fidl::IsMemcpyCompatible<StructPaddingTestStruct>::value) {
memcpy(_encoder->template GetPtr<StructPaddingTestStruct>(_offset), this, sizeof(StructPaddingTestStruct));
} else {
::fidl::Encode(_encoder, &trailing, _offset + 0);
::fidl::Encode(_encoder, &inner, _offset + 4);
::fidl::Encode(_encoder, &array, _offset + 12);
}
}
void StructPaddingTestStruct::Decode(::fidl::Decoder* _decoder, StructPaddingTestStruct* _value, size_t _offset) {
if (::fidl::IsMemcpyCompatible<StructPaddingTestStruct>::value) {
memcpy(_value, _decoder->template GetPtr<StructPaddingTestStruct>(_offset), sizeof(StructPaddingTestStruct));
} else {
::fidl::Decode(_decoder, &_value->trailing, _offset + 0);
::fidl::Decode(_decoder, &_value->inner, _offset + 4);
::fidl::Decode(_decoder, &_value->array, _offset + 12);
}
}
zx_status_t StructPaddingTestStruct::Clone(StructPaddingTestStruct* _result) const {
zx_status_t _status = ::fidl::Clone(trailing, &_result->trailing);
if (_status != ZX_OK)
return _status;
_status = ::fidl::Clone(inner, &_result->inner);
if (_status != ZX_OK)
return _status;
_status = ::fidl::Clone(array, &_result->array);
if (_status != ZX_OK)
return _status;
return ZX_OK;
}
#ifdef __Fuchsia__
extern "C" const fidl_type_t test_encapsulatedstructs_NonInlineStructTestStructTable;
const fidl_type_t* NonInlineStructTestStruct::FidlType = &test_encapsulatedstructs_NonInlineStructTestStructTable;
void NonInlineStructTestStruct::Encode(::fidl::Encoder* _encoder, size_t _offset,
cpp17::optional<::fidl::HandleInformation> maybe_handle_info) {
if (::fidl::IsMemcpyCompatible<NonInlineStructTestStruct>::value) {
memcpy(_encoder->template GetPtr<NonInlineStructTestStruct>(_offset), this, sizeof(NonInlineStructTestStruct));
} else {
::fidl::Encode(_encoder, &element, _offset + 0);
::fidl::Encode(_encoder, &h, _offset + 8, ::fidl::HandleInformation{
.object_type = ZX_OBJ_TYPE_NONE,
.rights = 0x80000000,
});
}
}
void NonInlineStructTestStruct::Decode(::fidl::Decoder* _decoder, NonInlineStructTestStruct* _value, size_t _offset) {
if (::fidl::IsMemcpyCompatible<NonInlineStructTestStruct>::value) {
memcpy(_value, _decoder->template GetPtr<NonInlineStructTestStruct>(_offset), sizeof(NonInlineStructTestStruct));
} else {
::fidl::Decode(_decoder, &_value->element, _offset + 0);
::fidl::Decode(_decoder, &_value->h, _offset + 8);
}
}
zx_status_t NonInlineStructTestStruct::Clone(NonInlineStructTestStruct* _result) const {
zx_status_t _status = ::fidl::Clone(element, &_result->element);
if (_status != ZX_OK)
return _status;
_status = ::fidl::Clone(h, &_result->h);
if (_status != ZX_OK)
return _status;
return ZX_OK;
}
#endif // __Fuchsia__
#ifdef __Fuchsia__
extern "C" const fidl_type_t test_encapsulatedstructs_TopLevelStructTable;
const fidl_type_t* TopLevelStruct::FidlType = &test_encapsulatedstructs_TopLevelStructTable;
void TopLevelStruct::Encode(::fidl::Encoder* _encoder, size_t _offset,
cpp17::optional<::fidl::HandleInformation> maybe_handle_info) {
if (::fidl::IsMemcpyCompatible<TopLevelStruct>::value) {
memcpy(_encoder->template GetPtr<TopLevelStruct>(_offset), this, sizeof(TopLevelStruct));
} else {
::fidl::Encode(_encoder, &a, _offset + 0);
::fidl::Encode(_encoder, &b, _offset + 24);
}
}
void TopLevelStruct::Decode(::fidl::Decoder* _decoder, TopLevelStruct* _value, size_t _offset) {
if (::fidl::IsMemcpyCompatible<TopLevelStruct>::value) {
memcpy(_value, _decoder->template GetPtr<TopLevelStruct>(_offset), sizeof(TopLevelStruct));
} else {
::fidl::Decode(_decoder, &_value->a, _offset + 0);
::fidl::Decode(_decoder, &_value->b, _offset + 24);
}
}
zx_status_t TopLevelStruct::Clone(TopLevelStruct* _result) const {
zx_status_t _status = ::fidl::Clone(a, &_result->a);
if (_status != ZX_OK)
return _status;
_status = ::fidl::Clone(b, &_result->b);
if (_status != ZX_OK)
return _status;
return ZX_OK;
}
#endif // __Fuchsia__
//
// Proxies and stubs definitions
//
} // namespace encapsulatedstructs
} // namespace test