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

#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
#include "Global_Uconnect_Ext_RemoteOp.pb.h"

#include <algorithm>

#include <google/protobuf/stubs/common.h>
#include <google/protobuf/stubs/port.h>
#include <google/protobuf/stubs/once.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/wire_format_lite_inl.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)

namespace com {
namespace fca {
namespace uconnect {
namespace global {
class RemoteOperationRequestDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<RemoteOperationRequest> {
  public:
  const ::com::fca::uconnect::global::RemoteHornAndLightsRequest* remotehornandlightsrequest_;
  const ::com::fca::uconnect::global::RemoteEngineRequest* remoteenginerequest_;
  const ::com::fca::uconnect::global::RemoteDoorRequest* remotedoorrequest_;
  const ::com::fca::uconnect::global::RemoteClimateRequest* remoteclimaterequest_;
  const ::com::fca::uconnect::global::RemoteWindowRequest* remotewindowrequest_;
} _RemoteOperationRequest_default_instance_;
class RemoteHornAndLightsRequestDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<RemoteHornAndLightsRequest> {
} _RemoteHornAndLightsRequest_default_instance_;
class RemoteEngineRequestDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<RemoteEngineRequest> {
} _RemoteEngineRequest_default_instance_;
class RemoteDoorRequestDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<RemoteDoorRequest> {
} _RemoteDoorRequest_default_instance_;
class RemoteWindowRequestDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<RemoteWindowRequest> {
} _RemoteWindowRequest_default_instance_;
class RemoteClimateRequestDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<RemoteClimateRequest> {
} _RemoteClimateRequest_default_instance_;
class RemoteOperationResponseDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<RemoteOperationResponse> {
} _RemoteOperationResponse_default_instance_;

namespace protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto {


namespace {

::google::protobuf::Metadata file_level_metadata[7];
const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors[8];

}  // namespace

PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
    const TableStruct::entries[] = {
  {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
};

PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField
    const TableStruct::aux[] = {
  ::google::protobuf::internal::AuxillaryParseTableField(),
};
PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const
    TableStruct::schema[] = {
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
};

const ::google::protobuf::uint32 TableStruct::offsets[] = {
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteOperationRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteOperationRequest, _oneof_case_[0]),
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteOperationRequest, action_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteOperationRequest, servicerequestid_),
  GOOGLE_PROTOBUF_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET((&_RemoteOperationRequest_default_instance_), remotehornandlightsrequest_),
  GOOGLE_PROTOBUF_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET((&_RemoteOperationRequest_default_instance_), remoteenginerequest_),
  GOOGLE_PROTOBUF_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET((&_RemoteOperationRequest_default_instance_), remotedoorrequest_),
  GOOGLE_PROTOBUF_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET((&_RemoteOperationRequest_default_instance_), remoteclimaterequest_),
  GOOGLE_PROTOBUF_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET((&_RemoteOperationRequest_default_instance_), remotewindowrequest_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteOperationRequest, param_),
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteHornAndLightsRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteHornAndLightsRequest, command_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteHornAndLightsRequest, duration_),
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteEngineRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteEngineRequest, command_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteEngineRequest, duration_),
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteDoorRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteDoorRequest, command_),
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteWindowRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteWindowRequest, command_),
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteClimateRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteClimateRequest, command_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteClimateRequest, interiortemperature_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteClimateRequest, fanspeed_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteClimateRequest, termperatureuom_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteClimateRequest, targettemp_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteClimateRequest, timeoutaftertemp_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteClimateRequest, pretriptimeout_),
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteOperationResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteOperationResponse, response_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteOperationResponse, servicerequestid_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteOperationResponse, istransient_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteOperationResponse, failurereasoncode_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RemoteOperationResponse, vehiclestatus_),
};

static const ::google::protobuf::internal::MigrationSchema schemas[] = {
  { 0, -1, sizeof(RemoteOperationRequest)},
  { 13, -1, sizeof(RemoteHornAndLightsRequest)},
  { 20, -1, sizeof(RemoteEngineRequest)},
  { 27, -1, sizeof(RemoteDoorRequest)},
  { 33, -1, sizeof(RemoteWindowRequest)},
  { 39, -1, sizeof(RemoteClimateRequest)},
  { 51, -1, sizeof(RemoteOperationResponse)},
};

static ::google::protobuf::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::google::protobuf::Message*>(&_RemoteOperationRequest_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_RemoteHornAndLightsRequest_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_RemoteEngineRequest_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_RemoteDoorRequest_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_RemoteWindowRequest_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_RemoteClimateRequest_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_RemoteOperationResponse_default_instance_),
};

namespace {

void protobuf_AssignDescriptors() {
  AddDescriptors();
  ::google::protobuf::MessageFactory* factory = NULL;
  AssignDescriptors(
      "Global_Uconnect_Ext_RemoteOp.proto", schemas, file_default_instances, TableStruct::offsets, factory,
      file_level_metadata, file_level_enum_descriptors, NULL);
}

void protobuf_AssignDescriptorsOnce() {
  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
  ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
}

void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
void protobuf_RegisterTypes(const ::std::string&) {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 7);
}

}  // namespace

void TableStruct::Shutdown() {
  _RemoteOperationRequest_default_instance_.Shutdown();
  delete file_level_metadata[0].reflection;
  _RemoteHornAndLightsRequest_default_instance_.Shutdown();
  delete file_level_metadata[1].reflection;
  _RemoteEngineRequest_default_instance_.Shutdown();
  delete file_level_metadata[2].reflection;
  _RemoteDoorRequest_default_instance_.Shutdown();
  delete file_level_metadata[3].reflection;
  _RemoteWindowRequest_default_instance_.Shutdown();
  delete file_level_metadata[4].reflection;
  _RemoteClimateRequest_default_instance_.Shutdown();
  delete file_level_metadata[5].reflection;
  _RemoteOperationResponse_default_instance_.Shutdown();
  delete file_level_metadata[6].reflection;
}

void TableStruct::InitDefaultsImpl() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  ::google::protobuf::internal::InitProtobufDefaults();
  ::com::fca::uconnect::global::protobuf_Global_5fUconnect_5fVehicleInfo_2eproto::InitDefaults();
  _RemoteOperationRequest_default_instance_.DefaultConstruct();
  _RemoteHornAndLightsRequest_default_instance_.DefaultConstruct();
  _RemoteEngineRequest_default_instance_.DefaultConstruct();
  _RemoteDoorRequest_default_instance_.DefaultConstruct();
  _RemoteWindowRequest_default_instance_.DefaultConstruct();
  _RemoteClimateRequest_default_instance_.DefaultConstruct();
  _RemoteOperationResponse_default_instance_.DefaultConstruct();
  _RemoteOperationRequest_default_instance_.remotehornandlightsrequest_ = const_cast< ::com::fca::uconnect::global::RemoteHornAndLightsRequest*>(
      ::com::fca::uconnect::global::RemoteHornAndLightsRequest::internal_default_instance());
  _RemoteOperationRequest_default_instance_.remoteenginerequest_ = const_cast< ::com::fca::uconnect::global::RemoteEngineRequest*>(
      ::com::fca::uconnect::global::RemoteEngineRequest::internal_default_instance());
  _RemoteOperationRequest_default_instance_.remotedoorrequest_ = const_cast< ::com::fca::uconnect::global::RemoteDoorRequest*>(
      ::com::fca::uconnect::global::RemoteDoorRequest::internal_default_instance());
  _RemoteOperationRequest_default_instance_.remoteclimaterequest_ = const_cast< ::com::fca::uconnect::global::RemoteClimateRequest*>(
      ::com::fca::uconnect::global::RemoteClimateRequest::internal_default_instance());
  _RemoteOperationRequest_default_instance_.remotewindowrequest_ = const_cast< ::com::fca::uconnect::global::RemoteWindowRequest*>(
      ::com::fca::uconnect::global::RemoteWindowRequest::internal_default_instance());
  _RemoteOperationResponse_default_instance_.get_mutable()->vehiclestatus_ = const_cast< ::com::fca::uconnect::global::VehicleStatus*>(
      ::com::fca::uconnect::global::VehicleStatus::internal_default_instance());
}

