// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: Global_Uconnect_Ext_RemoteInhibits.proto

#ifndef PROTOBUF_Global_5fUconnect_5fExt_5fRemoteInhibits_2eproto__INCLUDED
#define PROTOBUF_Global_5fUconnect_5fExt_5fRemoteInhibits_2eproto__INCLUDED

#include <string>

#include <google/protobuf/stubs/common.h>

#if GOOGLE_PROTOBUF_VERSION < 3003000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please update
#error your headers.
#endif
#if 3003000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
#include "Global_Uconnect_VehicleInfo.pb.h"  // IWYU pragma: export
// @@protoc_insertion_point(includes)
namespace com {
namespace fca {
namespace uconnect {
namespace global {
class Address;
class AddressDefaultTypeInternal;
extern AddressDefaultTypeInternal _Address_default_instance_;
class CrankAttemptedNotification;
class CrankAttemptedNotificationDefaultTypeInternal;
extern CrankAttemptedNotificationDefaultTypeInternal _CrankAttemptedNotification_default_instance_;
class Destination;
class DestinationDefaultTypeInternal;
extern DestinationDefaultTypeInternal _Destination_default_instance_;
class Location;
class LocationDefaultTypeInternal;
extern LocationDefaultTypeInternal _Location_default_instance_;
class PointOfInterest;
class PointOfInterestDefaultTypeInternal;
extern PointOfInterestDefaultTypeInternal _PointOfInterest_default_instance_;
class RemoteInhibitRequest;
class RemoteInhibitRequestDefaultTypeInternal;
extern RemoteInhibitRequestDefaultTypeInternal _RemoteInhibitRequest_default_instance_;
class RemoteInhibitResponse;
class RemoteInhibitResponseDefaultTypeInternal;
extern RemoteInhibitResponseDefaultTypeInternal _RemoteInhibitResponse_default_instance_;
class TirePressure;
class TirePressureDefaultTypeInternal;
extern TirePressureDefaultTypeInternal _TirePressure_default_instance_;
class VehicleInfo;
class VehicleInfoDefaultTypeInternal;
extern VehicleInfoDefaultTypeInternal _VehicleInfo_default_instance_;
class VehicleStatus;
class VehicleStatusDefaultTypeInternal;
extern VehicleStatusDefaultTypeInternal _VehicleStatus_default_instance_;
class VehicleStatus_VehicleStatusParametersEntry;
class VehicleStatus_VehicleStatusParametersEntryDefaultTypeInternal;
extern VehicleStatus_VehicleStatusParametersEntryDefaultTypeInternal _VehicleStatus_VehicleStatusParametersEntry_default_instance_;
class VehicleStatus_VehicleStatusTypeEntry;
class VehicleStatus_VehicleStatusTypeEntryDefaultTypeInternal;
extern VehicleStatus_VehicleStatusTypeEntryDefaultTypeInternal _VehicleStatus_VehicleStatusTypeEntry_default_instance_;
}  // namespace global
}  // namespace uconnect
}  // namespace fca
}  // namespace com

