//
#pragma warning disable CS0618
using Microsoft.Kiota.Abstractions.Extensions;
using Microsoft.Kiota.Abstractions.Serialization;
using System.Collections.Generic;
using System.IO;
using System;
namespace Marechai.App.Models
{
[global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
#pragma warning disable CS1591
public partial class ProcessorDto : IAdditionalDataHolder, IParsable
#pragma warning restore CS1591
{
/// Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
public IDictionary AdditionalData { get; set; }
/// The address_bus property
public int? AddressBus { get; set; }
/// The company property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? Company { get; set; }
#nullable restore
#else
public string Company { get; set; }
#endif
/// The company_id property
public int? CompanyId { get; set; }
/// The cores property
public int? Cores { get; set; }
/// The data_bus property
public int? DataBus { get; set; }
/// The die_size property
public float? DieSize { get; set; }
/// The fprs property
public int? Fprs { get; set; }
/// The fpr_size property
public int? FprSize { get; set; }
/// The gprs property
public int? Gprs { get; set; }
/// The gpr_size property
public int? GprSize { get; set; }
/// The id property
public int? Id { get; set; }
/// The instruction_set property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? InstructionSet { get; set; }
#nullable restore
#else
public string InstructionSet { get; set; }
#endif
/// The instruction_set_extensions property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public List? InstructionSetExtensions { get; set; }
#nullable restore
#else
public List InstructionSetExtensions { get; set; }
#endif
/// The instruction_set_id property
public int? InstructionSetId { get; set; }
/// The introduced property
public DateTimeOffset? Introduced { get; set; }
/// The l1_data property
public float? L1Data { get; set; }
/// The l1_instruction property
public float? L1Instruction { get; set; }
/// The l2 property
public float? L2 { get; set; }
/// The l3 property
public float? L3 { get; set; }
/// The model_code property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? ModelCode { get; set; }
#nullable restore
#else
public string ModelCode { get; set; }
#endif
/// The name property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? Name { get; set; }
#nullable restore
#else
public string Name { get; set; }
#endif
/// The package property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? Package { get; set; }
#nullable restore
#else
public string Package { get; set; }
#endif
/// The process property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? Process { get; set; }
#nullable restore
#else
public string Process { get; set; }
#endif
/// The process_nm property
public float? ProcessNm { get; set; }
/// The simd_registers property
public int? SimdRegisters { get; set; }
/// The simd_size property
public int? SimdSize { get; set; }
/// The speed property
public double? Speed { get; set; }
/// The threads_per_core property
public int? ThreadsPerCore { get; set; }
/// The transistors property
public long? Transistors { get; set; }
///
/// Instantiates a new and sets the default values.
///
public ProcessorDto()
{
AdditionalData = new Dictionary();
}
///
/// Creates a new instance of the appropriate class based on discriminator value
///
/// A
/// The parse node to use to read the discriminator value and create the object
public static global::Marechai.App.Models.ProcessorDto CreateFromDiscriminatorValue(IParseNode parseNode)
{
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
return new global::Marechai.App.Models.ProcessorDto();
}
///
/// The deserialization information for the current model
///
/// A IDictionary<string, Action<IParseNode>>
public virtual IDictionary> GetFieldDeserializers()
{
return new Dictionary>
{
{ "address_bus", n => { AddressBus = n.GetIntValue(); } },
{ "company", n => { Company = n.GetStringValue(); } },
{ "company_id", n => { CompanyId = n.GetIntValue(); } },
{ "cores", n => { Cores = n.GetIntValue(); } },
{ "data_bus", n => { DataBus = n.GetIntValue(); } },
{ "die_size", n => { DieSize = n.GetFloatValue(); } },
{ "fpr_size", n => { FprSize = n.GetIntValue(); } },
{ "fprs", n => { Fprs = n.GetIntValue(); } },
{ "gpr_size", n => { GprSize = n.GetIntValue(); } },
{ "gprs", n => { Gprs = n.GetIntValue(); } },
{ "id", n => { Id = n.GetIntValue(); } },
{ "instruction_set", n => { InstructionSet = n.GetStringValue(); } },
{ "instruction_set_extensions", n => { InstructionSetExtensions = n.GetCollectionOfPrimitiveValues()?.AsList(); } },
{ "instruction_set_id", n => { InstructionSetId = n.GetIntValue(); } },
{ "introduced", n => { Introduced = n.GetDateTimeOffsetValue(); } },
{ "l1_data", n => { L1Data = n.GetFloatValue(); } },
{ "l1_instruction", n => { L1Instruction = n.GetFloatValue(); } },
{ "l2", n => { L2 = n.GetFloatValue(); } },
{ "l3", n => { L3 = n.GetFloatValue(); } },
{ "model_code", n => { ModelCode = n.GetStringValue(); } },
{ "name", n => { Name = n.GetStringValue(); } },
{ "package", n => { Package = n.GetStringValue(); } },
{ "process", n => { Process = n.GetStringValue(); } },
{ "process_nm", n => { ProcessNm = n.GetFloatValue(); } },
{ "simd_registers", n => { SimdRegisters = n.GetIntValue(); } },
{ "simd_size", n => { SimdSize = n.GetIntValue(); } },
{ "speed", n => { Speed = n.GetDoubleValue(); } },
{ "threads_per_core", n => { ThreadsPerCore = n.GetIntValue(); } },
{ "transistors", n => { Transistors = n.GetLongValue(); } },
};
}
///
/// Serializes information the current object
///
/// Serialization writer to use to serialize this model
public virtual void Serialize(ISerializationWriter writer)
{
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
writer.WriteIntValue("address_bus", AddressBus);
writer.WriteStringValue("company", Company);
writer.WriteIntValue("company_id", CompanyId);
writer.WriteIntValue("cores", Cores);
writer.WriteIntValue("data_bus", DataBus);
writer.WriteFloatValue("die_size", DieSize);
writer.WriteIntValue("fprs", Fprs);
writer.WriteIntValue("fpr_size", FprSize);
writer.WriteIntValue("gprs", Gprs);
writer.WriteIntValue("gpr_size", GprSize);
writer.WriteIntValue("id", Id);
writer.WriteStringValue("instruction_set", InstructionSet);
writer.WriteCollectionOfPrimitiveValues("instruction_set_extensions", InstructionSetExtensions);
writer.WriteIntValue("instruction_set_id", InstructionSetId);
writer.WriteDateTimeOffsetValue("introduced", Introduced);
writer.WriteFloatValue("l1_data", L1Data);
writer.WriteFloatValue("l1_instruction", L1Instruction);
writer.WriteFloatValue("l2", L2);
writer.WriteFloatValue("l3", L3);
writer.WriteStringValue("model_code", ModelCode);
writer.WriteStringValue("name", Name);
writer.WriteStringValue("package", Package);
writer.WriteStringValue("process", Process);
writer.WriteFloatValue("process_nm", ProcessNm);
writer.WriteIntValue("simd_registers", SimdRegisters);
writer.WriteIntValue("simd_size", SimdSize);
writer.WriteDoubleValue("speed", Speed);
writer.WriteIntValue("threads_per_core", ThreadsPerCore);
writer.WriteLongValue("transistors", Transistors);
writer.WriteAdditionalData(AdditionalData);
}
}
}
#pragma warning restore CS0618