void InitDefaults() {
  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
  ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
}
void AddDescriptorsImpl() {
  InitDefaults();
  static const char descriptor[] = {
      "\n\"Global_Uconnect_Ext_RemoteOp.proto\022\027co"
      "m.fca.uconnect.global\032!Global_Uconnect_V"
      "ehicleInfo.proto\"\300\004\n\026RemoteOperationRequ"
      "est\022J\n\006action\030\001 \001(\0162:.com.fca.uconnect.g"
      "lobal.RemoteOperationRequest.ActionEnum\022"
      "\030\n\020serviceRequestId\030\002 \001(\014\022Y\n\032remoteHornA"
      "ndLightsRequest\030\013 \001(\01323.com.fca.uconnect"
      ".global.RemoteHornAndLightsRequestH\000\022K\n\023"
      "remoteEngineRequest\030\014 \001(\0132,.com.fca.ucon"
      "nect.global.RemoteEngineRequestH\000\022G\n\021rem"
      "oteDoorRequest\030\r \001(\0132*.com.fca.uconnect."
      "global.RemoteDoorRequestH\000\022M\n\024remoteClim"
      "ateRequest\030\016 \001(\0132-.com.fca.uconnect.glob"
      "al.RemoteClimateRequestH\000\022K\n\023remoteWindo"
      "wRequest\030\017 \001(\0132,.com.fca.uconnect.global"
      ".RemoteWindowRequestH\000\"*\n\nActionEnum\022\r\n\t"
      "NO_ACTION\020\000\022\r\n\tSUBSCRIBE\020\001B\007\n\005param\"\244\001\n\032"
      "RemoteHornAndLightsRequest\022P\n\007command\030\001 "
      "\001(\0162\?.com.fca.uconnect.global.RemoteHorn"
      "AndLightsRequest.CommandEnum\022\020\n\010duration"
      "\030\002 \001(\005\"\"\n\013CommandEnum\022\023\n\017HORN_AND_LIGHTS"
      "\020\000\"\226\001\n\023RemoteEngineRequest\022I\n\007command\030\001 "
      "\001(\01628.com.fca.uconnect.global.RemoteEngi"
      "neRequest.CommandEnum\022\020\n\010duration\030\002 \001(\005\""
      "\"\n\013CommandEnum\022\t\n\005START\020\000\022\010\n\004STOP\020\001\"\366\001\n\021"
      "RemoteDoorRequest\022G\n\007command\030\001 \001(\01626.com"
      ".fca.uconnect.global.RemoteDoorRequest.C"
      "ommandEnum\"\227\001\n\013CommandEnum\022\022\n\016LOCK_ALL_D"
      "OORS\020\000\022\026\n\022UNLOCK_DRIVER_DOOR\020\001\022\024\n\020UNLOCK"
      "_ALL_DOORS\020\002\022\021\n\rOPEN_LIFTGATE\020\003\022\r\n\tOPEN_"
      "HOOD\020\004\022\020\n\014UNLOCK_TRUNK\020\005\022\022\n\016CLOSE_LIFTGA"
      "TE\020\006\"\221\001\n\023RemoteWindowRequest\022I\n\007command\030"
      "\001 \001(\01628.com.fca.uconnect.global.RemoteWi"
      "ndowRequest.CommandEnum\"/\n\013CommandEnum\022\010"
      "\n\004OPEN\020\000\022\013\n\007PARTIAL\020\001\022\t\n\005CLOSE\020\002\"\377\002\n\024Rem"
      "oteClimateRequest\022J\n\007command\030\001 \001(\01629.com"
      ".fca.uconnect.global.RemoteClimateReques"
      "t.CommandEnum\022\033\n\023interiorTemperature\030\003 \001"
      "(\005\022\020\n\010fanSpeed\030\004 \001(\005\022V\n\017termperatureUOM\030"
      "\005 \001(\0162=.com.fca.uconnect.global.RemoteCl"
      "imateRequest.TemperatureEnum\022\022\n\ntargetTe"
      "mp\030\006 \001(\005\022\030\n\020timeoutAfterTemp\030\007 \001(\005\022\026\n\016pr"
      "eTripTimeout\030\010 \001(\005\"\036\n\013CommandEnum\022\006\n\002ON\020"
      "\000\022\007\n\003OFF\020\001\".\n\017TemperatureEnum\022\013\n\007Celsius"
      "\020\000\022\016\n\nFahrenheit\020\001\"\373\010\n\027RemoteOperationRe"
      "sponse\022O\n\010response\030\001 \001(\0162=.com.fca.uconn"
      "ect.global.RemoteOperationResponse.Respo"
      "nseEnum\022\030\n\020serviceRequestId\030\002 \001(\014\022\023\n\013isT"
      "ransient\030\003 \001(\010\022\031\n\021failureReasonCode\030\004 \001("
      "\005\022=\n\rvehicleStatus\030\005 \001(\0132&.com.fca.uconn"
      "ect.global.VehicleStatus\"\205\007\n\014ResponseEnu"
      "m\022\013\n\007SUCCESS\020\000\022\024\n\020SUCCESS_CONTINUE\020\001\022\026\n\022"
      "SUCCESS_NOCONTINUE\020\002\022\022\n\016NOT_AUTHORIZED\020\003"
      "\022\n\n\006FAILED\020\004\022\026\n\022FAILED_IGNITION_ON\020\005\022\023\n\017"
      "FAILED_NOCANACK\020\006\022\027\n\023FAILED_VEHCONDITION"
      "\020\007\022\037\n\033STARTFAILED_DOORS_NOTLOCKED\020\010\022\032\n\026S"
      "TARTFAILED_DOORS_OPEN\020\t\022\036\n\032STARTFAILED_H"
      "OODTRUNK_OPEN\020\n\022\034\n\030STARTFAILED_ALARM_ACT"
      "IVE\020\013\022\027\n\023STARTFAILED_FUELLOW\020\014\022\030\n\024STARTF"
      "AILED_GASPEDAL\020\r\022\025\n\021STARTFAILED_PRNDL\020\016\022"
      "\035\n\031STARTFAILED_WINDOWSUNOPEN\020\017\022\037\n\033STARTF"
      "AILED_MAXATTEMPTS_MET\020\020\022\034\n\030STARTFAILED_V"
      "EHPOWERMODE\020\021\022\032\n\026STARTFAILED_BATTERYLOW\020"
      "\022\022\035\n\031STOPFAILED_ENG_ALREADYOFF\020\023\022\032\n\026DOOR"
      "S_FAILED_DOOR_OPEN\020\024\022!\n\035FLASHLIGHTS_FAIL"
      "ED_IGNITIONON\020\025\022\037\n\033FLASHLIGHTS_FAILED_DO"
      "OROPEN\020\026\022\036\n\032FLASHLIGHTS_FAILED_EXPIRED\020\027"
      "\022\036\n\032DOORUNLOCK_RELOCKED_FAILED\020\030\022\027\n\023DOOR"
      "UNLOCK_RELOCKED\020\031\022\023\n\017NOTIFY_CONTINUE\020\032\022\025"
      "\n\021NOTIFY_NOCONTINUE\020\033\022\035\n\031FAILED_ACTIVE_T"
      "HEFT_ALARM\020\034\022\r\n\tNOT_FOUND\020#\022\r\n\tREQUESTED"
      "\020\035\022\r\n\tDELIVERED\020\036\022\017\n\013IN_PROGRESS\020\037\022\014\n\010CO"
      "MPLETE\020 \022\024\n\020COMPLETE_TIMEOUT\020\"\022\020\n\014SPEEDL"
      "OCKOUT\020$P\000b\006proto3"
  };
  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
      descriptor, 2938);
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
    "Global_Uconnect_Ext_RemoteOp.proto", &protobuf_RegisterTypes);
  ::com::fca::uconnect::global::protobuf_Global_5fUconnect_5fVehicleInfo_2eproto::AddDescriptors();
  ::google::protobuf::internal::OnShutdown(&TableStruct::Shutdown);
}

void AddDescriptors() {
  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
  ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
}
// Force AddDescriptors() to be called at static initialization time.
struct StaticDescriptorInitializer {
  StaticDescriptorInitializer() {
    AddDescriptors();
  }
} static_descriptor_initializer;

}  // namespace protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto

const ::google::protobuf::EnumDescriptor* RemoteOperationRequest_ActionEnum_descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_enum_descriptors[0];
}
bool RemoteOperationRequest_ActionEnum_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const RemoteOperationRequest_ActionEnum RemoteOperationRequest::NO_ACTION;
const RemoteOperationRequest_ActionEnum RemoteOperationRequest::SUBSCRIBE;
const RemoteOperationRequest_ActionEnum RemoteOperationRequest::ActionEnum_MIN;
const RemoteOperationRequest_ActionEnum RemoteOperationRequest::ActionEnum_MAX;
const int RemoteOperationRequest::ActionEnum_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
const ::google::protobuf::EnumDescriptor* RemoteHornAndLightsRequest_CommandEnum_descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_enum_descriptors[1];
}
bool RemoteHornAndLightsRequest_CommandEnum_IsValid(int value) {
  switch (value) {
    case 0:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const RemoteHornAndLightsRequest_CommandEnum RemoteHornAndLightsRequest::HORN_AND_LIGHTS;
const RemoteHornAndLightsRequest_CommandEnum RemoteHornAndLightsRequest::CommandEnum_MIN;
const RemoteHornAndLightsRequest_CommandEnum RemoteHornAndLightsRequest::CommandEnum_MAX;
const int RemoteHornAndLightsRequest::CommandEnum_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
const ::google::protobuf::EnumDescriptor* RemoteEngineRequest_CommandEnum_descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_enum_descriptors[2];
}
bool RemoteEngineRequest_CommandEnum_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const RemoteEngineRequest_CommandEnum RemoteEngineRequest::START;
const RemoteEngineRequest_CommandEnum RemoteEngineRequest::STOP;
const RemoteEngineRequest_CommandEnum RemoteEngineRequest::CommandEnum_MIN;
const RemoteEngineRequest_CommandEnum RemoteEngineRequest::CommandEnum_MAX;
const int RemoteEngineRequest::CommandEnum_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
const ::google::protobuf::EnumDescriptor* RemoteDoorRequest_CommandEnum_descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_enum_descriptors[3];
}
bool RemoteDoorRequest_CommandEnum_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const RemoteDoorRequest_CommandEnum RemoteDoorRequest::LOCK_ALL_DOORS;
const RemoteDoorRequest_CommandEnum RemoteDoorRequest::UNLOCK_DRIVER_DOOR;
const RemoteDoorRequest_CommandEnum RemoteDoorRequest::UNLOCK_ALL_DOORS;
const RemoteDoorRequest_CommandEnum RemoteDoorRequest::OPEN_LIFTGATE;
const RemoteDoorRequest_CommandEnum RemoteDoorRequest::OPEN_HOOD;
const RemoteDoorRequest_CommandEnum RemoteDoorRequest::UNLOCK_TRUNK;
const RemoteDoorRequest_CommandEnum RemoteDoorRequest::CLOSE_LIFTGATE;
const RemoteDoorRequest_CommandEnum RemoteDoorRequest::CommandEnum_MIN;
const RemoteDoorRequest_CommandEnum RemoteDoorRequest::CommandEnum_MAX;
const int RemoteDoorRequest::CommandEnum_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
const ::google::protobuf::EnumDescriptor* RemoteWindowRequest_CommandEnum_descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_enum_descriptors[4];
}
bool RemoteWindowRequest_CommandEnum_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const RemoteWindowRequest_CommandEnum RemoteWindowRequest::OPEN;
const RemoteWindowRequest_CommandEnum RemoteWindowRequest::PARTIAL;
const RemoteWindowRequest_CommandEnum RemoteWindowRequest::CLOSE;
const RemoteWindowRequest_CommandEnum RemoteWindowRequest::CommandEnum_MIN;
const RemoteWindowRequest_CommandEnum RemoteWindowRequest::CommandEnum_MAX;
const int RemoteWindowRequest::CommandEnum_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
const ::google::protobuf::EnumDescriptor* RemoteClimateRequest_CommandEnum_descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_enum_descriptors[5];
}
bool RemoteClimateRequest_CommandEnum_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const RemoteClimateRequest_CommandEnum RemoteClimateRequest::ON;
const RemoteClimateRequest_CommandEnum RemoteClimateRequest::OFF;
const RemoteClimateRequest_CommandEnum RemoteClimateRequest::CommandEnum_MIN;
const RemoteClimateRequest_CommandEnum RemoteClimateRequest::CommandEnum_MAX;
const int RemoteClimateRequest::CommandEnum_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
const ::google::protobuf::EnumDescriptor* RemoteClimateRequest_TemperatureEnum_descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_enum_descriptors[6];
}
bool RemoteClimateRequest_TemperatureEnum_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const RemoteClimateRequest_TemperatureEnum RemoteClimateRequest::Celsius;
const RemoteClimateRequest_TemperatureEnum RemoteClimateRequest::Fahrenheit;
const RemoteClimateRequest_TemperatureEnum RemoteClimateRequest::TemperatureEnum_MIN;
const RemoteClimateRequest_TemperatureEnum RemoteClimateRequest::TemperatureEnum_MAX;
const int RemoteClimateRequest::TemperatureEnum_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
const ::google::protobuf::EnumDescriptor* RemoteOperationResponse_ResponseEnum_descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_enum_descriptors[7];
}
bool RemoteOperationResponse_ResponseEnum_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
    case 11:
    case 12:
    case 13:
    case 14:
    case 15:
    case 16:
    case 17:
    case 18:
    case 19:
    case 20:
    case 21:
    case 22:
    case 23:
    case 24:
    case 25:
    case 26:
    case 27:
    case 28:
    case 29:
    case 30:
    case 31:
    case 32:
    case 34:
    case 35:
    case 36:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::SUCCESS;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::SUCCESS_CONTINUE;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::SUCCESS_NOCONTINUE;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::NOT_AUTHORIZED;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::FAILED;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::FAILED_IGNITION_ON;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::FAILED_NOCANACK;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::FAILED_VEHCONDITION;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::STARTFAILED_DOORS_NOTLOCKED;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::STARTFAILED_DOORS_OPEN;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::STARTFAILED_HOODTRUNK_OPEN;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::STARTFAILED_ALARM_ACTIVE;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::STARTFAILED_FUELLOW;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::STARTFAILED_GASPEDAL;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::STARTFAILED_PRNDL;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::STARTFAILED_WINDOWSUNOPEN;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::STARTFAILED_MAXATTEMPTS_MET;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::STARTFAILED_VEHPOWERMODE;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::STARTFAILED_BATTERYLOW;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::STOPFAILED_ENG_ALREADYOFF;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::DOORS_FAILED_DOOR_OPEN;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::FLASHLIGHTS_FAILED_IGNITIONON;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::FLASHLIGHTS_FAILED_DOOROPEN;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::FLASHLIGHTS_FAILED_EXPIRED;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::DOORUNLOCK_RELOCKED_FAILED;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::DOORUNLOCK_RELOCKED;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::NOTIFY_CONTINUE;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::NOTIFY_NOCONTINUE;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::FAILED_ACTIVE_THEFT_ALARM;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::NOT_FOUND;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::REQUESTED;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::DELIVERED;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::IN_PROGRESS;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::COMPLETE;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::COMPLETE_TIMEOUT;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::SPEEDLOCKOUT;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::ResponseEnum_MIN;