namespace com {
namespace fca {
namespace uconnect {
namespace global {

namespace protobuf_Global_5fUconnect_5fExt_5fRemoteInhibits_2eproto {
// Internal implementation detail -- do not call these.
struct TableStruct {
  static const ::google::protobuf::internal::ParseTableField entries[];
  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
  static const ::google::protobuf::internal::ParseTable schema[];
  static const ::google::protobuf::uint32 offsets[];
  static void InitDefaultsImpl();
  static void Shutdown();
};
void AddDescriptors();
void InitDefaults();
}  // namespace protobuf_Global_5fUconnect_5fExt_5fRemoteInhibits_2eproto

enum RemoteInhibitRequest_CrankInhibitEnum {
  RemoteInhibitRequest_CrankInhibitEnum_END_INHIBIT = 0,
  RemoteInhibitRequest_CrankInhibitEnum_INHIBIT = 1,
  RemoteInhibitRequest_CrankInhibitEnum_RemoteInhibitRequest_CrankInhibitEnum_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min,
  RemoteInhibitRequest_CrankInhibitEnum_RemoteInhibitRequest_CrankInhibitEnum_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max
};
bool RemoteInhibitRequest_CrankInhibitEnum_IsValid(int value);
const RemoteInhibitRequest_CrankInhibitEnum RemoteInhibitRequest_CrankInhibitEnum_CrankInhibitEnum_MIN = RemoteInhibitRequest_CrankInhibitEnum_END_INHIBIT;
const RemoteInhibitRequest_CrankInhibitEnum RemoteInhibitRequest_CrankInhibitEnum_CrankInhibitEnum_MAX = RemoteInhibitRequest_CrankInhibitEnum_INHIBIT;
const int RemoteInhibitRequest_CrankInhibitEnum_CrankInhibitEnum_ARRAYSIZE = RemoteInhibitRequest_CrankInhibitEnum_CrankInhibitEnum_MAX + 1;

const ::google::protobuf::EnumDescriptor* RemoteInhibitRequest_CrankInhibitEnum_descriptor();
inline const ::std::string& RemoteInhibitRequest_CrankInhibitEnum_Name(RemoteInhibitRequest_CrankInhibitEnum value) {
  return ::google::protobuf::internal::NameOfEnum(
    RemoteInhibitRequest_CrankInhibitEnum_descriptor(), value);
}
inline bool RemoteInhibitRequest_CrankInhibitEnum_Parse(
    const ::std::string& name, RemoteInhibitRequest_CrankInhibitEnum* value) {
  return ::google::protobuf::internal::ParseNamedEnum<RemoteInhibitRequest_CrankInhibitEnum>(
    RemoteInhibitRequest_CrankInhibitEnum_descriptor(), name, value);
}
enum RemoteInhibitRequest_EngineSlowEnum {
  RemoteInhibitRequest_EngineSlowEnum_EXIT_SLOW = 0,
  RemoteInhibitRequest_EngineSlowEnum_SLOW = 1,
  RemoteInhibitRequest_EngineSlowEnum_RemoteInhibitRequest_EngineSlowEnum_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min,
  RemoteInhibitRequest_EngineSlowEnum_RemoteInhibitRequest_EngineSlowEnum_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max
};
bool RemoteInhibitRequest_EngineSlowEnum_IsValid(int value);
const RemoteInhibitRequest_EngineSlowEnum RemoteInhibitRequest_EngineSlowEnum_EngineSlowEnum_MIN = RemoteInhibitRequest_EngineSlowEnum_EXIT_SLOW;
const RemoteInhibitRequest_EngineSlowEnum RemoteInhibitRequest_EngineSlowEnum_EngineSlowEnum_MAX = RemoteInhibitRequest_EngineSlowEnum_SLOW;
const int RemoteInhibitRequest_EngineSlowEnum_EngineSlowEnum_ARRAYSIZE = RemoteInhibitRequest_EngineSlowEnum_EngineSlowEnum_MAX + 1;

const ::google::protobuf::EnumDescriptor* RemoteInhibitRequest_EngineSlowEnum_descriptor();
inline const ::std::string& RemoteInhibitRequest_EngineSlowEnum_Name(RemoteInhibitRequest_EngineSlowEnum value) {
  return ::google::protobuf::internal::NameOfEnum(
    RemoteInhibitRequest_EngineSlowEnum_descriptor(), value);
}
inline bool RemoteInhibitRequest_EngineSlowEnum_Parse(
    const ::std::string& name, RemoteInhibitRequest_EngineSlowEnum* value) {
  return ::google::protobuf::internal::ParseNamedEnum<RemoteInhibitRequest_EngineSlowEnum>(
    RemoteInhibitRequest_EngineSlowEnum_descriptor(), name, value);
}
enum RemoteInhibitResponse_ResponseEnum {
  RemoteInhibitResponse_ResponseEnum_SUCCESS = 0,
  RemoteInhibitResponse_ResponseEnum_FAILED = 1,
  RemoteInhibitResponse_ResponseEnum_RemoteInhibitResponse_ResponseEnum_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min,
  RemoteInhibitResponse_ResponseEnum_RemoteInhibitResponse_ResponseEnum_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max
};
bool RemoteInhibitResponse_ResponseEnum_IsValid(int value);
const RemoteInhibitResponse_ResponseEnum RemoteInhibitResponse_ResponseEnum_ResponseEnum_MIN = RemoteInhibitResponse_ResponseEnum_SUCCESS;
const RemoteInhibitResponse_ResponseEnum RemoteInhibitResponse_ResponseEnum_ResponseEnum_MAX = RemoteInhibitResponse_ResponseEnum_FAILED;
const int RemoteInhibitResponse_ResponseEnum_ResponseEnum_ARRAYSIZE = RemoteInhibitResponse_ResponseEnum_ResponseEnum_MAX + 1;

const ::google::protobuf::EnumDescriptor* RemoteInhibitResponse_ResponseEnum_descriptor();
inline const ::std::string& RemoteInhibitResponse_ResponseEnum_Name(RemoteInhibitResponse_ResponseEnum value) {
  return ::google::protobuf::internal::NameOfEnum(
    RemoteInhibitResponse_ResponseEnum_descriptor(), value);
}
inline bool RemoteInhibitResponse_ResponseEnum_Parse(
    const ::std::string& name, RemoteInhibitResponse_ResponseEnum* value) {
  return ::google::protobuf::internal::ParseNamedEnum<RemoteInhibitResponse_ResponseEnum>(
    RemoteInhibitResponse_ResponseEnum_descriptor(), name, value);
}
// ===================================================================

class RemoteInhibitRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.fca.uconnect.global.RemoteInhibitRequest) */ {
 public:
  RemoteInhibitRequest();
  virtual ~RemoteInhibitRequest();

