| Index: mojo/dart/packages/mojo_services/lib/mojo/camera.mojom.dart
 | 
| diff --git a/mojo/dart/packages/mojo_services/lib/mojo/camera.mojom.dart b/mojo/dart/packages/mojo_services/lib/mojo/camera.mojom.dart
 | 
| index 1e2dfc0755fc5ad15db378ad49e8ee563f51af30..240a7b2066110a2686de8d57cbfdadecabc64f1a 100644
 | 
| --- a/mojo/dart/packages/mojo_services/lib/mojo/camera.mojom.dart
 | 
| +++ b/mojo/dart/packages/mojo_services/lib/mojo/camera.mojom.dart
 | 
| @@ -8,6 +8,8 @@ import 'dart:async';
 | 
|  
 | 
|  import 'package:mojo/bindings.dart' as bindings;
 | 
|  import 'package:mojo/core.dart' as core;
 | 
| +import 'package:mojo/mojo/mojom_types.mojom.dart' as mojom_types;
 | 
| +import 'package:mojo/mojo/service_describer.mojom.dart' as service_describer;
 | 
|  
 | 
|  
 | 
|  
 | 
| @@ -84,6 +86,24 @@ class Photo extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _camera_Photo__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'Photo')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'UniqueId')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +..stringType = (new mojom_types.StringType()..nullable = false)),
 | 
| +      
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Content')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +..handleType = (new mojom_types.HandleType()
 | 
| +..kind = mojom_types.HandleTypeKind.DATA_PIPE_CONSUMER
 | 
| +..nullable = false)),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class CameraRollServiceUpdateParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -142,6 +162,12 @@ class CameraRollServiceUpdateParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _camera_CameraRollService_Update_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'CameraRollServiceUpdateParams')
 | 
| +    ..fields = <mojom_types.StructField>[];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class CameraRollServiceGetCountParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -200,6 +226,12 @@ class CameraRollServiceGetCountParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _camera_CameraRollService_GetCount_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'CameraRollServiceGetCountParams')
 | 
| +    ..fields = <mojom_types.StructField>[];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class CameraRollServiceGetCountResponseParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -267,6 +299,16 @@ class CameraRollServiceGetCountResponseParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _camera_CameraRollService_GetCount_ResponseParams__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'CameraRollServiceGetCountResponseParams')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'NumPhotos')
 | 
| +        ..type = (new mojom_types.Type()..simpleType = mojom_types.SimpleType.UINT32),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class CameraRollServiceGetPhotoParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -334,6 +376,16 @@ class CameraRollServiceGetPhotoParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _camera_CameraRollService_GetPhoto_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'CameraRollServiceGetPhotoParams')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Index')
 | 
| +        ..type = (new mojom_types.Type()..simpleType = mojom_types.SimpleType.UINT32),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class CameraRollServiceGetPhotoResponseParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -401,6 +453,23 @@ class CameraRollServiceGetPhotoResponseParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _camera_CameraRollService_GetPhoto_ResponseParams__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'CameraRollServiceGetPhotoResponseParams')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Photo')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +    ..typeReference = (new mojom_types.TypeReference()
 | 
| +    ..nullable = true
 | 
| +  
 | 
| +  
 | 
| +    ..identifier = '_camera_Photo__'
 | 
| +    ..typeKey = '_camera_Photo__'
 | 
| +  )),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class CameraServiceGetLatestFrameParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -459,6 +528,12 @@ class CameraServiceGetLatestFrameParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _camera_CameraService_GetLatestFrame_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'CameraServiceGetLatestFrameParams')
 | 
| +    ..fields = <mojom_types.StructField>[];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class CameraServiceGetLatestFrameResponseParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -525,6 +600,20 @@ class CameraServiceGetLatestFrameResponseParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _camera_CameraService_GetLatestFrame_ResponseParams__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'CameraServiceGetLatestFrameResponseParams')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Content')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +..handleType = (new mojom_types.HandleType()
 | 
| +..kind = mojom_types.HandleTypeKind.DATA_PIPE_CONSUMER
 | 
| +..nullable = true)),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
| +
 | 
|  const int kCameraRollService_update_name = 0;
 | 
|  const int kCameraRollService_getCount_name = 1;
 | 
|  const int kCameraRollService_getPhoto_name = 2;
 | 
| @@ -532,6 +621,37 @@ const int kCameraRollService_getPhoto_name = 2;
 | 
|  const String CameraRollServiceName =
 | 
|        'mojo::CameraRollService';
 | 
|  
 | 
| +mojom_types.MojomInterface _camera_CameraRollService__() {
 | 
| +  return new mojom_types.MojomInterface()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = "CameraRollService")
 | 
| +    ..interfaceName = "CameraRollService"
 | 
| +    ..methods = <int, mojom_types.MojomMethod>{
 | 
| +kCameraRollService_update_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "Update")
 | 
| +        ..ordinal = kCameraRollService_update_name..parameters = _camera_CameraRollService_Update_Params__(),kCameraRollService_getCount_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "GetCount")
 | 
| +        ..ordinal = kCameraRollService_getCount_name
 | 
| +        ..responseParams = _camera_CameraRollService_GetCount_ResponseParams__()..parameters = _camera_CameraRollService_GetCount_Params__(),kCameraRollService_getPhoto_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "GetPhoto")
 | 
| +        ..ordinal = kCameraRollService_getPhoto_name
 | 
| +        ..responseParams = _camera_CameraRollService_GetPhoto_ResponseParams__()..parameters = _camera_CameraRollService_GetPhoto_Params__(),
 | 
