| Index: mojo/public/tools/bindings/generators/mojom_cpp_generator.py
|
| diff --git a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py
|
| index 8b7e2197c08b35824826ac7498b79cd43c82ac03..f38aecb80fa0f64c58d490c30b7651f97dbfe643 100644
|
| --- a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py
|
| +++ b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py
|
| @@ -75,6 +75,8 @@ def GetCppType(kind):
|
| GetCppType(kind.key_kind), GetCppType(kind.value_kind))
|
| if mojom.IsStructKind(kind):
|
| return "%s_Data*" % GetNameForKind(kind, internal=True)
|
| + if mojom.IsUnionKind(kind):
|
| + return "%s_Data" % GetNameForKind(kind, internal=True)
|
| if mojom.IsInterfaceKind(kind) or mojom.IsInterfaceRequestKind(kind):
|
| return "mojo::MessagePipeHandle"
|
| if mojom.IsEnumKind(kind):
|
| @@ -91,7 +93,7 @@ def GetCppPodType(kind):
|
| def GetCppArrayArgWrapperType(kind):
|
| if mojom.IsEnumKind(kind):
|
| return GetNameForKind(kind)
|
| - if mojom.IsStructKind(kind):
|
| + if mojom.IsStructKind(kind) or mojom.IsUnionKind(kind):
|
| return "%sPtr" % GetNameForKind(kind)
|
| if mojom.IsArrayKind(kind):
|
| return "mojo::Array<%s> " % GetCppArrayArgWrapperType(kind.kind)
|
| @@ -147,7 +149,7 @@ def GetCppResultWrapperType(kind):
|
| def GetCppWrapperType(kind):
|
| if mojom.IsEnumKind(kind):
|
| return GetNameForKind(kind)
|
| - if mojom.IsStructKind(kind):
|
| + if mojom.IsStructKind(kind) or mojom.IsUnionKind(kind):
|
| return "%sPtr" % GetNameForKind(kind)
|
| if mojom.IsArrayKind(kind):
|
| return "mojo::Array<%s>" % GetCppArrayArgWrapperType(kind.kind)
|
| @@ -206,6 +208,8 @@ def GetCppFieldType(kind):
|
| if mojom.IsStructKind(kind):
|
| return ("mojo::internal::StructPointer<%s_Data>" %
|
| GetNameForKind(kind, internal=True))
|
| + if mojom.IsUnionKind(kind):
|
| + return "%s_Data" % GetNameForKind(kind, internal=True)
|
| if mojom.IsArrayKind(kind):
|
| return "mojo::internal::ArrayPointer<%s>" % GetCppType(kind.kind)
|
| if mojom.IsMapKind(kind):
|
|
|