  RemoteInhibitRequest(const RemoteInhibitRequest& from);

  inline RemoteInhibitRequest& operator=(const RemoteInhibitRequest& from) {
    CopyFrom(from);
    return *this;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const RemoteInhibitRequest& default_instance();

  static inline const RemoteInhibitRequest* internal_default_instance() {
    return reinterpret_cast<const RemoteInhibitRequest*>(
               &_RemoteInhibitRequest_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    0;

  void Swap(RemoteInhibitRequest* other);

  // implements Message ----------------------------------------------

  inline RemoteInhibitRequest* New() const PROTOBUF_FINAL { return New(NULL); }

  RemoteInhibitRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const RemoteInhibitRequest& from);
  void MergeFrom(const RemoteInhibitRequest& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(RemoteInhibitRequest* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  typedef RemoteInhibitRequest_CrankInhibitEnum CrankInhibitEnum;
  static const CrankInhibitEnum END_INHIBIT =
    RemoteInhibitRequest_CrankInhibitEnum_END_INHIBIT;
  static const CrankInhibitEnum INHIBIT =
    RemoteInhibitRequest_CrankInhibitEnum_INHIBIT;
  static inline bool CrankInhibitEnum_IsValid(int value) {
    return RemoteInhibitRequest_CrankInhibitEnum_IsValid(value);
  }
  static const CrankInhibitEnum CrankInhibitEnum_MIN =
    RemoteInhibitRequest_CrankInhibitEnum_CrankInhibitEnum_MIN;
  static const CrankInhibitEnum CrankInhibitEnum_MAX =
    RemoteInhibitRequest_CrankInhibitEnum_CrankInhibitEnum_MAX;
  static const int CrankInhibitEnum_ARRAYSIZE =
    RemoteInhibitRequest_CrankInhibitEnum_CrankInhibitEnum_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor*
  CrankInhibitEnum_descriptor() {
    return RemoteInhibitRequest_CrankInhibitEnum_descriptor();
  }
  static inline const ::std::string& CrankInhibitEnum_Name(CrankInhibitEnum value) {
    return RemoteInhibitRequest_CrankInhibitEnum_Name(value);
  }
  static inline bool CrankInhibitEnum_Parse(const ::std::string& name,
      CrankInhibitEnum* value) {
    return RemoteInhibitRequest_CrankInhibitEnum_Parse(name, value);
  }

  typedef RemoteInhibitRequest_EngineSlowEnum EngineSlowEnum;
  static const EngineSlowEnum EXIT_SLOW =
    RemoteInhibitRequest_EngineSlowEnum_EXIT_SLOW;
  static const EngineSlowEnum SLOW =
    RemoteInhibitRequest_EngineSlowEnum_SLOW;
  static inline bool EngineSlowEnum_IsValid(int value) {
    return RemoteInhibitRequest_EngineSlowEnum_IsValid(value);
  }
  static const EngineSlowEnum EngineSlowEnum_MIN =
    RemoteInhibitRequest_EngineSlowEnum_EngineSlowEnum_MIN;
  static const EngineSlowEnum EngineSlowEnum_MAX =
    RemoteInhibitRequest_EngineSlowEnum_EngineSlowEnum_MAX;
  static const int EngineSlowEnum_ARRAYSIZE =
    RemoteInhibitRequest_EngineSlowEnum_EngineSlowEnum_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor*
  EngineSlowEnum_descriptor() {
    return RemoteInhibitRequest_EngineSlowEnum_descriptor();
  }
  static inline const ::std::string& EngineSlowEnum_Name(EngineSlowEnum value) {
    return RemoteInhibitRequest_EngineSlowEnum_Name(value);
  }
  static inline bool EngineSlowEnum_Parse(const ::std::string& name,
      EngineSlowEnum* value) {
    return RemoteInhibitRequest_EngineSlowEnum_Parse(name, value);
  }

  // accessors -------------------------------------------------------

  // bytes serviceRequestId = 1;
  void clear_servicerequestid();
  static const int kServiceRequestIdFieldNumber = 1;
  const ::std::string& servicerequestid() const;
  void set_servicerequestid(const ::std::string& value);
  #if LANG_CXX11
  void set_servicerequestid(::std::string&& value);
  #endif
  void set_servicerequestid(const char* value);
  void set_servicerequestid(const void* value, size_t size);
  ::std::string* mutable_servicerequestid();
  ::std::string* release_servicerequestid();
  void set_allocated_servicerequestid(::std::string* servicerequestid);

  // .com.fca.uconnect.global.RemoteInhibitRequest.CrankInhibitEnum crankInhibit = 2;
  void clear_crankinhibit();
  static const int kCrankInhibitFieldNumber = 2;
  ::com::fca::uconnect::global::RemoteInhibitRequest_CrankInhibitEnum crankinhibit() const;
  void set_crankinhibit(::com::fca::uconnect::global::RemoteInhibitRequest_CrankInhibitEnum value);

  // .com.fca.uconnect.global.RemoteInhibitRequest.EngineSlowEnum engineSlow = 3;
  void clear_engineslow();
  static const int kEngineSlowFieldNumber = 3;
  ::com::fca::uconnect::global::RemoteInhibitRequest_EngineSlowEnum engineslow() const;
  void set_engineslow(::com::fca::uconnect::global::RemoteInhibitRequest_EngineSlowEnum value);

  // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.RemoteInhibitRequest)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::ArenaStringPtr servicerequestid_;
  int crankinhibit_;
  int engineslow_;
  mutable int _cached_size_;
  friend struct protobuf_Global_5fUconnect_5fExt_5fRemoteInhibits_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class RemoteInhibitResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.fca.uconnect.global.RemoteInhibitResponse) */ {
 public:
  RemoteInhibitResponse();
  virtual ~RemoteInhibitResponse();

  RemoteInhibitResponse(const RemoteInhibitResponse& from);

  inline RemoteInhibitResponse& operator=(const RemoteInhibitResponse& from) {
    CopyFrom(from);
    return *this;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const RemoteInhibitResponse& default_instance();

  static inline const RemoteInhibitResponse* internal_default_instance() {
    return reinterpret_cast<const RemoteInhibitResponse*>(
               &_RemoteInhibitResponse_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    1;

  void Swap(RemoteInhibitResponse* other);

  // implements Message ----------------------------------------------

  inline RemoteInhibitResponse* New() const PROTOBUF_FINAL { return New(NULL); }

  RemoteInhibitResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const RemoteInhibitResponse& from);
  void MergeFrom(const RemoteInhibitResponse& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(RemoteInhibitResponse* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  typedef RemoteInhibitResponse_ResponseEnum ResponseEnum;
  static const ResponseEnum SUCCESS =
    RemoteInhibitResponse_ResponseEnum_SUCCESS;
  static const ResponseEnum FAILED =
    RemoteInhibitResponse_ResponseEnum_FAILED;
  static inline bool ResponseEnum_IsValid(int value) {
    return RemoteInhibitResponse_ResponseEnum_IsValid(value);
  }
  static const ResponseEnum ResponseEnum_MIN =
    RemoteInhibitResponse_ResponseEnum_ResponseEnum_MIN;
  static const ResponseEnum ResponseEnum_MAX =
    RemoteInhibitResponse_ResponseEnum_ResponseEnum_MAX;
  static const int ResponseEnum_ARRAYSIZE =
    RemoteInhibitResponse_ResponseEnum_ResponseEnum_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor*
  ResponseEnum_descriptor() {
    return RemoteInhibitResponse_ResponseEnum_descriptor();
  }
  static inline const ::std::string& ResponseEnum_Name(ResponseEnum value) {
    return RemoteInhibitResponse_ResponseEnum_Name(value);
  }
  static inline bool ResponseEnum_Parse(const ::std::string& name,
      ResponseEnum* value) {
    return RemoteInhibitResponse_ResponseEnum_Parse(name, value);
  }

  // accessors -------------------------------------------------------

  // bytes serviceRequestId = 2;
  void clear_servicerequestid();
  static const int kServiceRequestIdFieldNumber = 2;
  const ::std::string& servicerequestid() const;
  void set_servicerequestid(const ::std::string& value);
  #if LANG_CXX11
  void set_servicerequestid(::std::string&& value);
  #endif
  void set_servicerequestid(const char* value);
  void set_servicerequestid(const void* value, size_t size);
  ::std::string* mutable_servicerequestid();
  ::std::string* release_servicerequestid();
  void set_allocated_servicerequestid(::std::string* servicerequestid);

  // .com.fca.uconnect.global.RemoteInhibitResponse.ResponseEnum response = 1;
  void clear_response();
  static const int kResponseFieldNumber = 1;
  ::com::fca::uconnect::global::RemoteInhibitResponse_ResponseEnum response() const;
  void set_response(::com::fca::uconnect::global::RemoteInhibitResponse_ResponseEnum value);

  // bool isTransient = 3;
  void clear_istransient();
  static const int kIsTransientFieldNumber = 3;
  bool istransient() const;
  void set_istransient(bool value);

  // int32 failureReasonCode = 4;
  void clear_failurereasoncode();
  static const int kFailureReasonCodeFieldNumber = 4;
  ::google::protobuf::int32 failurereasoncode() const;
  void set_failurereasoncode(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.RemoteInhibitResponse)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::ArenaStringPtr servicerequestid_;
  int response_;
  bool istransient_;
  ::google::protobuf::int32 failurereasoncode_;
  mutable int _cached_size_;
  friend struct protobuf_Global_5fUconnect_5fExt_5fRemoteInhibits_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class CrankAttemptedNotification : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.fca.uconnect.global.CrankAttemptedNotification) */ {
 public:
  CrankAttemptedNotification();
  virtual ~CrankAttemptedNotification();

  CrankAttemptedNotification(const CrankAttemptedNotification& from);

  inline CrankAttemptedNotification& operator=(const CrankAttemptedNotification& from) {
    CopyFrom(from);
    return *this;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const CrankAttemptedNotification& default_instance();

  static inline const CrankAttemptedNotification* internal_default_instance() {
    return reinterpret_cast<const CrankAttemptedNotification*>(
               &_CrankAttemptedNotification_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    2;

  void Swap(CrankAttemptedNotification* other);

  // implements Message ----------------------------------------------

  inline CrankAttemptedNotification* New() const PROTOBUF_FINAL { return New(NULL); }

  CrankAttemptedNotification* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const CrankAttemptedNotification& from);
  void MergeFrom(const CrankAttemptedNotification& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(CrankAttemptedNotification* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // .com.fca.uconnect.global.Location location = 2;
  bool has_location() const;
  void clear_location();
  static const int kLocationFieldNumber = 2;
  const ::com::fca::uconnect::global::Location& location() const;
  ::com::fca::uconnect::global::Location* mutable_location();
  ::com::fca::uconnect::global::Location* release_location();
  void set_allocated_location(::com::fca::uconnect::global::Location* location);

  // bool isCrankAttempted = 1;
  void clear_iscrankattempted();
  static const int kIsCrankAttemptedFieldNumber = 1;
  bool iscrankattempted() const;
  void set_iscrankattempted(bool value);

  // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.CrankAttemptedNotification)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::com::fca::uconnect::global::Location* location_;
  bool iscrankattempted_;
  mutable int _cached_size_;
  friend struct protobuf_Global_5fUconnect_5fExt_5fRemoteInhibits_2eproto::TableStruct;
};
// ===================================================================


// ===================================================================

#if !PROTOBUF_INLINE_NOT_IN_HEADERS
// RemoteInhibitRequest

// bytes serviceRequestId = 1;
inline void RemoteInhibitRequest::clear_servicerequestid() {
  servicerequestid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& RemoteInhibitRequest::servicerequestid() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteInhibitRequest.serviceRequestId)
  return servicerequestid_.GetNoArena();
}
inline void RemoteInhibitRequest::set_servicerequestid(const ::std::string& value) {
  
  servicerequestid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteInhibitRequest.serviceRequestId)
}
#if LANG_CXX11
inline void RemoteInhibitRequest::set_servicerequestid(::std::string&& value) {
  
  servicerequestid_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.fca.uconnect.global.RemoteInhibitRequest.serviceRequestId)
}
#endif
inline void RemoteInhibitRequest::set_servicerequestid(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  
  servicerequestid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.fca.uconnect.global.RemoteInhibitRequest.serviceRequestId)
}
inline void RemoteInhibitRequest::set_servicerequestid(const void* value, size_t size) {
  
  servicerequestid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.fca.uconnect.global.RemoteInhibitRequest.serviceRequestId)
}
inline ::std::string* RemoteInhibitRequest::mutable_servicerequestid() {
  
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.RemoteInhibitRequest.serviceRequestId)
  return servicerequestid_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* RemoteInhibitRequest::release_servicerequestid() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.RemoteInhibitRequest.serviceRequestId)
  
  return servicerequestid_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void RemoteInhibitRequest::set_allocated_servicerequestid(::std::string* servicerequestid) {
  if (servicerequestid != NULL) {
    
  } else {
    
  }
  servicerequestid_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), servicerequestid);
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.RemoteInhibitRequest.serviceRequestId)
}

// .com.fca.uconnect.global.RemoteInhibitRequest.CrankInhibitEnum crankInhibit = 2;
inline void RemoteInhibitRequest::clear_crankinhibit() {
  crankinhibit_ = 0;
}
inline ::com::fca::uconnect::global::RemoteInhibitRequest_CrankInhibitEnum RemoteInhibitRequest::crankinhibit() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteInhibitRequest.crankInhibit)
  return static_cast< ::com::fca::uconnect::global::RemoteInhibitRequest_CrankInhibitEnum >(crankinhibit_);
}
inline void RemoteInhibitRequest::set_crankinhibit(::com::fca::uconnect::global::RemoteInhibitRequest_CrankInhibitEnum value) {
  
  crankinhibit_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteInhibitRequest.crankInhibit)
}

// .com.fca.uconnect.global.RemoteInhibitRequest.EngineSlowEnum engineSlow = 3;
inline void RemoteInhibitRequest::clear_engineslow() {
  engineslow_ = 0;
}
inline ::com::fca::uconnect::global::RemoteInhibitRequest_EngineSlowEnum RemoteInhibitRequest::engineslow() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteInhibitRequest.engineSlow)
  return static_cast< ::com::fca::uconnect::global::RemoteInhibitRequest_EngineSlowEnum >(engineslow_);
}
inline void RemoteInhibitRequest::set_engineslow(::com::fca::uconnect::global::RemoteInhibitRequest_EngineSlowEnum value) {
  
  engineslow_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteInhibitRequest.engineSlow)
}

