Example #1
0
 private CameraItemViewModel CreateItem(CameraInfo info, CameraModelInfo model)
 {
     return(new CameraItemViewModel
     {
         DisplayName = GetDisplayName(model),
         Model = model,
     });
 }
Example #2
0
        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));
        }
Example #3
0
        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),
            });
        }
Example #4
0
        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)
            });
        }
Example #5
0
 private static string GetDisplayName(CameraModelInfo model)
 {
     return(string.Join("\n", model.Names));
 }
Example #6
0
 public SoftwareCameraInfo GetCamera(string productName, CameraInfo cameraInfo, CameraModelInfo cameraModelInfo)
 {
     return(GetProvider(productName)?
            .GetCamera(cameraInfo, cameraModelInfo));
 }