// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: Global_Uconnect_Ext_WIFIHotSpot.proto
#pragma warning disable 1591, 0612, 3021
#region Designer generated code

using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Com.Fca.Uconnect.Global {

  /// <summary>Holder for reflection information generated from Global_Uconnect_Ext_WIFIHotSpot.proto</summary>
  public static partial class GlobalUconnectExtWIFIHotSpotReflection {

    #region Descriptor
    /// <summary>File descriptor for Global_Uconnect_Ext_WIFIHotSpot.proto</summary>
    public static pbr::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbr::FileDescriptor descriptor;

    static GlobalUconnectExtWIFIHotSpotReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "CiVHbG9iYWxfVWNvbm5lY3RfRXh0X1dJRklIb3RTcG90LnByb3RvEhdjb20u",
            "ZmNhLnVjb25uZWN0Lmdsb2JhbCIaChhEYXRhUGFja2FnZVN0YXR1c1JlcXVl",
            "c3Qi4wEKGURhdGFQYWNrYWdlU3RhdHVzUmVzcG9uc2USVQoMcmVzcG9uc2VF",
            "bnVtGAEgASgOMj8uY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YVBhY2th",
            "Z2VTdGF0dXNSZXNwb25zZS5SZXNwb25zZUVudW0SRQoNcGFja2FnZVN0YXR1",
            "cxgCIAEoCzIuLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLldpZmlQYWNrYWdl",
            "RGF0YVN0YXR1cyIoCgxSZXNwb25zZUVudW0SCwoHU1VDQ0VTUxAAEgsKB0ZB",
            "SUxVUkUQASLCAgoVV2lmaVBhY2thZ2VEYXRhU3RhdHVzEk0KCHBsYW5UeXBl",
            "GAcgASgOMjsuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuV2lmaVBhY2thZ2VE",
            "YXRhU3RhdHVzLlBsYW5UeXBlRW51bRIRCgl0aW1lU3RhbXAYASABKAMSEwoL",
            "dG90YWxWb2x1bWUYAiABKAUSEwoLdG90YWxUaW1pbmcYAyABKAUSEgoKdXNl",
            "ZFZvbHVtZRgEIAEoBRISCgp1c2VkVGltaW5nGAUgASgFEhYKDmlzTG93QWxl",
            "cnRGbGFnGAYgASgIIl0KDFBsYW5UeXBlRW51bRIICgROVUxMEAASCQoFVFJJ",
            "QUwQARIKCgZTX1RZUEUQAhIPCgtNT0JJTEVTSEFSRRADEg0KCVVOTElNSVRF",
            "RBAEEgwKCFBPU1RQQUlEEAViBnByb3RvMw=="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { },
          new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataPackageStatusRequest), global::Com.Fca.Uconnect.Global.DataPackageStatusRequest.Parser, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataPackageStatusResponse), global::Com.Fca.Uconnect.Global.DataPackageStatusResponse.Parser, new[]{ "ResponseEnum", "PackageStatus" }, null, new[]{ typeof(global::Com.Fca.Uconnect.Global.DataPackageStatusResponse.Types.ResponseEnum) }, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.WifiPackageDataStatus), global::Com.Fca.Uconnect.Global.WifiPackageDataStatus.Parser, new[]{ "PlanType", "TimeStamp", "TotalVolume", "TotalTiming", "UsedVolume", "UsedTiming", "IsLowAlertFlag" }, null, new[]{ typeof(global::Com.Fca.Uconnect.Global.WifiPackageDataStatus.Types.PlanTypeEnum) }, null)
          }));
    }
    #endregion

  }
  #region Messages
  /// <summary>
  ///*
  /// This message is to request the usage statistics and status of the data package.
  /// &lt;div class=exmsg-main>
  /// &lt;h4>DataPackageStatusRequest Example Message:&lt;/h4>
  /// &lt;div class=ex-msg>
  ///	&lt;code>
  /// 		timestamp: 1489208951655
  /// 		messageId: 1
  /// 		messages
  /// 		{
  /// 		 [com.fca.uconnect.global.dataPackageStatusRequest]
  /// 		 {
  /// 		 }
  /// 		}
  /// &lt;/code>
  /// &lt;/div>
  /// &lt;/div>
  /// </summary>
  public sealed partial class DataPackageStatusRequest : pb::IMessage<DataPackageStatusRequest> {
    private static readonly pb::MessageParser<DataPackageStatusRequest> _parser = new pb::MessageParser<DataPackageStatusRequest>(() => new DataPackageStatusRequest());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<DataPackageStatusRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtWIFIHotSpotReflection.Descriptor.MessageTypes[0]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataPackageStatusRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataPackageStatusRequest(DataPackageStatusRequest other) : this() {
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataPackageStatusRequest Clone() {
      return new DataPackageStatusRequest(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as DataPackageStatusRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(DataPackageStatusRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(DataPackageStatusRequest other) {
      if (other == null) {
        return;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
        }
      }
    }

  }

  /// <summary>
  ///*
  /// This returns with DataPackageStatusResponse which has wifipackageData Status.
  /// &lt;div class=exmsg-main>
  /// &lt;h4>DataPackageStatusRequest Example Message:&lt;/h4>
  /// &lt;div class=ex-msg>
  ///	&lt;code>
  /// 		timestamp: 1489208951716
  /// 		messageId: 10
  /// 		correlationId: 1
  /// 		messages
  /// 		{
  /// 		 [com.fca.uconnect.global.dataPackageStatusResponse]
  /// 		 {
  /// 			responseEnum: SUCCESS
  /// 			wifiPackageDataStatus
  /// 			{
  /// 			 totalVolume: 1000000
  /// 			 totalTiming: 30
  /// 			 usedVolume: 500000
  /// 			 usedTiming: 20
  /// 			 isLowAlertFlag: false
  /// 			}
  /// 		 }
  /// 	   }
  /// &lt;/code>
  /// &lt;/div>
  /// &lt;/div>
  /// </summary>
  public sealed partial class DataPackageStatusResponse : pb::IMessage<DataPackageStatusResponse> {
    private static readonly pb::MessageParser<DataPackageStatusResponse> _parser = new pb::MessageParser<DataPackageStatusResponse>(() => new DataPackageStatusResponse());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<DataPackageStatusResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtWIFIHotSpotReflection.Descriptor.MessageTypes[1]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataPackageStatusResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataPackageStatusResponse(DataPackageStatusResponse other) : this() {
      responseEnum_ = other.responseEnum_;
      PackageStatus = other.packageStatus_ != null ? other.PackageStatus.Clone() : null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataPackageStatusResponse Clone() {
      return new DataPackageStatusResponse(this);
    }

    /// <summary>Field number for the "responseEnum" field.</summary>
    public const int ResponseEnumFieldNumber = 1;
    private global::Com.Fca.Uconnect.Global.DataPackageStatusResponse.Types.ResponseEnum responseEnum_ = 0;
    /// <summary>
    //// Response Enum can be Success or Failure
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.DataPackageStatusResponse.Types.ResponseEnum ResponseEnum {
      get { return responseEnum_; }
      set {
        responseEnum_ = value;
      }
    }

    /// <summary>Field number for the "packageStatus" field.</summary>
    public const int PackageStatusFieldNumber = 2;
    private global::Com.Fca.Uconnect.Global.WifiPackageDataStatus packageStatus_;
    /// <summary>
    //// WifiPackageDataStatus is a message with data status.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.WifiPackageDataStatus PackageStatus {
      get { return packageStatus_; }
      set {
        packageStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as DataPackageStatusResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(DataPackageStatusResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ResponseEnum != other.ResponseEnum) return false;
      if (!object.Equals(PackageStatus, other.PackageStatus)) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (ResponseEnum != 0) hash ^= ResponseEnum.GetHashCode();
      if (packageStatus_ != null) hash ^= PackageStatus.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (ResponseEnum != 0) {
        output.WriteRawTag(8);
        output.WriteEnum((int) ResponseEnum);
      }
      if (packageStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(PackageStatus);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (ResponseEnum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ResponseEnum);
      }
      if (packageStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(PackageStatus);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(DataPackageStatusResponse other) {
      if (other == null) {
        return;
      }
      if (other.ResponseEnum != 0) {
        ResponseEnum = other.ResponseEnum;
      }
      if (other.packageStatus_ != null) {
        if (packageStatus_ == null) {
          packageStatus_ = new global::Com.Fca.Uconnect.Global.WifiPackageDataStatus();
        }
        PackageStatus.MergeFrom(other.PackageStatus);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            responseEnum_ = (global::Com.Fca.Uconnect.Global.DataPackageStatusResponse.Types.ResponseEnum) input.ReadEnum();
            break;
          }
          case 18: {
            if (packageStatus_ == null) {
              packageStatus_ = new global::Com.Fca.Uconnect.Global.WifiPackageDataStatus();
            }
            input.ReadMessage(packageStatus_);
            break;
          }
        }
      }
    }

    #region Nested types
    /// <summary>Container for nested types declared in the DataPackageStatusResponse message type.</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static partial class Types {
      public enum ResponseEnum {
        [pbr::OriginalName("SUCCESS")] Success = 0,
        [pbr::OriginalName("FAILURE")] Failure = 1,
      }

    }
    #endregion

  }

  /// <summary>
  ///*
  /// When remaining data package is getting critically low or other criteria is met,
  /// the SDP sends the data package status to  TBM.
  /// When the sending criteria is met, for example remaining data
  /// low, new data package purchased, etc. the SDP enclose the data volume,
  /// used data, remaining data, package expire date etc., info in this message is sent to IVI client.
  ///   &lt;div class=exmsg-main>
  /// &lt;h4>WifiPackageDataStatusPush Example Message:&lt;/h4>
  /// &lt;div class=ex-msg>
  ///	&lt;code>
  /// 		timestamp: 1489208952657
  /// 		messageId: 11
  /// 		messages
  /// 		{
  /// 		 [com.fca.uconnect.global.wifiPackageDataStatus]
  /// 		 {
  /// 		  totalVolume: 1000000
  /// 		  totalTiming: 30
  /// 		  usedVolume: 900000
  /// 		  usedTiming: 20
  /// 		  isLowAlertFlag: true
  /// 		 }
  /// 		}
  /// &lt;/code>
  /// &lt;/div>
  /// &lt;/div>
  /// </summary>
  public sealed partial class WifiPackageDataStatus : pb::IMessage<WifiPackageDataStatus> {
    private static readonly pb::MessageParser<WifiPackageDataStatus> _parser = new pb::MessageParser<WifiPackageDataStatus>(() => new WifiPackageDataStatus());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<WifiPackageDataStatus> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtWIFIHotSpotReflection.Descriptor.MessageTypes[2]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public WifiPackageDataStatus() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public WifiPackageDataStatus(WifiPackageDataStatus other) : this() {
      planType_ = other.planType_;
      timeStamp_ = other.timeStamp_;
      totalVolume_ = other.totalVolume_;
      totalTiming_ = other.totalTiming_;
      usedVolume_ = other.usedVolume_;
      usedTiming_ = other.usedTiming_;
      isLowAlertFlag_ = other.isLowAlertFlag_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public WifiPackageDataStatus Clone() {
      return new WifiPackageDataStatus(this);
    }

    /// <summary>Field number for the "planType" field.</summary>
    public const int PlanTypeFieldNumber = 7;
    private global::Com.Fca.Uconnect.Global.WifiPackageDataStatus.Types.PlanTypeEnum planType_ = 0;
    /// <summary>
    //// Plan Types, for MY21+
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.WifiPackageDataStatus.Types.PlanTypeEnum PlanType {
      get { return planType_; }
      set {
        planType_ = value;
      }
    }

    /// <summary>Field number for the "timeStamp" field.</summary>
    public const int TimeStampFieldNumber = 1;
    private long timeStamp_;
    /// <summary>
    //// The time at which usage measurements were generated, expressed in milliseconds elapsed since 1 January 1970 00:00:00 UTC.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long TimeStamp {
      get { return timeStamp_; }
      set {
        timeStamp_ = value;
      }
    }

    /// <summary>Field number for the "totalVolume" field.</summary>
    public const int TotalVolumeFieldNumber = 2;
    private int totalVolume_;
    /// <summary>
    //// Total data in KB.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int TotalVolume {
      get { return totalVolume_; }
      set {
        totalVolume_ = value;
      }
    }

    /// <summary>Field number for the "totalTiming" field.</summary>
    public const int TotalTimingFieldNumber = 3;
    private int totalTiming_;
    /// <summary>
    //// Total time in days that this device may be active.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int TotalTiming {
      get { return totalTiming_; }
      set {
        totalTiming_ = value;
      }
    }

    /// <summary>Field number for the "usedVolume" field.</summary>
    public const int UsedVolumeFieldNumber = 4;
    private int usedVolume_;
    /// <summary>
    //// Used data in KB.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int UsedVolume {
      get { return usedVolume_; }
      set {
        usedVolume_ = value;
      }
    }

    /// <summary>Field number for the "usedTiming" field.</summary>
    public const int UsedTimingFieldNumber = 5;
    private int usedTiming_;
    /// <summary>
    //// Used Time expressed in days for data.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int UsedTiming {
      get { return usedTiming_; }
      set {
        usedTiming_ = value;
      }
    }

    /// <summary>Field number for the "isLowAlertFlag" field.</summary>
    public const int IsLowAlertFlagFieldNumber = 6;
    private bool isLowAlertFlag_;
    /// <summary>
    //// This represents whether data is reaching a low point.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool IsLowAlertFlag {
      get { return isLowAlertFlag_; }
      set {
        isLowAlertFlag_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as WifiPackageDataStatus);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(WifiPackageDataStatus other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (PlanType != other.PlanType) return false;
      if (TimeStamp != other.TimeStamp) return false;
      if (TotalVolume != other.TotalVolume) return false;
      if (TotalTiming != other.TotalTiming) return false;
      if (UsedVolume != other.UsedVolume) return false;
      if (UsedTiming != other.UsedTiming) return false;
      if (IsLowAlertFlag != other.IsLowAlertFlag) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (PlanType != 0) hash ^= PlanType.GetHashCode();
      if (TimeStamp != 0L) hash ^= TimeStamp.GetHashCode();
      if (TotalVolume != 0) hash ^= TotalVolume.GetHashCode();
      if (TotalTiming != 0) hash ^= TotalTiming.GetHashCode();
      if (UsedVolume != 0) hash ^= UsedVolume.GetHashCode();
      if (UsedTiming != 0) hash ^= UsedTiming.GetHashCode();
      if (IsLowAlertFlag != false) hash ^= IsLowAlertFlag.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (TimeStamp != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(TimeStamp);
      }
      if (TotalVolume != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(TotalVolume);
      }
      if (TotalTiming != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(TotalTiming);
      }
      if (UsedVolume != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(UsedVolume);
      }
      if (UsedTiming != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(UsedTiming);
      }
      if (IsLowAlertFlag != false) {
        output.WriteRawTag(48);
        output.WriteBool(IsLowAlertFlag);
      }
      if (PlanType != 0) {
        output.WriteRawTag(56);
        output.WriteEnum((int) PlanType);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (PlanType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PlanType);
      }
      if (TimeStamp != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(TimeStamp);
      }
      if (TotalVolume != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TotalVolume);
      }
      if (TotalTiming != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TotalTiming);
      }
      if (UsedVolume != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UsedVolume);
      }
      if (UsedTiming != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UsedTiming);
      }
      if (IsLowAlertFlag != false) {
        size += 1 + 1;
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(WifiPackageDataStatus other) {
      if (other == null) {
        return;
      }
      if (other.PlanType != 0) {
        PlanType = other.PlanType;
      }
      if (other.TimeStamp != 0L) {
        TimeStamp = other.TimeStamp;
      }
      if (other.TotalVolume != 0) {
        TotalVolume = other.TotalVolume;
      }
      if (other.TotalTiming != 0) {
        TotalTiming = other.TotalTiming;
      }
      if (other.UsedVolume != 0) {
        UsedVolume = other.UsedVolume;
      }
      if (other.UsedTiming != 0) {
        UsedTiming = other.UsedTiming;
      }
      if (other.IsLowAlertFlag != false) {
        IsLowAlertFlag = other.IsLowAlertFlag;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            TimeStamp = input.ReadInt64();
            break;
          }
          case 16: {
            TotalVolume = input.ReadInt32();
            break;
          }
          case 24: {
            TotalTiming = input.ReadInt32();
            break;
          }
          case 32: {
            UsedVolume = input.ReadInt32();
            break;
          }
          case 40: {
            UsedTiming = input.ReadInt32();
            break;
          }
          case 48: {
            IsLowAlertFlag = input.ReadBool();
            break;
          }
          case 56: {
            planType_ = (global::Com.Fca.Uconnect.Global.WifiPackageDataStatus.Types.PlanTypeEnum) input.ReadEnum();
            break;
          }
        }
      }
    }

    #region Nested types
    /// <summary>Container for nested types declared in the WifiPackageDataStatus message type.</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static partial class Types {
      public enum PlanTypeEnum {
        [pbr::OriginalName("NULL")] Null = 0,
        /// <summary>
        //// Trial Package
        /// </summary>
        [pbr::OriginalName("TRIAL")] Trial = 1,
        /// <summary>
        //// One Time Session/Auto-Renew Session Active)
        /// </summary>
        [pbr::OriginalName("S_TYPE")] SType = 2,
        /// <summary>
        //// Mobile Share Active
        /// </summary>
        [pbr::OriginalName("MOBILESHARE")] Mobileshare = 3,
        /// <summary>
        //// Unlimited Plan
        /// </summary>
        [pbr::OriginalName("UNLIMITED")] Unlimited = 4,
        /// <summary>
        //// Standalone PostPaid Plan Active
        /// </summary>
        [pbr::OriginalName("POSTPAID")] Postpaid = 5,
      }

    }
    #endregion

  }

  #endregion

}

#endregion Designer generated code
