| 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 8f48f8e06f94433128eab17d02eaac93646cfa72..3996d5e9a4c48bcaaeb4587c3ca95a1151cbf536 100644
|
| --- a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py
|
| +++ b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py
|
| @@ -50,7 +50,7 @@ def GetCppType(kind):
|
| if isinstance(kind, mojom.Array):
|
| return "mojo::internal::Array_Data<%s>*" % GetCppType(kind.kind)
|
| if isinstance(kind, mojom.Interface):
|
| - return "%sHandle" % kind.name
|
| + return "mojo::MessagePipeHandle"
|
| if isinstance(kind, mojom.Enum):
|
| return "int32_t"
|
| if kind.spec == 's':
|
| @@ -63,7 +63,7 @@ def GetCppArrayArgWrapperType(kind):
|
| if isinstance(kind, mojom.Array):
|
| return "mojo::Array<%s >" % GetCppArrayArgWrapperType(kind.kind)
|
| if isinstance(kind, mojom.Interface):
|
| - return "%sHandle" % kind.name
|
| + raise Exception("Arrays of interfaces not yet supported!")
|
| if kind.spec == 's':
|
| return "mojo::String"
|
| return _kind_to_cpp_type[kind]
|
| @@ -74,7 +74,7 @@ def GetCppResultWrapperType(kind):
|
| if isinstance(kind, mojom.Array):
|
| return "mojo::Array<%s >" % GetCppArrayArgWrapperType(kind.kind)
|
| if isinstance(kind, mojom.Interface):
|
| - return "Scoped%sHandle" % kind.name
|
| + return "%sPtr" % kind.name
|
| if kind.spec == 's':
|
| return "mojo::String"
|
| if kind.spec == 'h':
|
| @@ -95,7 +95,7 @@ def GetCppWrapperType(kind):
|
| if isinstance(kind, mojom.Array):
|
| return "mojo::Array<%s >" % GetCppArrayArgWrapperType(kind.kind)
|
| if isinstance(kind, mojom.Interface):
|
| - return "mojo::Passable<%sHandle>" % kind.name
|
| + return "mojo::Passable<mojo::MessagePipeHandle>"
|
| if kind.spec == 's':
|
| return "mojo::String"
|
| if generator.IsHandleKind(kind):
|
| @@ -108,7 +108,7 @@ def GetCppConstWrapperType(kind):
|
| if isinstance(kind, mojom.Array):
|
| return "const mojo::Array<%s >&" % GetCppArrayArgWrapperType(kind.kind)
|
| if isinstance(kind, mojom.Interface):
|
| - return "Scoped%sHandle" % kind.name
|
| + return "%sPtr" % kind.name
|
| if isinstance(kind, mojom.Enum):
|
| return GetNameForKind(kind)
|
| if kind.spec == 's':
|
| @@ -134,7 +134,7 @@ def GetCppFieldType(kind):
|
| if isinstance(kind, mojom.Array):
|
| return "mojo::internal::ArrayPointer<%s>" % GetCppType(kind.kind)
|
| if isinstance(kind, mojom.Interface):
|
| - return "%sHandle" % kind.name
|
| + return "mojo::MessagePipeHandle"
|
| if isinstance(kind, mojom.Enum):
|
| return GetNameForKind(kind)
|
| if kind.spec == 's':
|
| @@ -180,6 +180,7 @@ class Generator(generator.Generator):
|
| "get_pad": pack.GetPad,
|
| "is_enum_kind": generator.IsEnumKind,
|
| "is_handle_kind": generator.IsHandleKind,
|
| + "is_interface_kind": generator.IsInterfaceKind,
|
| "is_object_kind": generator.IsObjectKind,
|
| "is_string_kind": generator.IsStringKind,
|
| "is_array_kind": lambda kind: isinstance(kind, mojom.Array),
|
|
|