// -------------------------------------------------------------------

// RemoteInhibitResponse

// .com.fca.uconnect.global.RemoteInhibitResponse.ResponseEnum response = 1;
inline void RemoteInhibitResponse::clear_response() {
  response_ = 0;
}
inline ::com::fca::uconnect::global::RemoteInhibitResponse_ResponseEnum RemoteInhibitResponse::response() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteInhibitResponse.response)
  return static_cast< ::com::fca::uconnect::global::RemoteInhibitResponse_ResponseEnum >(response_);
}
inline void RemoteInhibitResponse::set_response(::com::fca::uconnect::global::RemoteInhibitResponse_ResponseEnum value) {
  
  response_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteInhibitResponse.response)
}

// bytes serviceRequestId = 2;
inline void RemoteInhibitResponse::clear_servicerequestid() {
  servicerequestid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& RemoteInhibitResponse::servicerequestid() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteInhibitResponse.serviceRequestId)
  return servicerequestid_.GetNoArena();
}
inline void RemoteInhibitResponse::set_servicerequestid(const ::std::string& value) {
  
  servicerequestid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteInhibitResponse.serviceRequestId)
}
#if LANG_CXX11
inline void RemoteInhibitResponse::set_servicerequestid(::std::string&& value) {
  
  servicerequestid_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.fca.uconnect.global.RemoteInhibitResponse.serviceRequestId)
}
#endif
inline void RemoteInhibitResponse::set_servicerequestid(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  
  servicerequestid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.fca.uconnect.global.RemoteInhibitResponse.serviceRequestId)
}
inline void RemoteInhibitResponse::set_servicerequestid(const void* value, size_t size) {
  
  servicerequestid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.fca.uconnect.global.RemoteInhibitResponse.serviceRequestId)
}
inline ::std::string* RemoteInhibitResponse::mutable_servicerequestid() {
  
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.RemoteInhibitResponse.serviceRequestId)
  return servicerequestid_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* RemoteInhibitResponse::release_servicerequestid() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.RemoteInhibitResponse.serviceRequestId)
  
  return servicerequestid_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void RemoteInhibitResponse::set_allocated_servicerequestid(::std::string* servicerequestid) {
  if (servicerequestid != NULL) {
    
  } else {
    
  }
  servicerequestid_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), servicerequestid);
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.RemoteInhibitResponse.serviceRequestId)
}