const RemoteOperationResponse_ResponseEnum RemoteOperationResponse::ResponseEnum_MAX;
const int RemoteOperationResponse::ResponseEnum_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int RemoteOperationRequest::kActionFieldNumber;
const int RemoteOperationRequest::kServiceRequestIdFieldNumber;
const int RemoteOperationRequest::kRemoteHornAndLightsRequestFieldNumber;
const int RemoteOperationRequest::kRemoteEngineRequestFieldNumber;
const int RemoteOperationRequest::kRemoteDoorRequestFieldNumber;
const int RemoteOperationRequest::kRemoteClimateRequestFieldNumber;
const int RemoteOperationRequest::kRemoteWindowRequestFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

RemoteOperationRequest::RemoteOperationRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.fca.uconnect.global.RemoteOperationRequest)
}
RemoteOperationRequest::RemoteOperationRequest(const RemoteOperationRequest& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  servicerequestid_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.servicerequestid().size() > 0) {
    servicerequestid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.servicerequestid_);
  }
  action_ = from.action_;
  clear_has_param();
  switch (from.param_case()) {
    case kRemoteHornAndLightsRequest: {
      mutable_remotehornandlightsrequest()->::com::fca::uconnect::global::RemoteHornAndLightsRequest::MergeFrom(from.remotehornandlightsrequest());
      break;
    }
    case kRemoteEngineRequest: {
      mutable_remoteenginerequest()->::com::fca::uconnect::global::RemoteEngineRequest::MergeFrom(from.remoteenginerequest());
      break;
    }
    case kRemoteDoorRequest: {
      mutable_remotedoorrequest()->::com::fca::uconnect::global::RemoteDoorRequest::MergeFrom(from.remotedoorrequest());
      break;
    }
    case kRemoteClimateRequest: {
      mutable_remoteclimaterequest()->::com::fca::uconnect::global::RemoteClimateRequest::MergeFrom(from.remoteclimaterequest());
      break;
    }
    case kRemoteWindowRequest: {
      mutable_remotewindowrequest()->::com::fca::uconnect::global::RemoteWindowRequest::MergeFrom(from.remotewindowrequest());
      break;
    }
    case PARAM_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:com.fca.uconnect.global.RemoteOperationRequest)
}

void RemoteOperationRequest::SharedCtor() {
  servicerequestid_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  action_ = 0;
  clear_has_param();
  _cached_size_ = 0;
}

RemoteOperationRequest::~RemoteOperationRequest() {
  // @@protoc_insertion_point(destructor:com.fca.uconnect.global.RemoteOperationRequest)
  SharedDtor();
}

void RemoteOperationRequest::SharedDtor() {
  servicerequestid_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (has_param()) {
    clear_param();
  }
}

void RemoteOperationRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RemoteOperationRequest::descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const RemoteOperationRequest& RemoteOperationRequest::default_instance() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::InitDefaults();
  return *internal_default_instance();
}

RemoteOperationRequest* RemoteOperationRequest::New(::google::protobuf::Arena* arena) const {
  RemoteOperationRequest* n = new RemoteOperationRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void RemoteOperationRequest::clear_param() {
// @@protoc_insertion_point(one_of_clear_start:com.fca.uconnect.global.RemoteOperationRequest)
  switch (param_case()) {
    case kRemoteHornAndLightsRequest: {
      delete param_.remotehornandlightsrequest_;
      break;
    }
    case kRemoteEngineRequest: {
      delete param_.remoteenginerequest_;
      break;
    }
    case kRemoteDoorRequest: {
      delete param_.remotedoorrequest_;
      break;
    }
    case kRemoteClimateRequest: {
      delete param_.remoteclimaterequest_;
      break;
    }
    case kRemoteWindowRequest: {
      delete param_.remotewindowrequest_;
      break;
    }
    case PARAM_NOT_SET: {
      break;
    }
  }
  _oneof_case_[0] = PARAM_NOT_SET;
}


void RemoteOperationRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:com.fca.uconnect.global.RemoteOperationRequest)
  servicerequestid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  action_ = 0;
  clear_param();
}

bool RemoteOperationRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.fca.uconnect.global.RemoteOperationRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // .com.fca.uconnect.global.RemoteOperationRequest.ActionEnum action = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          set_action(static_cast< ::com::fca::uconnect::global::RemoteOperationRequest_ActionEnum >(value));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // bytes serviceRequestId = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_servicerequestid()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .com.fca.uconnect.global.RemoteHornAndLightsRequest remoteHornAndLightsRequest = 11;
      case 11: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(90u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_remotehornandlightsrequest()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .com.fca.uconnect.global.RemoteEngineRequest remoteEngineRequest = 12;
      case 12: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(98u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_remoteenginerequest()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .com.fca.uconnect.global.RemoteDoorRequest remoteDoorRequest = 13;
      case 13: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(106u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_remotedoorrequest()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .com.fca.uconnect.global.RemoteClimateRequest remoteClimateRequest = 14;
      case 14: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(114u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_remoteclimaterequest()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .com.fca.uconnect.global.RemoteWindowRequest remoteWindowRequest = 15;
      case 15: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(122u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_remotewindowrequest()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.fca.uconnect.global.RemoteOperationRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.fca.uconnect.global.RemoteOperationRequest)
  return false;
#undef DO_
}

void RemoteOperationRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.fca.uconnect.global.RemoteOperationRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.RemoteOperationRequest.ActionEnum action = 1;
  if (this->action() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->action(), output);
  }

  // bytes serviceRequestId = 2;
  if (this->servicerequestid().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      2, this->servicerequestid(), output);
  }

  // .com.fca.uconnect.global.RemoteHornAndLightsRequest remoteHornAndLightsRequest = 11;
  if (has_remotehornandlightsrequest()) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      11, *param_.remotehornandlightsrequest_, output);
  }

  // .com.fca.uconnect.global.RemoteEngineRequest remoteEngineRequest = 12;
  if (has_remoteenginerequest()) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      12, *param_.remoteenginerequest_, output);
  }

  // .com.fca.uconnect.global.RemoteDoorRequest remoteDoorRequest = 13;
  if (has_remotedoorrequest()) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      13, *param_.remotedoorrequest_, output);
  }

  // .com.fca.uconnect.global.RemoteClimateRequest remoteClimateRequest = 14;
  if (has_remoteclimaterequest()) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      14, *param_.remoteclimaterequest_, output);
  }

  // .com.fca.uconnect.global.RemoteWindowRequest remoteWindowRequest = 15;
  if (has_remotewindowrequest()) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      15, *param_.remotewindowrequest_, output);
  }

  // @@protoc_insertion_point(serialize_end:com.fca.uconnect.global.RemoteOperationRequest)
}

::google::protobuf::uint8* RemoteOperationRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.fca.uconnect.global.RemoteOperationRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.RemoteOperationRequest.ActionEnum action = 1;
  if (this->action() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->action(), target);
  }

  // bytes serviceRequestId = 2;
  if (this->servicerequestid().size() > 0) {
    target =
      ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
        2, this->servicerequestid(), target);
  }

  // .com.fca.uconnect.global.RemoteHornAndLightsRequest remoteHornAndLightsRequest = 11;
  if (has_remotehornandlightsrequest()) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        11, *param_.remotehornandlightsrequest_, deterministic, target);
  }

  // .com.fca.uconnect.global.RemoteEngineRequest remoteEngineRequest = 12;
  if (has_remoteenginerequest()) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        12, *param_.remoteenginerequest_, deterministic, target);
  }

  // .com.fca.uconnect.global.RemoteDoorRequest remoteDoorRequest = 13;
  if (has_remotedoorrequest()) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        13, *param_.remotedoorrequest_, deterministic, target);
  }

  // .com.fca.uconnect.global.RemoteClimateRequest remoteClimateRequest = 14;
  if (has_remoteclimaterequest()) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        14, *param_.remoteclimaterequest_, deterministic, target);
  }

  // .com.fca.uconnect.global.RemoteWindowRequest remoteWindowRequest = 15;
  if (has_remotewindowrequest()) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        15, *param_.remotewindowrequest_, deterministic, target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:com.fca.uconnect.global.RemoteOperationRequest)
  return target;
}

size_t RemoteOperationRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.fca.uconnect.global.RemoteOperationRequest)
  size_t total_size = 0;

  // bytes serviceRequestId = 2;
  if (this->servicerequestid().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->servicerequestid());
  }

  // .com.fca.uconnect.global.RemoteOperationRequest.ActionEnum action = 1;
  if (this->action() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->action());
  }

  switch (param_case()) {
    // .com.fca.uconnect.global.RemoteHornAndLightsRequest remoteHornAndLightsRequest = 11;
    case kRemoteHornAndLightsRequest: {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *param_.remotehornandlightsrequest_);
      break;
    }
    // .com.fca.uconnect.global.RemoteEngineRequest remoteEngineRequest = 12;
    case kRemoteEngineRequest: {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *param_.remoteenginerequest_);
      break;
    }
    // .com.fca.uconnect.global.RemoteDoorRequest remoteDoorRequest = 13;
    case kRemoteDoorRequest: {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *param_.remotedoorrequest_);
      break;
    }
    // .com.fca.uconnect.global.RemoteClimateRequest remoteClimateRequest = 14;
    case kRemoteClimateRequest: {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *param_.remoteclimaterequest_);
      break;
    }
    // .com.fca.uconnect.global.RemoteWindowRequest remoteWindowRequest = 15;
    case kRemoteWindowRequest: {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *param_.remotewindowrequest_);
      break;
    }
    case PARAM_NOT_SET: {
      break;
    }
  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RemoteOperationRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.fca.uconnect.global.RemoteOperationRequest)
  GOOGLE_DCHECK_NE(&from, this);
  const RemoteOperationRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const RemoteOperationRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.fca.uconnect.global.RemoteOperationRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.fca.uconnect.global.RemoteOperationRequest)
    MergeFrom(*source);
  }
}

