Example #1
0
        /// <summary>
        /// The get fimware information.
        /// </summary>
        /// <param name="fimwareAssembly">
        /// The assembly file.
        /// </param>
        /// <returns>
        /// The <see cref="FirmwareInformation"/>.
        /// </returns>
        public static IFirmwareInformation GetFimwareInformation(string fimwareAssembly)
        {
            IFirmwareInformation firmware = null;

            try
            {
                if (File.Exists(fimwareAssembly))
                {
                    var assembly  = Assembly.LoadFrom(fimwareAssembly);
                    var instances = from t in assembly.GetTypes() where t.GetInterfaces().Contains(typeof(IFirmwareInformation)) && t.GetConstructor(Type.EmptyTypes) != null select Activator.CreateInstance(t) as IFirmwareInformation;

                    foreach (var instance in instances)
                    {
                        firmware = instance.GetFirmwareInformation();
                        break;
                    }
                }
            }
            catch (Exception)
            {
                return(firmware);
            }

            return(firmware);
        }
Example #2
0
        /// <summary>
        /// The clone.
        /// </summary>
        /// <param name="firmware">
        /// The firmware.
        /// </param>
        public void Clone(IFirmwareInformation firmware)
        {
            if (firmware != null)
            {
                this.BuildNumber = firmware.BuildNumber;

                this.Name    = firmware.Name;
                this.Version = firmware.Version;

                this.AdditionalInformation.Clear();

                foreach (var addInfo in firmware.AdditionalInformation)
                {
                    this.AdditionalInformation.Add(new IFirmwareAddInformationItem {
                        Key = addInfo.Key, Value = addInfo.Value
                    });
                }
            }
            else
            {
                this.BuildNumber = string.Empty;
                this.Name        = string.Empty;
                this.Version     = string.Empty;
                this.AdditionalInformation.Clear();
            }
        }