// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: Global_Uconnect_Ext_VehicleFinder.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_VehicleFinder.proto</summary>
  public static partial class GlobalUconnectExtVehicleFinderReflection {

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

    static GlobalUconnectExtVehicleFinderReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "CidHbG9iYWxfVWNvbm5lY3RfRXh0X1ZlaGljbGVGaW5kZXIucHJvdG8SF2Nv",
            "bS5mY2EudWNvbm5lY3QuZ2xvYmFsGiFHbG9iYWxfVWNvbm5lY3RfVmVoaWNs",
            "ZUluZm8ucHJvdG8iMgoWVmVoaWNsZUxvY2F0aW9uUmVxdWVzdBIYChBzZXJ2",
            "aWNlUmVxdWVzdElEGAEgASgMIs4CChdWZWhpY2xlTG9jYXRpb25SZXNwb25z",
            "ZRJeCghyZXNwb25zZRgBIAEoDjJMLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFs",
            "LlZlaGljbGVMb2NhdGlvblJlc3BvbnNlLlZlaGljbGVMb2NhdGlvblJlc3Bv",
            "bnNlRW51bRIRCgl0aW1lc3RhbXAYAiABKAMSGAoQc2VydmljZVJlcXVlc3RJ",
            "RBgEIAEoDBI6Cg92ZWhpY2xlTG9jYXRpb24YAyABKAsyIS5jb20uZmNhLnVj",
            "b25uZWN0Lmdsb2JhbC5Mb2NhdGlvbiJqChtWZWhpY2xlTG9jYXRpb25SZXNw",
            "b25zZUVudW0SCwoHU1VDQ0VTUxAAEgsKB0ZBSUxVUkUQARIWChJGQUlMVVJF",
            "X1BSSVZBQ1lfT04QAhIZChVGQUlMVVJFX1NQRUVEX0xPQ0tPVVQQAyJUChVW",
            "ZWhpY2xlTG9jYXRpb25VcGRhdGUSOwoQcGVyaW9kaWNMb2NhdGlvbhgBIAEo",
            "CzIhLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkxvY2F0aW9uIvIBChNWZWhp",
            "Y2xlRmluZGVyQ29uZmlnEhAKCE9uRGVtYW5kGAEgASgIEhAKCFBlcmlvZGlj",
            "GAIgASgIEg4KBktleU9mZhgDIAEoCBJTChB1cGRhdGVQZXJpb2RFbnVtGAQg",
            "ASgOMjkuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuVmVoaWNsZUZpbmRlckNv",
            "bmZpZy5VcGRhdGVQZXJpb2QiUgoMVXBkYXRlUGVyaW9kEgoKBkZJVkVfSxAA",
            "EgkKBVRFTl9LEAESDAoIVEhJUlRZX0sQAhILCgdTSVhUWV9LEAMSEAoMT05F",
            "SFVORFJFRF9LEARQAGIGcHJvdG8z"));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::Com.Fca.Uconnect.Global.GlobalUconnectVehicleInfoReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.VehicleLocationRequest), global::Com.Fca.Uconnect.Global.VehicleLocationRequest.Parser, new[]{ "ServiceRequestID" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.VehicleLocationResponse), global::Com.Fca.Uconnect.Global.VehicleLocationResponse.Parser, new[]{ "Response", "Timestamp", "ServiceRequestID", "VehicleLocation" }, null, new[]{ typeof(global::Com.Fca.Uconnect.Global.VehicleLocationResponse.Types.VehicleLocationResponseEnum) }, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.VehicleLocationUpdate), global::Com.Fca.Uconnect.Global.VehicleLocationUpdate.Parser, new[]{ "PeriodicLocation" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.VehicleFinderConfig), global::Com.Fca.Uconnect.Global.VehicleFinderConfig.Parser, new[]{ "OnDemand", "Periodic", "KeyOff", "UpdatePeriodEnum" }, null, new[]{ typeof(global::Com.Fca.Uconnect.Global.VehicleFinderConfig.Types.UpdatePeriod) }, null)
          }));
    }
    #endregion

  }
  #region Messages
  /// <summary>
  ///*
  /// This message is for SDP to request Location of the Vehicle.
  /// &lt;div class=exmsg-main>
  /// &lt;h4>VehicleLocationRequest Example Message:&lt;/h4>
  /// &lt;div class=ex-msg>
  ///	&lt;code>
  ///		timestamp: 1489804992665
  /// 		messageId: 11
  /// 		messages
  /// 		{
  /// 		 [com.fca.uconnect.global.vehicleLocationRequest]
  /// 		 {
  ///
  /// 		 }
  /// 		}
  /// &lt;/code>
  /// &lt;/div>
  /// &lt;/div>
  /// </summary>
  public sealed partial class VehicleLocationRequest : pb::IMessage<VehicleLocationRequest> {
    private static readonly pb::MessageParser<VehicleLocationRequest> _parser = new pb::MessageParser<VehicleLocationRequest>(() => new VehicleLocationRequest());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<VehicleLocationRequest> Parser { get { return _parser; } }

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public VehicleLocationRequest(VehicleLocationRequest other) : this() {
      serviceRequestID_ = other.serviceRequestID_;
    }

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

    /// <summary>Field number for the "serviceRequestID" field.</summary>
    public const int ServiceRequestIDFieldNumber = 1;
    private pb::ByteString serviceRequestID_ = pb::ByteString.Empty;
    /// <summary>
    //// Service Request ID for Vehicle Finder
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pb::ByteString ServiceRequestID {
      get { return serviceRequestID_; }
      set {
        serviceRequestID_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (ServiceRequestID.Length != 0) hash ^= ServiceRequestID.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 (ServiceRequestID.Length != 0) {
        output.WriteRawTag(10);
        output.WriteBytes(ServiceRequestID);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (ServiceRequestID.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(ServiceRequestID);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(VehicleLocationRequest other) {
      if (other == null) {
        return;
      }
      if (other.ServiceRequestID.Length != 0) {
        ServiceRequestID = other.ServiceRequestID;
      }
    }

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

  }

  /// <summary>
  ///*
  /// This message is in response to VehicleLocationRequest from SDP to Client .
  /// &lt;div class=exmsg-main>
  /// &lt;h4>VehicleLocationResponse Example Message:&lt;/h4>
  /// &lt;div class=ex-msg>
  ///	&lt;code>
  ///		timestamp: 1489806024650
  /// 		messageId: 3
  /// 		correlationId: 12
  /// 		messages
  /// 		{
  /// 		 [com.fca.uconnect.global.vehicleLocationResponse]
  /// 		 {
  /// 			response: SUCCESS
  /// 			vehicleLocation
  /// 		    {
  /// 			 longitude: -83.67168
  /// 			 latitude: 42.4804
  /// 		    }
  ///          timestamp: 1489806024650
  /// 		 }
  /// 		}
  /// &lt;/code>
  /// &lt;/div>
  /// &lt;/div>
  /// </summary>
  public sealed partial class VehicleLocationResponse : pb::IMessage<VehicleLocationResponse> {
    private static readonly pb::MessageParser<VehicleLocationResponse> _parser = new pb::MessageParser<VehicleLocationResponse>(() => new VehicleLocationResponse());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<VehicleLocationResponse> Parser { get { return _parser; } }

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public VehicleLocationResponse(VehicleLocationResponse other) : this() {
      response_ = other.response_;
      timestamp_ = other.timestamp_;
      serviceRequestID_ = other.serviceRequestID_;
      VehicleLocation = other.vehicleLocation_ != null ? other.VehicleLocation.Clone() : null;
    }

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

    /// <summary>Field number for the "response" field.</summary>
    public const int ResponseFieldNumber = 1;
    private global::Com.Fca.Uconnect.Global.VehicleLocationResponse.Types.VehicleLocationResponseEnum response_ = 0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.VehicleLocationResponse.Types.VehicleLocationResponseEnum Response {
      get { return response_; }
      set {
        response_ = value;
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 2;
    private long timestamp_;
    /// <summary>
    //// The time of gps location reading which can also be from cache.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

    /// <summary>Field number for the "serviceRequestID" field.</summary>
    public const int ServiceRequestIDFieldNumber = 4;
    private pb::ByteString serviceRequestID_ = pb::ByteString.Empty;
    /// <summary>
    //// Service Request ID from Request
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pb::ByteString ServiceRequestID {
      get { return serviceRequestID_; }
      set {
        serviceRequestID_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "vehicleLocation" field.</summary>
    public const int VehicleLocationFieldNumber = 3;
    private global::Com.Fca.Uconnect.Global.Location vehicleLocation_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.Location VehicleLocation {
      get { return vehicleLocation_; }
      set {
        vehicleLocation_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(VehicleLocationResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Response != other.Response) return false;
      if (Timestamp != other.Timestamp) return false;
      if (ServiceRequestID != other.ServiceRequestID) return false;
      if (!object.Equals(VehicleLocation, other.VehicleLocation)) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Response != 0) hash ^= Response.GetHashCode();
      if (Timestamp != 0L) hash ^= Timestamp.GetHashCode();
      if (ServiceRequestID.Length != 0) hash ^= ServiceRequestID.GetHashCode();
      if (vehicleLocation_ != null) hash ^= VehicleLocation.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 (Response != 0) {
        output.WriteRawTag(8);
        output.WriteEnum((int) Response);
      }
      if (Timestamp != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(Timestamp);
      }
      if (vehicleLocation_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(VehicleLocation);
      }
      if (ServiceRequestID.Length != 0) {
        output.WriteRawTag(34);
        output.WriteBytes(ServiceRequestID);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Response != 0) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Response);
      }
      if (Timestamp != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Timestamp);
      }
      if (ServiceRequestID.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(ServiceRequestID);
      }
      if (vehicleLocation_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(VehicleLocation);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(VehicleLocationResponse other) {
      if (other == null) {
        return;
      }
      if (other.Response != 0) {
        Response = other.Response;
      }
      if (other.Timestamp != 0L) {
        Timestamp = other.Timestamp;
      }
      if (other.ServiceRequestID.Length != 0) {
        ServiceRequestID = other.ServiceRequestID;
      }
      if (other.vehicleLocation_ != null) {
        if (vehicleLocation_ == null) {
          vehicleLocation_ = new global::Com.Fca.Uconnect.Global.Location();
        }
        VehicleLocation.MergeFrom(other.VehicleLocation);
      }
    }

    [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: {
            response_ = (global::Com.Fca.Uconnect.Global.VehicleLocationResponse.Types.VehicleLocationResponseEnum) input.ReadEnum();
            break;
          }
          case 16: {
            Timestamp = input.ReadInt64();
            break;
          }
          case 26: {
            if (vehicleLocation_ == null) {
              vehicleLocation_ = new global::Com.Fca.Uconnect.Global.Location();
            }
            input.ReadMessage(vehicleLocation_);
            break;
          }
          case 34: {
            ServiceRequestID = input.ReadBytes();
            break;
          }
        }
      }
    }

    #region Nested types
    /// <summary>Container for nested types declared in the VehicleLocationResponse message type.</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static partial class Types {
      public enum VehicleLocationResponseEnum {
        /// <summary>
        ////VehicleLocationResponse is Successful.
        /// </summary>
        [pbr::OriginalName("SUCCESS")] Success = 0,
        /// <summary>
        ////VehicleLocationResponse is Failed.
        /// </summary>
        [pbr::OriginalName("FAILURE")] Failure = 1,
        /// <summary>
        //// VehicleFinder Response Privacy is On
        /// </summary>
        [pbr::OriginalName("FAILURE_PRIVACY_ON")] FailurePrivacyOn = 2,
        /// <summary>
        //// VehicleFinder Response Vehicle is motion at speed in excess of 5MPH (NAFTA ONLY)
        /// </summary>
        [pbr::OriginalName("FAILURE_SPEED_LOCKOUT")] FailureSpeedLockout = 3,
      }

    }
    #endregion

  }

  public sealed partial class VehicleLocationUpdate : pb::IMessage<VehicleLocationUpdate> {
    private static readonly pb::MessageParser<VehicleLocationUpdate> _parser = new pb::MessageParser<VehicleLocationUpdate>(() => new VehicleLocationUpdate());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<VehicleLocationUpdate> Parser { get { return _parser; } }

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public VehicleLocationUpdate(VehicleLocationUpdate other) : this() {
      PeriodicLocation = other.periodicLocation_ != null ? other.PeriodicLocation.Clone() : null;
    }

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

    /// <summary>Field number for the "periodicLocation" field.</summary>
    public const int PeriodicLocationFieldNumber = 1;
    private global::Com.Fca.Uconnect.Global.Location periodicLocation_;
    /// <summary>
    //// For Periodic updates of the Vehicle Location
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.Location PeriodicLocation {
      get { return periodicLocation_; }
      set {
        periodicLocation_ = value;
      }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (periodicLocation_ != null) hash ^= PeriodicLocation.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 (periodicLocation_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(PeriodicLocation);
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(VehicleLocationUpdate other) {
      if (other == null) {
        return;
      }
      if (other.periodicLocation_ != null) {
        if (periodicLocation_ == null) {
          periodicLocation_ = new global::Com.Fca.Uconnect.Global.Location();
        }
        PeriodicLocation.MergeFrom(other.PeriodicLocation);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 10: {
            if (periodicLocation_ == null) {
              periodicLocation_ = new global::Com.Fca.Uconnect.Global.Location();
            }
            input.ReadMessage(periodicLocation_);
            break;
          }
        }
      }
    }

  }

  public sealed partial class VehicleFinderConfig : pb::IMessage<VehicleFinderConfig> {
    private static readonly pb::MessageParser<VehicleFinderConfig> _parser = new pb::MessageParser<VehicleFinderConfig>(() => new VehicleFinderConfig());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<VehicleFinderConfig> Parser { get { return _parser; } }

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public VehicleFinderConfig(VehicleFinderConfig other) : this() {
      onDemand_ = other.onDemand_;
      periodic_ = other.periodic_;
      keyOff_ = other.keyOff_;
      updatePeriodEnum_ = other.updatePeriodEnum_;
    }

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

    /// <summary>Field number for the "OnDemand" field.</summary>
    public const int OnDemandFieldNumber = 1;
    private bool onDemand_;
    /// <summary>
    //// Allow On Demand Updates
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool OnDemand {
      get { return onDemand_; }
      set {
        onDemand_ = value;
      }
    }

    /// <summary>Field number for the "Periodic" field.</summary>
    public const int PeriodicFieldNumber = 2;
    private bool periodic_;
    /// <summary>
    //// Allow Periodic Updates
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Periodic {
      get { return periodic_; }
      set {
        periodic_ = value;
      }
    }

    /// <summary>Field number for the "KeyOff" field.</summary>
    public const int KeyOffFieldNumber = 3;
    private bool keyOff_;
    /// <summary>
    ////  Allow at KeyOFf (Use Only when SQDF is not present)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool KeyOff {
      get { return keyOff_; }
      set {
        keyOff_ = value;
      }
    }

    /// <summary>Field number for the "updatePeriodEnum" field.</summary>
    public const int UpdatePeriodEnumFieldNumber = 4;
    private global::Com.Fca.Uconnect.Global.VehicleFinderConfig.Types.UpdatePeriod updatePeriodEnum_ = 0;
    /// <summary>
    //// Periodic Selection expressed in milliseconds (K) for thousands)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.VehicleFinderConfig.Types.UpdatePeriod UpdatePeriodEnum {
      get { return updatePeriodEnum_; }
      set {
        updatePeriodEnum_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(VehicleFinderConfig other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (OnDemand != other.OnDemand) return false;
      if (Periodic != other.Periodic) return false;
      if (KeyOff != other.KeyOff) return false;
      if (UpdatePeriodEnum != other.UpdatePeriodEnum) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (OnDemand != false) hash ^= OnDemand.GetHashCode();
      if (Periodic != false) hash ^= Periodic.GetHashCode();
      if (KeyOff != false) hash ^= KeyOff.GetHashCode();
      if (UpdatePeriodEnum != 0) hash ^= UpdatePeriodEnum.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 (OnDemand != false) {
        output.WriteRawTag(8);
        output.WriteBool(OnDemand);
      }
      if (Periodic != false) {
        output.WriteRawTag(16);
        output.WriteBool(Periodic);
      }
      if (KeyOff != false) {
        output.WriteRawTag(24);
        output.WriteBool(KeyOff);
      }
      if (UpdatePeriodEnum != 0) {
        output.WriteRawTag(32);
        output.WriteEnum((int) UpdatePeriodEnum);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (OnDemand != false) {
        size += 1 + 1;
      }
      if (Periodic != false) {
        size += 1 + 1;
      }
      if (KeyOff != false) {
        size += 1 + 1;
      }
      if (UpdatePeriodEnum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) UpdatePeriodEnum);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(VehicleFinderConfig other) {
      if (other == null) {
        return;
      }
      if (other.OnDemand != false) {
        OnDemand = other.OnDemand;
      }
      if (other.Periodic != false) {
        Periodic = other.Periodic;
      }
      if (other.KeyOff != false) {
        KeyOff = other.KeyOff;
      }
      if (other.UpdatePeriodEnum != 0) {
        UpdatePeriodEnum = other.UpdatePeriodEnum;
      }
    }

    [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: {
            OnDemand = input.ReadBool();
            break;
          }
          case 16: {
            Periodic = input.ReadBool();
            break;
          }
          case 24: {
            KeyOff = input.ReadBool();
            break;
          }
          case 32: {
            updatePeriodEnum_ = (global::Com.Fca.Uconnect.Global.VehicleFinderConfig.Types.UpdatePeriod) input.ReadEnum();
            break;
          }
        }
      }
    }

    #region Nested types
    /// <summary>Container for nested types declared in the VehicleFinderConfig message type.</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static partial class Types {
      public enum UpdatePeriod {
        [pbr::OriginalName("FIVE_K")] FiveK = 0,
        [pbr::OriginalName("TEN_K")] TenK = 1,
        [pbr::OriginalName("THIRTY_K")] ThirtyK = 2,
        [pbr::OriginalName("SIXTY_K")] SixtyK = 3,
        [pbr::OriginalName("ONEHUNDRED_K")] OnehundredK = 4,
      }

    }
    #endregion

  }

  #endregion

}

#endregion Designer generated code
