private CameraItemViewModel CreateItem(CameraInfo info, CameraModelInfo model) { return(new CameraItemViewModel { DisplayName = GetDisplayName(model), Model = model, }); }
public CameraModelsInfo GetCameraModels(CameraInfo cameraInfo) { var camera = GetCamera(cameraInfo); if (camera == null) { return(null); } var models = new CameraModelInfo[camera.Models.Length]; for (var i = 0; i < camera.Models.Length; i++) { models[i] = new CameraModelInfo { Names = camera.Models[i].Names }; } return(GetCameraModels(camera, models)); }
public SoftwareCameraInfo GetCamera(CameraInfo cameraInfo, CameraModelInfo cameraModelInfo) { var camera = GetCamera(cameraInfo); if (camera == null) { return(null); } var model = camera.Models.SingleOrDefault(m => m.Names[0].Equals(cameraModelInfo.Names[0], StringComparison.Ordinal)); if (model == null) { return(null); } return(new SoftwareCameraInfo { Platform = model.Platform, Revision = GetRevision(cameraInfo), }); }
SoftwareCameraInfo IProductCameraProvider.GetCamera(string productName, CameraInfo cameraInfo, CameraModelInfo cameraModelInfo) { if (!new[] { "SDM" }.Contains(productName, StringComparer.InvariantCulture)) { return(null); } if (cameraInfo.Canon?.ModelId == null) { return(null); } var modelId = $"0x{cameraInfo.Canon.ModelId:x}"; if (!Cameras.TryGetValue(modelId, out Camera camera)) { return(null); } var model = camera.Models.SingleOrDefault(m => m.Names[0].Equals(cameraModelInfo.Names[0])); if (model == null) { return(null); } //TODO var platform = model.Prefix; if (productName?.Equals("SDM") == true) { platform = platform.Split('_')[0]; } return(new SoftwareCameraInfo { Platform = platform, Revision = GetFirmwareRevision(cameraInfo) }); }
private static string GetDisplayName(CameraModelInfo model) { return(string.Join("\n", model.Names)); }
public SoftwareCameraInfo GetCamera(string productName, CameraInfo cameraInfo, CameraModelInfo cameraModelInfo) { return(GetProvider(productName)? .GetCamera(cameraInfo, cameraModelInfo)); }