void RemoteOperationRequest::MergeFrom(const RemoteOperationRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.fca.uconnect.global.RemoteOperationRequest)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.servicerequestid().size() > 0) {

    servicerequestid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.servicerequestid_);
  }
  if (from.action() != 0) {
    set_action(from.action());
  }
  switch (from.param_case()) {
    case kRemoteHornAndLightsRequest: {
      mutable_remotehornandlightsrequest()->::com::fca::uconnect::global::RemoteHornAndLightsRequest::MergeFrom(from.remotehornandlightsrequest());
      break;
    }
    case kRemoteEngineRequest: {
      mutable_remoteenginerequest()->::com::fca::uconnect::global::RemoteEngineRequest::MergeFrom(from.remoteenginerequest());
      break;
    }
    case kRemoteDoorRequest: {
      mutable_remotedoorrequest()->::com::fca::uconnect::global::RemoteDoorRequest::MergeFrom(from.remotedoorrequest());
      break;
    }
    case kRemoteClimateRequest: {
      mutable_remoteclimaterequest()->::com::fca::uconnect::global::RemoteClimateRequest::MergeFrom(from.remoteclimaterequest());
      break;
    }
    case kRemoteWindowRequest: {
      mutable_remotewindowrequest()->::com::fca::uconnect::global::RemoteWindowRequest::MergeFrom(from.remotewindowrequest());
      break;
    }
    case PARAM_NOT_SET: {
      break;
    }
  }
}

void RemoteOperationRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.fca.uconnect.global.RemoteOperationRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RemoteOperationRequest::CopyFrom(const RemoteOperationRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.fca.uconnect.global.RemoteOperationRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RemoteOperationRequest::IsInitialized() const {
  return true;
}

void RemoteOperationRequest::Swap(RemoteOperationRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void RemoteOperationRequest::InternalSwap(RemoteOperationRequest* other) {
  servicerequestid_.Swap(&other->servicerequestid_);
  std::swap(action_, other->action_);
  std::swap(param_, other->param_);
  std::swap(_oneof_case_[0], other->_oneof_case_[0]);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata RemoteOperationRequest::GetMetadata() const {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// RemoteOperationRequest

// .com.fca.uconnect.global.RemoteOperationRequest.ActionEnum action = 1;
void RemoteOperationRequest::clear_action() {
  action_ = 0;
}
::com::fca::uconnect::global::RemoteOperationRequest_ActionEnum RemoteOperationRequest::action() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteOperationRequest.action)
  return static_cast< ::com::fca::uconnect::global::RemoteOperationRequest_ActionEnum >(action_);
}
void RemoteOperationRequest::set_action(::com::fca::uconnect::global::RemoteOperationRequest_ActionEnum value) {
  
  action_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteOperationRequest.action)
}

// bytes serviceRequestId = 2;
void RemoteOperationRequest::clear_servicerequestid() {
  servicerequestid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& RemoteOperationRequest::servicerequestid() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteOperationRequest.serviceRequestId)
  return servicerequestid_.GetNoArena();
}
void RemoteOperationRequest::set_servicerequestid(const ::std::string& value) {
  
  servicerequestid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteOperationRequest.serviceRequestId)
}
#if LANG_CXX11
void RemoteOperationRequest::set_servicerequestid(::std::string&& value) {
  
  servicerequestid_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.fca.uconnect.global.RemoteOperationRequest.serviceRequestId)
}
#endif
void RemoteOperationRequest::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.RemoteOperationRequest.serviceRequestId)
}
void RemoteOperationRequest::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.RemoteOperationRequest.serviceRequestId)
}
::std::string* RemoteOperationRequest::mutable_servicerequestid() {
  
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.RemoteOperationRequest.serviceRequestId)
  return servicerequestid_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* RemoteOperationRequest::release_servicerequestid() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.RemoteOperationRequest.serviceRequestId)
  
  return servicerequestid_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void RemoteOperationRequest::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.RemoteOperationRequest.serviceRequestId)
}

// .com.fca.uconnect.global.RemoteHornAndLightsRequest remoteHornAndLightsRequest = 11;
bool RemoteOperationRequest::has_remotehornandlightsrequest() const {
  return param_case() == kRemoteHornAndLightsRequest;
}
void RemoteOperationRequest::set_has_remotehornandlightsrequest() {
  _oneof_case_[0] = kRemoteHornAndLightsRequest;
}
void RemoteOperationRequest::clear_remotehornandlightsrequest() {
  if (has_remotehornandlightsrequest()) {
    delete param_.remotehornandlightsrequest_;
    clear_has_param();
  }
}
 const ::com::fca::uconnect::global::RemoteHornAndLightsRequest& RemoteOperationRequest::remotehornandlightsrequest() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteOperationRequest.remoteHornAndLightsRequest)
  return has_remotehornandlightsrequest()
      ? *param_.remotehornandlightsrequest_
      : ::com::fca::uconnect::global::RemoteHornAndLightsRequest::default_instance();
}
::com::fca::uconnect::global::RemoteHornAndLightsRequest* RemoteOperationRequest::mutable_remotehornandlightsrequest() {
  if (!has_remotehornandlightsrequest()) {
    clear_param();
    set_has_remotehornandlightsrequest();
    param_.remotehornandlightsrequest_ = new ::com::fca::uconnect::global::RemoteHornAndLightsRequest;
  }
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.RemoteOperationRequest.remoteHornAndLightsRequest)
  return param_.remotehornandlightsrequest_;
}
::com::fca::uconnect::global::RemoteHornAndLightsRequest* RemoteOperationRequest::release_remotehornandlightsrequest() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.RemoteOperationRequest.remoteHornAndLightsRequest)
  if (has_remotehornandlightsrequest()) {
    clear_has_param();
    ::com::fca::uconnect::global::RemoteHornAndLightsRequest* temp = param_.remotehornandlightsrequest_;
    param_.remotehornandlightsrequest_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
void RemoteOperationRequest::set_allocated_remotehornandlightsrequest(::com::fca::uconnect::global::RemoteHornAndLightsRequest* remotehornandlightsrequest) {
  clear_param();
  if (remotehornandlightsrequest) {
    set_has_remotehornandlightsrequest();
    param_.remotehornandlightsrequest_ = remotehornandlightsrequest;
  }
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.RemoteOperationRequest.remoteHornAndLightsRequest)
}

// .com.fca.uconnect.global.RemoteEngineRequest remoteEngineRequest = 12;
bool RemoteOperationRequest::has_remoteenginerequest() const {
  return param_case() == kRemoteEngineRequest;
}
void RemoteOperationRequest::set_has_remoteenginerequest() {
  _oneof_case_[0] = kRemoteEngineRequest;
}
void RemoteOperationRequest::clear_remoteenginerequest() {
  if (has_remoteenginerequest()) {
    delete param_.remoteenginerequest_;
    clear_has_param();
  }
}
 const ::com::fca::uconnect::global::RemoteEngineRequest& RemoteOperationRequest::remoteenginerequest() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteOperationRequest.remoteEngineRequest)
  return has_remoteenginerequest()
      ? *param_.remoteenginerequest_
      : ::com::fca::uconnect::global::RemoteEngineRequest::default_instance();
}
::com::fca::uconnect::global::RemoteEngineRequest* RemoteOperationRequest::mutable_remoteenginerequest() {
  if (!has_remoteenginerequest()) {
    clear_param();
    set_has_remoteenginerequest();
    param_.remoteenginerequest_ = new ::com::fca::uconnect::global::RemoteEngineRequest;
  }
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.RemoteOperationRequest.remoteEngineRequest)
  return param_.remoteenginerequest_;
}
::com::fca::uconnect::global::RemoteEngineRequest* RemoteOperationRequest::release_remoteenginerequest() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.RemoteOperationRequest.remoteEngineRequest)
  if (has_remoteenginerequest()) {
    clear_has_param();
    ::com::fca::uconnect::global::RemoteEngineRequest* temp = param_.remoteenginerequest_;
    param_.remoteenginerequest_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
void RemoteOperationRequest::set_allocated_remoteenginerequest(::com::fca::uconnect::global::RemoteEngineRequest* remoteenginerequest) {
  clear_param();
  if (remoteenginerequest) {
    set_has_remoteenginerequest();
    param_.remoteenginerequest_ = remoteenginerequest;
  }
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.RemoteOperationRequest.remoteEngineRequest)
}

// .com.fca.uconnect.global.RemoteDoorRequest remoteDoorRequest = 13;
bool RemoteOperationRequest::has_remotedoorrequest() const {
  return param_case() == kRemoteDoorRequest;
}
void RemoteOperationRequest::set_has_remotedoorrequest() {
  _oneof_case_[0] = kRemoteDoorRequest;
}
void RemoteOperationRequest::clear_remotedoorrequest() {
  if (has_remotedoorrequest()) {
    delete param_.remotedoorrequest_;
    clear_has_param();
  }
}
 const ::com::fca::uconnect::global::RemoteDoorRequest& RemoteOperationRequest::remotedoorrequest() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteOperationRequest.remoteDoorRequest)
  return has_remotedoorrequest()
      ? *param_.remotedoorrequest_
      : ::com::fca::uconnect::global::RemoteDoorRequest::default_instance();
}
::com::fca::uconnect::global::RemoteDoorRequest* RemoteOperationRequest::mutable_remotedoorrequest() {
  if (!has_remotedoorrequest()) {
    clear_param();
    set_has_remotedoorrequest();
    param_.remotedoorrequest_ = new ::com::fca::uconnect::global::RemoteDoorRequest;
  }
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.RemoteOperationRequest.remoteDoorRequest)
  return param_.remotedoorrequest_;
}
::com::fca::uconnect::global::RemoteDoorRequest* RemoteOperationRequest::release_remotedoorrequest() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.RemoteOperationRequest.remoteDoorRequest)
  if (has_remotedoorrequest()) {
    clear_has_param();
    ::com::fca::uconnect::global::RemoteDoorRequest* temp = param_.remotedoorrequest_;
    param_.remotedoorrequest_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
void RemoteOperationRequest::set_allocated_remotedoorrequest(::com::fca::uconnect::global::RemoteDoorRequest* remotedoorrequest) {
  clear_param();
  if (remotedoorrequest) {
    set_has_remotedoorrequest();
    param_.remotedoorrequest_ = remotedoorrequest;
  }
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.RemoteOperationRequest.remoteDoorRequest)
}

// .com.fca.uconnect.global.RemoteClimateRequest remoteClimateRequest = 14;
bool RemoteOperationRequest::has_remoteclimaterequest() const {
  return param_case() == kRemoteClimateRequest;
}
void RemoteOperationRequest::set_has_remoteclimaterequest() {
  _oneof_case_[0] = kRemoteClimateRequest;
}
void RemoteOperationRequest::clear_remoteclimaterequest() {
  if (has_remoteclimaterequest()) {
    delete param_.remoteclimaterequest_;
    clear_has_param();
  }
}
 const ::com::fca::uconnect::global::RemoteClimateRequest& RemoteOperationRequest::remoteclimaterequest() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteOperationRequest.remoteClimateRequest)
  return has_remoteclimaterequest()
      ? *param_.remoteclimaterequest_
      : ::com::fca::uconnect::global::RemoteClimateRequest::default_instance();
}
::com::fca::uconnect::global::RemoteClimateRequest* RemoteOperationRequest::mutable_remoteclimaterequest() {
  if (!has_remoteclimaterequest()) {
    clear_param();
    set_has_remoteclimaterequest();
    param_.remoteclimaterequest_ = new ::com::fca::uconnect::global::RemoteClimateRequest;
  }
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.RemoteOperationRequest.remoteClimateRequest)
  return param_.remoteclimaterequest_;
}
::com::fca::uconnect::global::RemoteClimateRequest* RemoteOperationRequest::release_remoteclimaterequest() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.RemoteOperationRequest.remoteClimateRequest)
  if (has_remoteclimaterequest()) {
    clear_has_param();
    ::com::fca::uconnect::global::RemoteClimateRequest* temp = param_.remoteclimaterequest_;
    param_.remoteclimaterequest_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
void RemoteOperationRequest::set_allocated_remoteclimaterequest(::com::fca::uconnect::global::RemoteClimateRequest* remoteclimaterequest) {
  clear_param();
  if (remoteclimaterequest) {
    set_has_remoteclimaterequest();
    param_.remoteclimaterequest_ = remoteclimaterequest;
  }
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.RemoteOperationRequest.remoteClimateRequest)
}