// bool isTransient = 3;
inline void RemoteInhibitResponse::clear_istransient() {
  istransient_ = false;
}
inline bool RemoteInhibitResponse::istransient() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteInhibitResponse.isTransient)
  return istransient_;
}
inline void RemoteInhibitResponse::set_istransient(bool value) {
  
  istransient_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteInhibitResponse.isTransient)
}

// int32 failureReasonCode = 4;
inline void RemoteInhibitResponse::clear_failurereasoncode() {
  failurereasoncode_ = 0;
}
inline ::google::protobuf::int32 RemoteInhibitResponse::failurereasoncode() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteInhibitResponse.failureReasonCode)
  return failurereasoncode_;
}
inline void RemoteInhibitResponse::set_failurereasoncode(::google::protobuf::int32 value) {
  
  failurereasoncode_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteInhibitResponse.failureReasonCode)
}

// -------------------------------------------------------------------

// CrankAttemptedNotification

// bool isCrankAttempted = 1;
inline void CrankAttemptedNotification::clear_iscrankattempted() {
  iscrankattempted_ = false;
}
inline bool CrankAttemptedNotification::iscrankattempted() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.CrankAttemptedNotification.isCrankAttempted)
  return iscrankattempted_;
}
inline void CrankAttemptedNotification::set_iscrankattempted(bool value) {
  
  iscrankattempted_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.CrankAttemptedNotification.isCrankAttempted)
}