| +    };
 | 
| +}
 | 
| +
 | 
| +class _CameraRollServiceServiceDescription extends service_describer.ServiceDescription {
 | 
| +  // Avoid infinite loop by overriding serviceDescription field.
 | 
| +  final service_describer.ServiceDescription serviceDescription = null;
 | 
| +dynamic getTopLevelInterface([Function responseFactory = null]) {
 | 
| +    return _camera_CameraRollService__();
 | 
| +  }
 | 
| +  dynamic getTypeDefinition(String typeKey,[Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions()[typeKey];
 | 
| +  }
 | 
| +  dynamic getAllTypeDefinitions([Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions();
 | 
| +  }
 | 
| +}
 | 
| +
 | 
|  abstract class CameraRollService {
 | 
|    void update();
 | 
|    dynamic getCount([Function responseFactory = null]);
 | 
| @@ -557,6 +677,9 @@ class CameraRollServiceProxyImpl extends bindings.Proxy {
 | 
|  
 | 
|    String get name => CameraRollServiceName;
 | 
|  
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _CameraRollServiceServiceDescription();
 | 
| +
 | 
|    void handleResponse(bindings.ServiceMessage message) {
 | 
|      switch (message.header.type) {
 | 
|        case kCameraRollService_getCount_name:
 | 
| @@ -812,6 +935,9 @@ class CameraRollServiceStub extends bindings.Stub {
 | 
|    }
 | 
|  
 | 
|    int get version => 0;
 | 
| +
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _CameraRollServiceServiceDescription();
 | 
|  }
 | 
|  
 | 
|  const int kCameraService_getLatestFrame_name = 0;
 | 
| @@ -819,6 +945,32 @@ const int kCameraService_getLatestFrame_name = 0;
 | 
|  const String CameraServiceName =
 | 
|        'mojo::CameraService';
 | 
|  
 | 
| +mojom_types.MojomInterface _camera_CameraService__() {
 | 
| +  return new mojom_types.MojomInterface()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = "CameraService")
 | 
| +    ..interfaceName = "CameraService"
 | 
| +    ..methods = <int, mojom_types.MojomMethod>{
 | 
| +kCameraService_getLatestFrame_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "GetLatestFrame")
 | 
| +        ..ordinal = kCameraService_getLatestFrame_name
 | 
| +        ..responseParams = _camera_CameraService_GetLatestFrame_ResponseParams__()..parameters = _camera_CameraService_GetLatestFrame_Params__(),
 | 
| +    };
 | 
| +}
 | 
| +
 | 
| +class _CameraServiceServiceDescription extends service_describer.ServiceDescription {
 | 
| +  // Avoid infinite loop by overriding serviceDescription field.
 | 
| +  final service_describer.ServiceDescription serviceDescription = null;
 | 
| +dynamic getTopLevelInterface([Function responseFactory = null]) {
 | 
| +    return _camera_CameraService__();
 | 
| +  }
 | 
| +  dynamic getTypeDefinition(String typeKey,[Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions()[typeKey];
 | 
| +  }
 | 
| +  dynamic getAllTypeDefinitions([Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions();
 | 
| +  }
 | 
| +}
 | 
| +
 | 
|  abstract class CameraService {
 | 
|    dynamic getLatestFrame([Function responseFactory = null]);
 | 
|  
 | 
| @@ -842,6 +994,9 @@ class CameraServiceProxyImpl extends bindings.Proxy {
 | 
|  
 | 
|    String get name => CameraServiceName;
 | 
|  
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _CameraServiceServiceDescription();
 | 
| +
 | 
|    void handleResponse(bindings.ServiceMessage message) {
 | 
|      switch (message.header.type) {
 | 
|        case kCameraService_getLatestFrame_name:
 | 
| @@ -1027,6 +1182,97 @@ class CameraServiceStub extends bindings.Stub {
 | 
|    }
 | 
|  
 | 
|    int get version => 0;
 | 
| +
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _CameraServiceServiceDescription();
 | 
| +}
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +var _MojomDesc__ = _initDescriptions();
 | 
| +
 | 
| +Map<String, mojom_types.UserDefinedType> _initDescriptions() {
 | 
| +  var map = new Map<String, mojom_types.UserDefinedType>();
 | 
| +  
 | 
| +  map["_camera_Photo__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _camera_Photo__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_camera_CameraRollService_Update_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _camera_CameraRollService_Update_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_camera_CameraRollService_GetCount_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _camera_CameraRollService_GetCount_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_camera_CameraRollService_GetCount_ResponseParams__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _camera_CameraRollService_GetCount_ResponseParams__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_camera_CameraRollService_GetPhoto_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _camera_CameraRollService_GetPhoto_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_camera_CameraRollService_GetPhoto_ResponseParams__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _camera_CameraRollService_GetPhoto_ResponseParams__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_camera_CameraService_GetLatestFrame_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _camera_CameraService_GetLatestFrame_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_camera_CameraService_GetLatestFrame_ResponseParams__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _camera_CameraService_GetLatestFrame_ResponseParams__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_camera_CameraRollService__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..interfaceType = _camera_CameraRollService__();
 | 
| +
 | 
| +  
 | 
| +  map["_camera_CameraService__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..interfaceType = _camera_CameraService__();
 | 
| +
 | 
| +  return map;
 | 
| +}
 | 
| +
 | 
| +Map<String, mojom_types.UserDefinedType> getAllMojomTypeDefinitions() {
 | 
| +  return _MojomDesc__;
 | 
|  }
 | 
|  
 | 
|  
 | 
| 
 |