// .com.fca.uconnect.global.RemoteWindowRequest remoteWindowRequest = 15;
bool RemoteOperationRequest::has_remotewindowrequest() const {
  return param_case() == kRemoteWindowRequest;
}
void RemoteOperationRequest::set_has_remotewindowrequest() {
  _oneof_case_[0] = kRemoteWindowRequest;
}
void RemoteOperationRequest::clear_remotewindowrequest() {
  if (has_remotewindowrequest()) {
    delete param_.remotewindowrequest_;
    clear_has_param();
  }
}
 const ::com::fca::uconnect::global::RemoteWindowRequest& RemoteOperationRequest::remotewindowrequest() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteOperationRequest.remoteWindowRequest)
  return has_remotewindowrequest()
      ? *param_.remotewindowrequest_
      : ::com::fca::uconnect::global::RemoteWindowRequest::default_instance();
}
::com::fca::uconnect::global::RemoteWindowRequest* RemoteOperationRequest::mutable_remotewindowrequest() {
  if (!has_remotewindowrequest()) {
    clear_param();
    set_has_remotewindowrequest();
    param_.remotewindowrequest_ = new ::com::fca::uconnect::global::RemoteWindowRequest;
  }
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.RemoteOperationRequest.remoteWindowRequest)
  return param_.remotewindowrequest_;
}
::com::fca::uconnect::global::RemoteWindowRequest* RemoteOperationRequest::release_remotewindowrequest() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.RemoteOperationRequest.remoteWindowRequest)
  if (has_remotewindowrequest()) {
    clear_has_param();
    ::com::fca::uconnect::global::RemoteWindowRequest* temp = param_.remotewindowrequest_;
    param_.remotewindowrequest_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
void RemoteOperationRequest::set_allocated_remotewindowrequest(::com::fca::uconnect::global::RemoteWindowRequest* remotewindowrequest) {
  clear_param();
  if (remotewindowrequest) {
    set_has_remotewindowrequest();
    param_.remotewindowrequest_ = remotewindowrequest;
  }
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.RemoteOperationRequest.remoteWindowRequest)
}

bool RemoteOperationRequest::has_param() const {
  return param_case() != PARAM_NOT_SET;
}
void RemoteOperationRequest::clear_has_param() {
  _oneof_case_[0] = PARAM_NOT_SET;
}
RemoteOperationRequest::ParamCase RemoteOperationRequest::param_case() const {
  return RemoteOperationRequest::ParamCase(_oneof_case_[0]);
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int RemoteHornAndLightsRequest::kCommandFieldNumber;
const int RemoteHornAndLightsRequest::kDurationFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

RemoteHornAndLightsRequest::RemoteHornAndLightsRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.fca.uconnect.global.RemoteHornAndLightsRequest)
}
RemoteHornAndLightsRequest::RemoteHornAndLightsRequest(const RemoteHornAndLightsRequest& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&command_, &from.command_,
    reinterpret_cast<char*>(&duration_) -
    reinterpret_cast<char*>(&command_) + sizeof(duration_));
  // @@protoc_insertion_point(copy_constructor:com.fca.uconnect.global.RemoteHornAndLightsRequest)
}

void RemoteHornAndLightsRequest::SharedCtor() {
  ::memset(&command_, 0, reinterpret_cast<char*>(&duration_) -
    reinterpret_cast<char*>(&command_) + sizeof(duration_));
  _cached_size_ = 0;
}

RemoteHornAndLightsRequest::~RemoteHornAndLightsRequest() {
  // @@protoc_insertion_point(destructor:com.fca.uconnect.global.RemoteHornAndLightsRequest)
  SharedDtor();
}

void RemoteHornAndLightsRequest::SharedDtor() {
}

void RemoteHornAndLightsRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RemoteHornAndLightsRequest::descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const RemoteHornAndLightsRequest& RemoteHornAndLightsRequest::default_instance() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::InitDefaults();
  return *internal_default_instance();
}

RemoteHornAndLightsRequest* RemoteHornAndLightsRequest::New(::google::protobuf::Arena* arena) const {
  RemoteHornAndLightsRequest* n = new RemoteHornAndLightsRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void RemoteHornAndLightsRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:com.fca.uconnect.global.RemoteHornAndLightsRequest)
  ::memset(&command_, 0, reinterpret_cast<char*>(&duration_) -
    reinterpret_cast<char*>(&command_) + sizeof(duration_));
}

bool RemoteHornAndLightsRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.fca.uconnect.global.RemoteHornAndLightsRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // .com.fca.uconnect.global.RemoteHornAndLightsRequest.CommandEnum command = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          set_command(static_cast< ::com::fca::uconnect::global::RemoteHornAndLightsRequest_CommandEnum >(value));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int32 duration = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &duration_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.fca.uconnect.global.RemoteHornAndLightsRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.fca.uconnect.global.RemoteHornAndLightsRequest)
  return false;
#undef DO_
}

void RemoteHornAndLightsRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.fca.uconnect.global.RemoteHornAndLightsRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.RemoteHornAndLightsRequest.CommandEnum command = 1;
  if (this->command() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->command(), output);
  }

  // int32 duration = 2;
  if (this->duration() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->duration(), output);
  }

  // @@protoc_insertion_point(serialize_end:com.fca.uconnect.global.RemoteHornAndLightsRequest)
}

::google::protobuf::uint8* RemoteHornAndLightsRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.fca.uconnect.global.RemoteHornAndLightsRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.RemoteHornAndLightsRequest.CommandEnum command = 1;
  if (this->command() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->command(), target);
  }

  // int32 duration = 2;
  if (this->duration() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->duration(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:com.fca.uconnect.global.RemoteHornAndLightsRequest)
  return target;
}

size_t RemoteHornAndLightsRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.fca.uconnect.global.RemoteHornAndLightsRequest)
  size_t total_size = 0;

  // .com.fca.uconnect.global.RemoteHornAndLightsRequest.CommandEnum command = 1;
  if (this->command() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->command());
  }

  // int32 duration = 2;
  if (this->duration() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->duration());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RemoteHornAndLightsRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.fca.uconnect.global.RemoteHornAndLightsRequest)
  GOOGLE_DCHECK_NE(&from, this);
  const RemoteHornAndLightsRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const RemoteHornAndLightsRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.fca.uconnect.global.RemoteHornAndLightsRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.fca.uconnect.global.RemoteHornAndLightsRequest)
    MergeFrom(*source);
  }
}

void RemoteHornAndLightsRequest::MergeFrom(const RemoteHornAndLightsRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.fca.uconnect.global.RemoteHornAndLightsRequest)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.command() != 0) {
    set_command(from.command());
  }
  if (from.duration() != 0) {
    set_duration(from.duration());
  }
}

void RemoteHornAndLightsRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.fca.uconnect.global.RemoteHornAndLightsRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RemoteHornAndLightsRequest::CopyFrom(const RemoteHornAndLightsRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.fca.uconnect.global.RemoteHornAndLightsRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RemoteHornAndLightsRequest::IsInitialized() const {
  return true;
}

void RemoteHornAndLightsRequest::Swap(RemoteHornAndLightsRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void RemoteHornAndLightsRequest::InternalSwap(RemoteHornAndLightsRequest* other) {
  std::swap(command_, other->command_);
  std::swap(duration_, other->duration_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata RemoteHornAndLightsRequest::GetMetadata() const {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// RemoteHornAndLightsRequest

// .com.fca.uconnect.global.RemoteHornAndLightsRequest.CommandEnum command = 1;
void RemoteHornAndLightsRequest::clear_command() {
  command_ = 0;
}
::com::fca::uconnect::global::RemoteHornAndLightsRequest_CommandEnum RemoteHornAndLightsRequest::command() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteHornAndLightsRequest.command)
  return static_cast< ::com::fca::uconnect::global::RemoteHornAndLightsRequest_CommandEnum >(command_);
}
void RemoteHornAndLightsRequest::set_command(::com::fca::uconnect::global::RemoteHornAndLightsRequest_CommandEnum value) {
  
  command_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteHornAndLightsRequest.command)
}

// int32 duration = 2;
void RemoteHornAndLightsRequest::clear_duration() {
  duration_ = 0;
}
::google::protobuf::int32 RemoteHornAndLightsRequest::duration() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteHornAndLightsRequest.duration)
  return duration_;
}
void RemoteHornAndLightsRequest::set_duration(::google::protobuf::int32 value) {
  
  duration_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteHornAndLightsRequest.duration)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int RemoteEngineRequest::kCommandFieldNumber;
const int RemoteEngineRequest::kDurationFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

RemoteEngineRequest::RemoteEngineRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.fca.uconnect.global.RemoteEngineRequest)
}
RemoteEngineRequest::RemoteEngineRequest(const RemoteEngineRequest& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&command_, &from.command_,
    reinterpret_cast<char*>(&duration_) -
    reinterpret_cast<char*>(&command_) + sizeof(duration_));
  // @@protoc_insertion_point(copy_constructor:com.fca.uconnect.global.RemoteEngineRequest)
}

void RemoteEngineRequest::SharedCtor() {
  ::memset(&command_, 0, reinterpret_cast<char*>(&duration_) -
    reinterpret_cast<char*>(&command_) + sizeof(duration_));
  _cached_size_ = 0;
}

RemoteEngineRequest::~RemoteEngineRequest() {
  // @@protoc_insertion_point(destructor:com.fca.uconnect.global.RemoteEngineRequest)
  SharedDtor();
}

void RemoteEngineRequest::SharedDtor() {
}

void RemoteEngineRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RemoteEngineRequest::descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const RemoteEngineRequest& RemoteEngineRequest::default_instance() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::InitDefaults();
  return *internal_default_instance();
}

RemoteEngineRequest* RemoteEngineRequest::New(::google::protobuf::Arena* arena) const {
  RemoteEngineRequest* n = new RemoteEngineRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void RemoteEngineRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:com.fca.uconnect.global.RemoteEngineRequest)
  ::memset(&command_, 0, reinterpret_cast<char*>(&duration_) -
    reinterpret_cast<char*>(&command_) + sizeof(duration_));
}

bool RemoteEngineRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.fca.uconnect.global.RemoteEngineRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // .com.fca.uconnect.global.RemoteEngineRequest.CommandEnum command = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          set_command(static_cast< ::com::fca::uconnect::global::RemoteEngineRequest_CommandEnum >(value));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int32 duration = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &duration_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.fca.uconnect.global.RemoteEngineRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.fca.uconnect.global.RemoteEngineRequest)
  return false;