// .com.fca.uconnect.global.Location location = 2;
inline bool CrankAttemptedNotification::has_location() const {
  return this != internal_default_instance() && location_ != NULL;
}
inline void CrankAttemptedNotification::clear_location() {
  if (GetArenaNoVirtual() == NULL && location_ != NULL) delete location_;
  location_ = NULL;
}
inline const ::com::fca::uconnect::global::Location& CrankAttemptedNotification::location() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.CrankAttemptedNotification.location)
  return location_ != NULL ? *location_
                         : *::com::fca::uconnect::global::Location::internal_default_instance();
}
inline ::com::fca::uconnect::global::Location* CrankAttemptedNotification::mutable_location() {
  
  if (location_ == NULL) {
    location_ = new ::com::fca::uconnect::global::Location;
  }
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.CrankAttemptedNotification.location)
  return location_;
}
inline ::com::fca::uconnect::global::Location* CrankAttemptedNotification::release_location() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.CrankAttemptedNotification.location)
  
  ::com::fca::uconnect::global::Location* temp = location_;
  location_ = NULL;
  return temp;
}
inline void CrankAttemptedNotification::set_allocated_location(::com::fca::uconnect::global::Location* location) {
  delete location_;
  location_ = location;
  if (location) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.CrankAttemptedNotification.location)
}

#endif  // !PROTOBUF_INLINE_NOT_IN_HEADERS
// -------------------------------------------------------------------

// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)


}  // namespace global
}  // namespace uconnect
}  // namespace fca
}  // namespace com

#ifndef SWIG
namespace google {
namespace protobuf {

template <> struct is_proto_enum< ::com::fca::uconnect::global::RemoteInhibitRequest_CrankInhibitEnum> : ::google::protobuf::internal::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::com::fca::uconnect::global::RemoteInhibitRequest_CrankInhibitEnum>() {
  return ::com::fca::uconnect::global::RemoteInhibitRequest_CrankInhibitEnum_descriptor();
}
template <> struct is_proto_enum< ::com::fca::uconnect::global::RemoteInhibitRequest_EngineSlowEnum> : ::google::protobuf::internal::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::com::fca::uconnect::global::RemoteInhibitRequest_EngineSlowEnum>() {
  return ::com::fca::uconnect::global::RemoteInhibitRequest_EngineSlowEnum_descriptor();
}
template <> struct is_proto_enum< ::com::fca::uconnect::global::RemoteInhibitResponse_ResponseEnum> : ::google::protobuf::internal::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::com::fca::uconnect::global::RemoteInhibitResponse_ResponseEnum>() {
  return ::com::fca::uconnect::global::RemoteInhibitResponse_ResponseEnum_descriptor();
}

}  // namespace protobuf
}  // namespace google
#endif  // SWIG

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_Global_5fUconnect_5fExt_5fRemoteInhibits_2eproto__INCLUDED