#undef DO_
}

void RemoteEngineRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.fca.uconnect.global.RemoteEngineRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.RemoteEngineRequest.CommandEnum command = 1;
  if (this->command() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->command(), output);
  }

  // int32 duration = 2;
  if (this->duration() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->duration(), output);
  }

  // @@protoc_insertion_point(serialize_end:com.fca.uconnect.global.RemoteEngineRequest)
}

::google::protobuf::uint8* RemoteEngineRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.fca.uconnect.global.RemoteEngineRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.RemoteEngineRequest.CommandEnum command = 1;
  if (this->command() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->command(), target);
  }

  // int32 duration = 2;
  if (this->duration() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->duration(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:com.fca.uconnect.global.RemoteEngineRequest)
  return target;
}

size_t RemoteEngineRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.fca.uconnect.global.RemoteEngineRequest)
  size_t total_size = 0;

  // .com.fca.uconnect.global.RemoteEngineRequest.CommandEnum command = 1;
  if (this->command() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->command());
  }

  // int32 duration = 2;
  if (this->duration() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->duration());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RemoteEngineRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.fca.uconnect.global.RemoteEngineRequest)
  GOOGLE_DCHECK_NE(&from, this);
  const RemoteEngineRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const RemoteEngineRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.fca.uconnect.global.RemoteEngineRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.fca.uconnect.global.RemoteEngineRequest)
    MergeFrom(*source);
  }
}

void RemoteEngineRequest::MergeFrom(const RemoteEngineRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.fca.uconnect.global.RemoteEngineRequest)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.command() != 0) {
    set_command(from.command());
  }
  if (from.duration() != 0) {
    set_duration(from.duration());
  }
}

void RemoteEngineRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.fca.uconnect.global.RemoteEngineRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RemoteEngineRequest::CopyFrom(const RemoteEngineRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.fca.uconnect.global.RemoteEngineRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RemoteEngineRequest::IsInitialized() const {
  return true;
}

void RemoteEngineRequest::Swap(RemoteEngineRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void RemoteEngineRequest::InternalSwap(RemoteEngineRequest* other) {
  std::swap(command_, other->command_);
  std::swap(duration_, other->duration_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata RemoteEngineRequest::GetMetadata() const {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// RemoteEngineRequest

// .com.fca.uconnect.global.RemoteEngineRequest.CommandEnum command = 1;
void RemoteEngineRequest::clear_command() {
  command_ = 0;
}
::com::fca::uconnect::global::RemoteEngineRequest_CommandEnum RemoteEngineRequest::command() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteEngineRequest.command)
  return static_cast< ::com::fca::uconnect::global::RemoteEngineRequest_CommandEnum >(command_);
}
void RemoteEngineRequest::set_command(::com::fca::uconnect::global::RemoteEngineRequest_CommandEnum value) {
  
  command_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteEngineRequest.command)
}

// int32 duration = 2;
void RemoteEngineRequest::clear_duration() {
  duration_ = 0;
}
::google::protobuf::int32 RemoteEngineRequest::duration() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteEngineRequest.duration)
  return duration_;
}
void RemoteEngineRequest::set_duration(::google::protobuf::int32 value) {
  
  duration_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteEngineRequest.duration)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int RemoteDoorRequest::kCommandFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

RemoteDoorRequest::RemoteDoorRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.fca.uconnect.global.RemoteDoorRequest)
}
RemoteDoorRequest::RemoteDoorRequest(const RemoteDoorRequest& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  command_ = from.command_;
  // @@protoc_insertion_point(copy_constructor:com.fca.uconnect.global.RemoteDoorRequest)
}

void RemoteDoorRequest::SharedCtor() {
  command_ = 0;
  _cached_size_ = 0;
}

RemoteDoorRequest::~RemoteDoorRequest() {
  // @@protoc_insertion_point(destructor:com.fca.uconnect.global.RemoteDoorRequest)
  SharedDtor();
}

void RemoteDoorRequest::SharedDtor() {
}

void RemoteDoorRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RemoteDoorRequest::descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const RemoteDoorRequest& RemoteDoorRequest::default_instance() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::InitDefaults();
  return *internal_default_instance();
}

RemoteDoorRequest* RemoteDoorRequest::New(::google::protobuf::Arena* arena) const {
  RemoteDoorRequest* n = new RemoteDoorRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void RemoteDoorRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:com.fca.uconnect.global.RemoteDoorRequest)
  command_ = 0;
}

bool RemoteDoorRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.fca.uconnect.global.RemoteDoorRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // .com.fca.uconnect.global.RemoteDoorRequest.CommandEnum command = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          set_command(static_cast< ::com::fca::uconnect::global::RemoteDoorRequest_CommandEnum >(value));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.fca.uconnect.global.RemoteDoorRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.fca.uconnect.global.RemoteDoorRequest)
  return false;
#undef DO_
}

void RemoteDoorRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.fca.uconnect.global.RemoteDoorRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.RemoteDoorRequest.CommandEnum command = 1;
  if (this->command() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->command(), output);
  }

  // @@protoc_insertion_point(serialize_end:com.fca.uconnect.global.RemoteDoorRequest)
}

::google::protobuf::uint8* RemoteDoorRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.fca.uconnect.global.RemoteDoorRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.RemoteDoorRequest.CommandEnum command = 1;
  if (this->command() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->command(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:com.fca.uconnect.global.RemoteDoorRequest)
  return target;
}

size_t RemoteDoorRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.fca.uconnect.global.RemoteDoorRequest)
  size_t total_size = 0;

  // .com.fca.uconnect.global.RemoteDoorRequest.CommandEnum command = 1;
  if (this->command() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->command());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RemoteDoorRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.fca.uconnect.global.RemoteDoorRequest)
  GOOGLE_DCHECK_NE(&from, this);
  const RemoteDoorRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const RemoteDoorRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.fca.uconnect.global.RemoteDoorRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.fca.uconnect.global.RemoteDoorRequest)
    MergeFrom(*source);
  }
}

void RemoteDoorRequest::MergeFrom(const RemoteDoorRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.fca.uconnect.global.RemoteDoorRequest)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.command() != 0) {
    set_command(from.command());
  }
}

void RemoteDoorRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.fca.uconnect.global.RemoteDoorRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RemoteDoorRequest::CopyFrom(const RemoteDoorRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.fca.uconnect.global.RemoteDoorRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RemoteDoorRequest::IsInitialized() const {
  return true;
}

void RemoteDoorRequest::Swap(RemoteDoorRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void RemoteDoorRequest::InternalSwap(RemoteDoorRequest* other) {
  std::swap(command_, other->command_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata RemoteDoorRequest::GetMetadata() const {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// RemoteDoorRequest

// .com.fca.uconnect.global.RemoteDoorRequest.CommandEnum command = 1;
void RemoteDoorRequest::clear_command() {
  command_ = 0;
}
::com::fca::uconnect::global::RemoteDoorRequest_CommandEnum RemoteDoorRequest::command() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteDoorRequest.command)
  return static_cast< ::com::fca::uconnect::global::RemoteDoorRequest_CommandEnum >(command_);
}
void RemoteDoorRequest::set_command(::com::fca::uconnect::global::RemoteDoorRequest_CommandEnum value) {
  
  command_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteDoorRequest.command)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int RemoteWindowRequest::kCommandFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

RemoteWindowRequest::RemoteWindowRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.fca.uconnect.global.RemoteWindowRequest)
}
RemoteWindowRequest::RemoteWindowRequest(const RemoteWindowRequest& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  command_ = from.command_;
  // @@protoc_insertion_point(copy_constructor:com.fca.uconnect.global.RemoteWindowRequest)
}

void RemoteWindowRequest::SharedCtor() {
  command_ = 0;
  _cached_size_ = 0;
}

RemoteWindowRequest::~RemoteWindowRequest() {
  // @@protoc_insertion_point(destructor:com.fca.uconnect.global.RemoteWindowRequest)
  SharedDtor();
}

void RemoteWindowRequest::SharedDtor() {
}

void RemoteWindowRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RemoteWindowRequest::descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const RemoteWindowRequest& RemoteWindowRequest::default_instance() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::InitDefaults();
  return *internal_default_instance();
}

RemoteWindowRequest* RemoteWindowRequest::New(::google::protobuf::Arena* arena) const {
  RemoteWindowRequest* n = new RemoteWindowRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void RemoteWindowRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:com.fca.uconnect.global.RemoteWindowRequest)
  command_ = 0;
}

bool RemoteWindowRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.fca.uconnect.global.RemoteWindowRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // .com.fca.uconnect.global.RemoteWindowRequest.CommandEnum command = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          set_command(static_cast< ::com::fca::uconnect::global::RemoteWindowRequest_CommandEnum >(value));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.fca.uconnect.global.RemoteWindowRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.fca.uconnect.global.RemoteWindowRequest)
  return false;
#undef DO_
}

void RemoteWindowRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.fca.uconnect.global.RemoteWindowRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.RemoteWindowRequest.CommandEnum command = 1;
  if (this->command() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->command(), output);
  }

  // @@protoc_insertion_point(serialize_end:com.fca.uconnect.global.RemoteWindowRequest)
}

::google::protobuf::uint8* RemoteWindowRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.fca.uconnect.global.RemoteWindowRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.RemoteWindowRequest.CommandEnum command = 1;
  if (this->command() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->command(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:com.fca.uconnect.global.RemoteWindowRequest)
  return target;
}

size_t RemoteWindowRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.fca.uconnect.global.RemoteWindowRequest)
  size_t total_size = 0;

  // .com.fca.uconnect.global.RemoteWindowRequest.CommandEnum command = 1;
  if (this->command() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->command());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RemoteWindowRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.fca.uconnect.global.RemoteWindowRequest)
  GOOGLE_DCHECK_NE(&from, this);
  const RemoteWindowRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const RemoteWindowRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.fca.uconnect.global.RemoteWindowRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.fca.uconnect.global.RemoteWindowRequest)
    MergeFrom(*source);
  }
}

void RemoteWindowRequest::MergeFrom(const RemoteWindowRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.fca.uconnect.global.RemoteWindowRequest)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.command() != 0) {
    set_command(from.command());
  }
}

void RemoteWindowRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.fca.uconnect.global.RemoteWindowRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RemoteWindowRequest::CopyFrom(const RemoteWindowRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.fca.uconnect.global.RemoteWindowRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RemoteWindowRequest::IsInitialized() const {
  return true;
}

void RemoteWindowRequest::Swap(RemoteWindowRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void RemoteWindowRequest::InternalSwap(RemoteWindowRequest* other) {
  std::swap(command_, other->command_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata RemoteWindowRequest::GetMetadata() const {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// RemoteWindowRequest

// .com.fca.uconnect.global.RemoteWindowRequest.CommandEnum command = 1;
void RemoteWindowRequest::clear_command() {
  command_ = 0;
}
::com::fca::uconnect::global::RemoteWindowRequest_CommandEnum RemoteWindowRequest::command() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteWindowRequest.command)
  return static_cast< ::com::fca::uconnect::global::RemoteWindowRequest_CommandEnum >(command_);
}
void RemoteWindowRequest::set_command(::com::fca::uconnect::global::RemoteWindowRequest_CommandEnum value) {
  
  command_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteWindowRequest.command)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int RemoteClimateRequest::kCommandFieldNumber;
const int RemoteClimateRequest::kInteriorTemperatureFieldNumber;
const int RemoteClimateRequest::kFanSpeedFieldNumber;
const int RemoteClimateRequest::kTermperatureUOMFieldNumber;
const int RemoteClimateRequest::kTargetTempFieldNumber;
const int RemoteClimateRequest::kTimeoutAfterTempFieldNumber;
const int RemoteClimateRequest::kPreTripTimeoutFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

RemoteClimateRequest::RemoteClimateRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.fca.uconnect.global.RemoteClimateRequest)
}
RemoteClimateRequest::RemoteClimateRequest(const RemoteClimateRequest& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&command_, &from.command_,
    reinterpret_cast<char*>(&pretriptimeout_) -
    reinterpret_cast<char*>(&command_) + sizeof(pretriptimeout_));
  // @@protoc_insertion_point(copy_constructor:com.fca.uconnect.global.RemoteClimateRequest)
}

void RemoteClimateRequest::SharedCtor() {
  ::memset(&command_, 0, reinterpret_cast<char*>(&pretriptimeout_) -
    reinterpret_cast<char*>(&command_) + sizeof(pretriptimeout_));
  _cached_size_ = 0;
}

RemoteClimateRequest::~RemoteClimateRequest() {
  // @@protoc_insertion_point(destructor:com.fca.uconnect.global.RemoteClimateRequest)
  SharedDtor();
}

void RemoteClimateRequest::SharedDtor() {
}

void RemoteClimateRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RemoteClimateRequest::descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const RemoteClimateRequest& RemoteClimateRequest::default_instance() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::InitDefaults();
  return *internal_default_instance();
}

RemoteClimateRequest* RemoteClimateRequest::New(::google::protobuf::Arena* arena) const {
  RemoteClimateRequest* n = new RemoteClimateRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void RemoteClimateRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:com.fca.uconnect.global.RemoteClimateRequest)
  ::memset(&command_, 0, reinterpret_cast<char*>(&pretriptimeout_) -
    reinterpret_cast<char*>(&command_) + sizeof(pretriptimeout_));
}

bool RemoteClimateRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.fca.uconnect.global.RemoteClimateRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // .com.fca.uconnect.global.RemoteClimateRequest.CommandEnum command = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          set_command(static_cast< ::com::fca::uconnect::global::RemoteClimateRequest_CommandEnum >(value));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int32 interiorTemperature = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &interiortemperature_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int32 fanSpeed = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &fanspeed_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .com.fca.uconnect.global.RemoteClimateRequest.TemperatureEnum termperatureUOM = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          set_termperatureuom(static_cast< ::com::fca::uconnect::global::RemoteClimateRequest_TemperatureEnum >(value));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int32 targetTemp = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(48u)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &targettemp_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int32 timeoutAfterTemp = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(56u)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &timeoutaftertemp_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int32 preTripTimeout = 8;
      case 8: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(64u)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &pretriptimeout_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.fca.uconnect.global.RemoteClimateRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.fca.uconnect.global.RemoteClimateRequest)
  return false;
#undef DO_
}

void RemoteClimateRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.fca.uconnect.global.RemoteClimateRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.RemoteClimateRequest.CommandEnum command = 1;
  if (this->command() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->command(), output);
  }

  // int32 interiorTemperature = 3;
  if (this->interiortemperature() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->interiortemperature(), output);
  }

  // int32 fanSpeed = 4;
  if (this->fanspeed() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->fanspeed(), output);
  }

  // .com.fca.uconnect.global.RemoteClimateRequest.TemperatureEnum termperatureUOM = 5;
  if (this->termperatureuom() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      5, this->termperatureuom(), output);
  }

  // int32 targetTemp = 6;
  if (this->targettemp() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(6, this->targettemp(), output);
  }

  // int32 timeoutAfterTemp = 7;
  if (this->timeoutaftertemp() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(7, this->timeoutaftertemp(), output);
  }

  // int32 preTripTimeout = 8;
  if (this->pretriptimeout() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(8, this->pretriptimeout(), output);
  }

  // @@protoc_insertion_point(serialize_end:com.fca.uconnect.global.RemoteClimateRequest)
}

::google::protobuf::uint8* RemoteClimateRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.fca.uconnect.global.RemoteClimateRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.RemoteClimateRequest.CommandEnum command = 1;
  if (this->command() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->command(), target);
  }

  // int32 interiorTemperature = 3;
  if (this->interiortemperature() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->interiortemperature(), target);
  }

  // int32 fanSpeed = 4;
  if (this->fanspeed() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->fanspeed(), target);
  }

  // .com.fca.uconnect.global.RemoteClimateRequest.TemperatureEnum termperatureUOM = 5;
  if (this->termperatureuom() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      5, this->termperatureuom(), target);
  }

  // int32 targetTemp = 6;
  if (this->targettemp() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(6, this->targettemp(), target);
  }

  // int32 timeoutAfterTemp = 7;
  if (this->timeoutaftertemp() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(7, this->timeoutaftertemp(), target);
  }

  // int32 preTripTimeout = 8;
  if (this->pretriptimeout() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(8, this->pretriptimeout(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:com.fca.uconnect.global.RemoteClimateRequest)
  return target;
}

size_t RemoteClimateRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.fca.uconnect.global.RemoteClimateRequest)
  size_t total_size = 0;

  // .com.fca.uconnect.global.RemoteClimateRequest.CommandEnum command = 1;
  if (this->command() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->command());
  }

  // int32 interiorTemperature = 3;
  if (this->interiortemperature() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->interiortemperature());
  }

  // int32 fanSpeed = 4;
  if (this->fanspeed() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->fanspeed());
  }

  // .com.fca.uconnect.global.RemoteClimateRequest.TemperatureEnum termperatureUOM = 5;
  if (this->termperatureuom() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->termperatureuom());
  }

  // int32 targetTemp = 6;
  if (this->targettemp() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->targettemp());
  }

  // int32 timeoutAfterTemp = 7;
  if (this->timeoutaftertemp() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->timeoutaftertemp());
  }

  // int32 preTripTimeout = 8;
  if (this->pretriptimeout() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->pretriptimeout());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RemoteClimateRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.fca.uconnect.global.RemoteClimateRequest)
  GOOGLE_DCHECK_NE(&from, this);
  const RemoteClimateRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const RemoteClimateRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.fca.uconnect.global.RemoteClimateRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.fca.uconnect.global.RemoteClimateRequest)
    MergeFrom(*source);
  }
}

void RemoteClimateRequest::MergeFrom(const RemoteClimateRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.fca.uconnect.global.RemoteClimateRequest)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.command() != 0) {
    set_command(from.command());
  }
  if (from.interiortemperature() != 0) {
    set_interiortemperature(from.interiortemperature());
  }
  if (from.fanspeed() != 0) {
    set_fanspeed(from.fanspeed());
  }
  if (from.termperatureuom() != 0) {
    set_termperatureuom(from.termperatureuom());
  }
  if (from.targettemp() != 0) {
    set_targettemp(from.targettemp());
  }
  if (from.timeoutaftertemp() != 0) {
    set_timeoutaftertemp(from.timeoutaftertemp());
  }
  if (from.pretriptimeout() != 0) {
    set_pretriptimeout(from.pretriptimeout());
  }
}

void RemoteClimateRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.fca.uconnect.global.RemoteClimateRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RemoteClimateRequest::CopyFrom(const RemoteClimateRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.fca.uconnect.global.RemoteClimateRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RemoteClimateRequest::IsInitialized() const {
  return true;
}

void RemoteClimateRequest::Swap(RemoteClimateRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void RemoteClimateRequest::InternalSwap(RemoteClimateRequest* other) {
  std::swap(command_, other->command_);
  std::swap(interiortemperature_, other->interiortemperature_);
  std::swap(fanspeed_, other->fanspeed_);
  std::swap(termperatureuom_, other->termperatureuom_);
  std::swap(targettemp_, other->targettemp_);
  std::swap(timeoutaftertemp_, other->timeoutaftertemp_);
  std::swap(pretriptimeout_, other->pretriptimeout_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata RemoteClimateRequest::GetMetadata() const {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// RemoteClimateRequest

// .com.fca.uconnect.global.RemoteClimateRequest.CommandEnum command = 1;
void RemoteClimateRequest::clear_command() {
  command_ = 0;
}
::com::fca::uconnect::global::RemoteClimateRequest_CommandEnum RemoteClimateRequest::command() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteClimateRequest.command)
  return static_cast< ::com::fca::uconnect::global::RemoteClimateRequest_CommandEnum >(command_);
}
void RemoteClimateRequest::set_command(::com::fca::uconnect::global::RemoteClimateRequest_CommandEnum value) {
  
  command_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteClimateRequest.command)
}

// int32 interiorTemperature = 3;
void RemoteClimateRequest::clear_interiortemperature() {
  interiortemperature_ = 0;
}
::google::protobuf::int32 RemoteClimateRequest::interiortemperature() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteClimateRequest.interiorTemperature)
  return interiortemperature_;
}
void RemoteClimateRequest::set_interiortemperature(::google::protobuf::int32 value) {
  
  interiortemperature_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteClimateRequest.interiorTemperature)
}

// int32 fanSpeed = 4;
void RemoteClimateRequest::clear_fanspeed() {
  fanspeed_ = 0;
}
::google::protobuf::int32 RemoteClimateRequest::fanspeed() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteClimateRequest.fanSpeed)
  return fanspeed_;
}
void RemoteClimateRequest::set_fanspeed(::google::protobuf::int32 value) {
  
  fanspeed_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteClimateRequest.fanSpeed)
}

// .com.fca.uconnect.global.RemoteClimateRequest.TemperatureEnum termperatureUOM = 5;
void RemoteClimateRequest::clear_termperatureuom() {
  termperatureuom_ = 0;
}
::com::fca::uconnect::global::RemoteClimateRequest_TemperatureEnum RemoteClimateRequest::termperatureuom() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteClimateRequest.termperatureUOM)
  return static_cast< ::com::fca::uconnect::global::RemoteClimateRequest_TemperatureEnum >(termperatureuom_);
}
void RemoteClimateRequest::set_termperatureuom(::com::fca::uconnect::global::RemoteClimateRequest_TemperatureEnum value) {
  
  termperatureuom_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteClimateRequest.termperatureUOM)
}

// int32 targetTemp = 6;
void RemoteClimateRequest::clear_targettemp() {
  targettemp_ = 0;
}
::google::protobuf::int32 RemoteClimateRequest::targettemp() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteClimateRequest.targetTemp)
  return targettemp_;
}
void RemoteClimateRequest::set_targettemp(::google::protobuf::int32 value) {
  
  targettemp_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteClimateRequest.targetTemp)
}

// int32 timeoutAfterTemp = 7;
void RemoteClimateRequest::clear_timeoutaftertemp() {
  timeoutaftertemp_ = 0;
}
::google::protobuf::int32 RemoteClimateRequest::timeoutaftertemp() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteClimateRequest.timeoutAfterTemp)
  return timeoutaftertemp_;
}
void RemoteClimateRequest::set_timeoutaftertemp(::google::protobuf::int32 value) {
  
  timeoutaftertemp_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteClimateRequest.timeoutAfterTemp)
}

// int32 preTripTimeout = 8;
void RemoteClimateRequest::clear_pretriptimeout() {
  pretriptimeout_ = 0;
}
::google::protobuf::int32 RemoteClimateRequest::pretriptimeout() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteClimateRequest.preTripTimeout)
  return pretriptimeout_;
}
void RemoteClimateRequest::set_pretriptimeout(::google::protobuf::int32 value) {
  
  pretriptimeout_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteClimateRequest.preTripTimeout)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int RemoteOperationResponse::kResponseFieldNumber;
const int RemoteOperationResponse::kServiceRequestIdFieldNumber;
const int RemoteOperationResponse::kIsTransientFieldNumber;
const int RemoteOperationResponse::kFailureReasonCodeFieldNumber;
const int RemoteOperationResponse::kVehicleStatusFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

RemoteOperationResponse::RemoteOperationResponse()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.fca.uconnect.global.RemoteOperationResponse)
}
RemoteOperationResponse::RemoteOperationResponse(const RemoteOperationResponse& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  servicerequestid_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.servicerequestid().size() > 0) {
    servicerequestid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.servicerequestid_);
  }
  if (from.has_vehiclestatus()) {
    vehiclestatus_ = new ::com::fca::uconnect::global::VehicleStatus(*from.vehiclestatus_);
  } else {
    vehiclestatus_ = NULL;
  }
  ::memcpy(&response_, &from.response_,
    reinterpret_cast<char*>(&failurereasoncode_) -
    reinterpret_cast<char*>(&response_) + sizeof(failurereasoncode_));
  // @@protoc_insertion_point(copy_constructor:com.fca.uconnect.global.RemoteOperationResponse)
}

void RemoteOperationResponse::SharedCtor() {
  servicerequestid_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&vehiclestatus_, 0, reinterpret_cast<char*>(&failurereasoncode_) -
    reinterpret_cast<char*>(&vehiclestatus_) + sizeof(failurereasoncode_));
  _cached_size_ = 0;
}

RemoteOperationResponse::~RemoteOperationResponse() {
  // @@protoc_insertion_point(destructor:com.fca.uconnect.global.RemoteOperationResponse)
  SharedDtor();
}

void RemoteOperationResponse::SharedDtor() {
  servicerequestid_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) {
    delete vehiclestatus_;
  }
}

void RemoteOperationResponse::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RemoteOperationResponse::descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const RemoteOperationResponse& RemoteOperationResponse::default_instance() {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::InitDefaults();
  return *internal_default_instance();
}

RemoteOperationResponse* RemoteOperationResponse::New(::google::protobuf::Arena* arena) const {
  RemoteOperationResponse* n = new RemoteOperationResponse;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void RemoteOperationResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:com.fca.uconnect.global.RemoteOperationResponse)
  servicerequestid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (GetArenaNoVirtual() == NULL && vehiclestatus_ != NULL) {
    delete vehiclestatus_;
  }
  vehiclestatus_ = NULL;
  ::memset(&response_, 0, reinterpret_cast<char*>(&failurereasoncode_) -
    reinterpret_cast<char*>(&response_) + sizeof(failurereasoncode_));
}

bool RemoteOperationResponse::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.fca.uconnect.global.RemoteOperationResponse)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // .com.fca.uconnect.global.RemoteOperationResponse.ResponseEnum response = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          set_response(static_cast< ::com::fca::uconnect::global::RemoteOperationResponse_ResponseEnum >(value));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // bytes serviceRequestId = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_servicerequestid()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // bool isTransient = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &istransient_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int32 failureReasonCode = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &failurereasoncode_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .com.fca.uconnect.global.VehicleStatus vehicleStatus = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_vehiclestatus()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.fca.uconnect.global.RemoteOperationResponse)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.fca.uconnect.global.RemoteOperationResponse)
  return false;
#undef DO_
}

void RemoteOperationResponse::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.fca.uconnect.global.RemoteOperationResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.RemoteOperationResponse.ResponseEnum response = 1;
  if (this->response() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->response(), output);
  }

  // bytes serviceRequestId = 2;
  if (this->servicerequestid().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      2, this->servicerequestid(), output);
  }

  // bool isTransient = 3;
  if (this->istransient() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->istransient(), output);
  }

  // int32 failureReasonCode = 4;
  if (this->failurereasoncode() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->failurereasoncode(), output);
  }

  // .com.fca.uconnect.global.VehicleStatus vehicleStatus = 5;
  if (this->has_vehiclestatus()) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      5, *this->vehiclestatus_, output);
  }

  // @@protoc_insertion_point(serialize_end:com.fca.uconnect.global.RemoteOperationResponse)
}

::google::protobuf::uint8* RemoteOperationResponse::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.fca.uconnect.global.RemoteOperationResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.RemoteOperationResponse.ResponseEnum response = 1;
  if (this->response() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->response(), target);
  }

  // bytes serviceRequestId = 2;
  if (this->servicerequestid().size() > 0) {
    target =
      ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
        2, this->servicerequestid(), target);
  }

  // bool isTransient = 3;
  if (this->istransient() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->istransient(), target);
  }

  // int32 failureReasonCode = 4;
  if (this->failurereasoncode() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->failurereasoncode(), target);
  }

  // .com.fca.uconnect.global.VehicleStatus vehicleStatus = 5;
  if (this->has_vehiclestatus()) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        5, *this->vehiclestatus_, deterministic, target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:com.fca.uconnect.global.RemoteOperationResponse)
  return target;
}

size_t RemoteOperationResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.fca.uconnect.global.RemoteOperationResponse)
  size_t total_size = 0;

  // bytes serviceRequestId = 2;
  if (this->servicerequestid().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->servicerequestid());
  }

  // .com.fca.uconnect.global.VehicleStatus vehicleStatus = 5;
  if (this->has_vehiclestatus()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        *this->vehiclestatus_);
  }

  // .com.fca.uconnect.global.RemoteOperationResponse.ResponseEnum response = 1;
  if (this->response() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->response());
  }

  // bool isTransient = 3;
  if (this->istransient() != 0) {
    total_size += 1 + 1;
  }

  // int32 failureReasonCode = 4;
  if (this->failurereasoncode() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->failurereasoncode());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RemoteOperationResponse::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.fca.uconnect.global.RemoteOperationResponse)
  GOOGLE_DCHECK_NE(&from, this);
  const RemoteOperationResponse* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const RemoteOperationResponse>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.fca.uconnect.global.RemoteOperationResponse)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.fca.uconnect.global.RemoteOperationResponse)
    MergeFrom(*source);
  }
}

void RemoteOperationResponse::MergeFrom(const RemoteOperationResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.fca.uconnect.global.RemoteOperationResponse)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.servicerequestid().size() > 0) {

    servicerequestid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.servicerequestid_);
  }
  if (from.has_vehiclestatus()) {
    mutable_vehiclestatus()->::com::fca::uconnect::global::VehicleStatus::MergeFrom(from.vehiclestatus());
  }
  if (from.response() != 0) {
    set_response(from.response());
  }
  if (from.istransient() != 0) {
    set_istransient(from.istransient());
  }
  if (from.failurereasoncode() != 0) {
    set_failurereasoncode(from.failurereasoncode());
  }
}

void RemoteOperationResponse::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.fca.uconnect.global.RemoteOperationResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RemoteOperationResponse::CopyFrom(const RemoteOperationResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.fca.uconnect.global.RemoteOperationResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RemoteOperationResponse::IsInitialized() const {
  return true;
}

void RemoteOperationResponse::Swap(RemoteOperationResponse* other) {
  if (other == this) return;
  InternalSwap(other);
}
void RemoteOperationResponse::InternalSwap(RemoteOperationResponse* other) {
  servicerequestid_.Swap(&other->servicerequestid_);
  std::swap(vehiclestatus_, other->vehiclestatus_);
  std::swap(response_, other->response_);
  std::swap(istransient_, other->istransient_);
  std::swap(failurereasoncode_, other->failurereasoncode_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata RemoteOperationResponse::GetMetadata() const {
  protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fRemoteOp_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// RemoteOperationResponse

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

// bytes serviceRequestId = 2;
void RemoteOperationResponse::clear_servicerequestid() {
  servicerequestid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& RemoteOperationResponse::servicerequestid() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteOperationResponse.serviceRequestId)
  return servicerequestid_.GetNoArena();
}
void RemoteOperationResponse::set_servicerequestid(const ::std::string& value) {
  
  servicerequestid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.RemoteOperationResponse.serviceRequestId)
}
#if LANG_CXX11
void RemoteOperationResponse::set_servicerequestid(::std::string&& value) {
  
  servicerequestid_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.fca.uconnect.global.RemoteOperationResponse.serviceRequestId)
}
#endif
void RemoteOperationResponse::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.RemoteOperationResponse.serviceRequestId)
}
void RemoteOperationResponse::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.RemoteOperationResponse.serviceRequestId)
}
::std::string* RemoteOperationResponse::mutable_servicerequestid() {
  
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.RemoteOperationResponse.serviceRequestId)
  return servicerequestid_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* RemoteOperationResponse::release_servicerequestid() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.RemoteOperationResponse.serviceRequestId)
  
  return servicerequestid_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void RemoteOperationResponse::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.RemoteOperationResponse.serviceRequestId)
}

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

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

// .com.fca.uconnect.global.VehicleStatus vehicleStatus = 5;
bool RemoteOperationResponse::has_vehiclestatus() const {
  return this != internal_default_instance() && vehiclestatus_ != NULL;
}
void RemoteOperationResponse::clear_vehiclestatus() {
  if (GetArenaNoVirtual() == NULL && vehiclestatus_ != NULL) delete vehiclestatus_;
  vehiclestatus_ = NULL;
}
const ::com::fca::uconnect::global::VehicleStatus& RemoteOperationResponse::vehiclestatus() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.RemoteOperationResponse.vehicleStatus)
  return vehiclestatus_ != NULL ? *vehiclestatus_
                         : *::com::fca::uconnect::global::VehicleStatus::internal_default_instance();
}
::com::fca::uconnect::global::VehicleStatus* RemoteOperationResponse::mutable_vehiclestatus() {
  
  if (vehiclestatus_ == NULL) {
    vehiclestatus_ = new ::com::fca::uconnect::global::VehicleStatus;
  }
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.RemoteOperationResponse.vehicleStatus)
  return vehiclestatus_;
}
::com::fca::uconnect::global::VehicleStatus* RemoteOperationResponse::release_vehiclestatus() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.RemoteOperationResponse.vehicleStatus)
  
  ::com::fca::uconnect::global::VehicleStatus* temp = vehiclestatus_;
  vehiclestatus_ = NULL;
  return temp;
}
void RemoteOperationResponse::set_allocated_vehiclestatus(::com::fca::uconnect::global::VehicleStatus* vehiclestatus) {
  delete vehiclestatus_;
  vehiclestatus_ = vehiclestatus;
  if (vehiclestatus) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.RemoteOperationResponse.vehicleStatus)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// @@protoc_insertion_point(namespace_scope)

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

// @@protoc_insertion_point(global_scope)
