text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: ipcMessage.proto
  
  #define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
  #include "ipcMessage.pb.h"
  
  #include <algorithm>
  
  #include <google/protobuf/stubs/common.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 ets {
  namespace genielog {
  namespace appwatcher_3 {
  namespace profiling {
  namespace ipc {
  
  namespace {
  
  const ::google::protobuf::Descriptor* ipcData_descriptor_ = NULL;
  const ::google::protobuf::internal::GeneratedMessageReflection*
    ipcData_reflection_ = NULL;
  const ::google::protobuf::Descriptor* ipcMessage_descriptor_ = NULL;
  const ::google::protobuf::internal::GeneratedMessageReflection*
    ipcMessage_reflection_ = NULL;
  const ::google::protobuf::EnumDescriptor* ipcMessage_ipcType_descriptor_ = NULL;
  const ::google::protobuf::EnumDescriptor* ipcAction_descriptor_ = NULL;
  
  }  // namespace
  
  
  void protobuf_AssignDesc_ipcMessage_2eproto() {
    protobuf_AddDesc_ipcMessage_2eproto();
    const ::google::protobuf::FileDescriptor* file =
      ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
        "ipcMessage.proto");
    GOOGLE_CHECK(file != NULL);
    ipcData_descriptor_ = file->message_type(0);
    static const int ipcData_offsets_[2] = {
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ipcData, action_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ipcData, payload_),
    };
    ipcData_reflection_ =
      new ::google::protobuf::internal::GeneratedMessageReflection(
        ipcData_descriptor_,
        ipcData::default_instance_,
        ipcData_offsets_,
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ipcData, _has_bits_[0]),
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ipcData, _unknown_fields_),
        -1,
        ::google::protobuf::DescriptorPool::generated_pool(),
        ::google::protobuf::MessageFactory::generated_factory(),
        sizeof(ipcData));
    ipcMessage_descriptor_ = file->message_type(1);
    static const int ipcMessage_offsets_[2] = {
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ipcMessage, type_),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ipcMessage, data_),
    };
    ipcMessage_reflection_ =
      new ::google::protobuf::internal::GeneratedMessageReflection(
        ipcMessage_descriptor_,
        ipcMessage::default_instance_,
        ipcMessage_offsets_,
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ipcMessage, _has_bits_[0]),
        GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ipcMessage, _unknown_fields_),
        -1,
        ::google::protobuf::DescriptorPool::generated_pool(),
        ::google::protobuf::MessageFactory::generated_factory(),
        sizeof(ipcMessage));
    ipcMessage_ipcType_descriptor_ = ipcMessage_descriptor_->enum_type(0);
    ipcAction_descriptor_ = file->enum_type(0);
  }
  
  namespace {
  
  GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
  inline void protobuf_AssignDescriptorsOnce() {
    ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
                   &protobuf_AssignDesc_ipcMessage_2eproto);
  }
  
  void protobuf_RegisterTypes(const ::std::string&) {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      ipcData_descriptor_, &ipcData::default_instance());
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      ipcMessage_descriptor_, &ipcMessage::default_instance());
  }
  
  }  // namespace
  
  void protobuf_ShutdownFile_ipcMessage_2eproto() {
    delete ipcData::default_instance_;
    delete ipcData_reflection_;
    delete ipcMessage::default_instance_;
    delete ipcMessage_reflection_;
  }
  
  void protobuf_AddDesc_ipcMessage_2eproto() {
    static bool already_here = false;
    if (already_here) return;
    already_here = true;
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
    ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
      "\n\020ipcMessage.proto\022\'ets.genielog.appwatc"
      "her_3.profiling.ipc\"^\n\007ipcData\022B\n\006action"
      "\030\001 \002(\01622.ets.genielog.appwatcher_3.profi"
      "ling.ipc.ipcAction\022\017\n\007payload\030\002 \003(\014\"\331\001\n\n"
      "ipcMessage\022Q\n\004type\030\001 \002(\0162;.ets.genielog."
      "appwatcher_3.profiling.ipc.ipcMessage.ip"
      "cType:\006ACTION\022>\n\004data\030\002 \003(\01320.ets.geniel"
      "og.appwatcher_3.profiling.ipc.ipcData\"8\n"
      "\007ipcType\022\n\n\006ACTION\020\000\022\n\n\006RESULT\020\001\022\013\n\007COMM"
      "AND\020\002\022\010\n\004EXIT\020\n*G\n\tipcAction\022\006\n\002OS\020\001\022\007\n\003"
      "CPU\020\002\022\013\n\007PROCESS\020\003\022\013\n\007NETWORK\020\004\022\017\n\013KILLP"
      "ROCESS\020\005", 448);
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
      "ipcMessage.proto", &protobuf_RegisterTypes);
    ipcData::default_instance_ = new ipcData();
    ipcMessage::default_instance_ = new ipcMessage();
    ipcData::default_instance_->InitAsDefaultInstance();
    ipcMessage::default_instance_->InitAsDefaultInstance();
    ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_ipcMessage_2eproto);
  }
  
  // Force AddDescriptors() to be called at static initialization time.
  struct StaticDescriptorInitializer_ipcMessage_2eproto {
    StaticDescriptorInitializer_ipcMessage_2eproto() {
      protobuf_AddDesc_ipcMessage_2eproto();
    }
  } static_descriptor_initializer_ipcMessage_2eproto_;
  const ::google::protobuf::EnumDescriptor* ipcAction_descriptor() {
    protobuf_AssignDescriptorsOnce();
    return ipcAction_descriptor_;
  }
  bool ipcAction_IsValid(int value) {
    switch(value) {
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
        return true;
      default:
        return false;
    }
  }
  
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int ipcData::kActionFieldNumber;
  const int ipcData::kPayloadFieldNumber;
  #endif  // !_MSC_VER
  
  ipcData::ipcData()
    : ::google::protobuf::Message() {
    SharedCtor();
  }
  
  void ipcData::InitAsDefaultInstance() {
  }
  
  ipcData::ipcData(const ipcData& from)
    : ::google::protobuf::Message() {
    SharedCtor();
    MergeFrom(from);
  }
  
  void ipcData::SharedCtor() {
    _cached_size_ = 0;
    action_ = 1;
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  ipcData::~ipcData() {
    SharedDtor();
  }
  
  void ipcData::SharedDtor() {
    if (this != default_instance_) {
    }
  }
  
  void ipcData::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* ipcData::descriptor() {
    protobuf_AssignDescriptorsOnce();
    return ipcData_descriptor_;
  }
  
  const ipcData& ipcData::default_instance() {
    if (default_instance_ == NULL) protobuf_AddDesc_ipcMessage_2eproto();
    return *default_instance_;
  }
  
  ipcData* ipcData::default_instance_ = NULL;
  
  ipcData* ipcData::New() const {
    return new ipcData;
  }
  
  void ipcData::Clear() {
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      action_ = 1;
    }
    payload_.Clear();
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->Clear();
  }
  
  bool ipcData::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
    ::google::protobuf::uint32 tag;
    while ((tag = input->ReadTag()) != 0) {
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required .ets.genielog.appwatcher_3.profiling.ipc.ipcAction action = 1;
        case 1: {
          if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
            int value;
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                   input, &value)));
            if (::ets::genielog::appwatcher_3::profiling::ipc::ipcAction_IsValid(value)) {
              set_action(static_cast< ::ets::genielog::appwatcher_3::profiling::ipc::ipcAction >(value));
            } else {
              mutable_unknown_fields()->AddVarint(1, value);
            }
          } else {
            goto handle_uninterpreted;
          }
          if (input->ExpectTag(18)) goto parse_payload;
          break;
        }
  
        // repeated bytes payload = 2;
        case 2: {
          if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
           parse_payload:
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->add_payload()));
          } else {
            goto handle_uninterpreted;
          }
          if (input->ExpectTag(18)) goto parse_payload;
          if (input->ExpectAtEnd()) return true;
          break;
        }
  
        default: {
        handle_uninterpreted:
          if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            return true;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, mutable_unknown_fields()));
          break;
        }
      }
    }
    return true;
  #undef DO_
  }
  
  void ipcData::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // required .ets.genielog.appwatcher_3.profiling.ipc.ipcAction action = 1;
    if (has_action()) {
      ::google::protobuf::internal::WireFormatLite::WriteEnum(
        1, this->action(), output);
    }
  
    // repeated bytes payload = 2;
    for (int i = 0; i < this->payload_size(); i++) {
      ::google::protobuf::internal::WireFormatLite::WriteBytes(
        2, this->payload(i), output);
    }
  
    if (!unknown_fields().empty()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          unknown_fields(), output);
    }
  }
  
  ::google::protobuf::uint8* ipcData::SerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // required .ets.genielog.appwatcher_3.profiling.ipc.ipcAction action = 1;
    if (has_action()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
        1, this->action(), target);
    }
  
    // repeated bytes payload = 2;
    for (int i = 0; i < this->payload_size(); i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteBytesToArray(2, this->payload(i), target);
    }
  
    if (!unknown_fields().empty()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          unknown_fields(), target);
    }
    return target;
  }
  
  int ipcData::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      // required .ets.genielog.appwatcher_3.profiling.ipc.ipcAction action = 1;
      if (has_action()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::EnumSize(this->action());
      }
  
    }
    // repeated bytes payload = 2;
    total_size += 1 * this->payload_size();
    for (int i = 0; i < this->payload_size(); i++) {
      total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->payload(i));
    }
  
    if (!unknown_fields().empty()) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          unknown_fields());
    }
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = total_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void ipcData::MergeFrom(const ::google::protobuf::Message& from) {
    GOOGLE_CHECK_NE(&from, this);
    const ipcData* source =
      ::google::protobuf::internal::dynamic_cast_if_available<const ipcData*>(
        &from);
    if (source == NULL) {
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
      MergeFrom(*source);
    }
  }
  
  void ipcData::MergeFrom(const ipcData& from) {
    GOOGLE_CHECK_NE(&from, this);
    payload_.MergeFrom(from.payload_);
    if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      if (from.has_action()) {
        set_action(from.action());
      }
    }
    mutable_unknown_fields()->MergeFrom(from.unknown_fields());
  }
  
  void ipcData::CopyFrom(const ::google::protobuf::Message& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void ipcData::CopyFrom(const ipcData& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool ipcData::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  
    return true;
  }
  
  void ipcData::Swap(ipcData* other) {
    if (other != this) {
      std::swap(action_, other->action_);
      payload_.Swap(&other->payload_);
      std::swap(_has_bits_[0], other->_has_bits_[0]);
      _unknown_fields_.Swap(&other->_unknown_fields_);
      std::swap(_cached_size_, other->_cached_size_);
    }
  }
  
  ::google::protobuf::Metadata ipcData::GetMetadata() const {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::Metadata metadata;
    metadata.descriptor = ipcData_descriptor_;
    metadata.reflection = ipcData_reflection_;
    return metadata;
  }
  
  
  // ===================================================================
  
  const ::google::protobuf::EnumDescriptor* ipcMessage_ipcType_descriptor() {
    protobuf_AssignDescriptorsOnce();
    return ipcMessage_ipcType_descriptor_;
  }
  bool ipcMessage_ipcType_IsValid(int value) {
    switch(value) {
      case 0:
      case 1:
      case 2:
      case 10:
        return true;
      default:
        return false;
    }
  }
  
  #ifndef _MSC_VER
  const ipcMessage_ipcType ipcMessage::ACTION;
  const ipcMessage_ipcType ipcMessage::RESULT;
  const ipcMessage_ipcType ipcMessage::COMMAND;
  const ipcMessage_ipcType ipcMessage::EXIT;
  const ipcMessage_ipcType ipcMessage::ipcType_MIN;
  const ipcMessage_ipcType ipcMessage::ipcType_MAX;
  const int ipcMessage::ipcType_ARRAYSIZE;
  #endif  // _MSC_VER
  #ifndef _MSC_VER
  const int ipcMessage::kTypeFieldNumber;
  const int ipcMessage::kDataFieldNumber;
  #endif  // !_MSC_VER
  
  ipcMessage::ipcMessage()
    : ::google::protobuf::Message() {
    SharedCtor();
  }
  
  void ipcMessage::InitAsDefaultInstance() {
  }
  
  ipcMessage::ipcMessage(const ipcMessage& from)
    : ::google::protobuf::Message() {
    SharedCtor();
    MergeFrom(from);
  }
  
  void ipcMessage::SharedCtor() {
    _cached_size_ = 0;
    type_ = 0;
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  ipcMessage::~ipcMessage() {
    SharedDtor();
  }
  
  void ipcMessage::SharedDtor() {
    if (this != default_instance_) {
    }
  }
  
  void ipcMessage::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* ipcMessage::descriptor() {
    protobuf_AssignDescriptorsOnce();
    return ipcMessage_descriptor_;
  }
  
  const ipcMessage& ipcMessage::default_instance() {
    if (default_instance_ == NULL) protobuf_AddDesc_ipcMessage_2eproto();
    return *default_instance_;
  }
  
  ipcMessage* ipcMessage::default_instance_ = NULL;
  
  ipcMessage* ipcMessage::New() const {
    return new ipcMessage;
  }
  
  void ipcMessage::Clear() {
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      type_ = 0;
    }
    data_.Clear();
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->Clear();
  }
  
  bool ipcMessage::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
    ::google::protobuf::uint32 tag;
    while ((tag = input->ReadTag()) != 0) {
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required .ets.genielog.appwatcher_3.profiling.ipc.ipcMessage.ipcType type = 1 [default = ACTION];
        case 1: {
          if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
            int value;
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                   input, &value)));
            if (::ets::genielog::appwatcher_3::profiling::ipc::ipcMessage_ipcType_IsValid(value)) {
              set_type(static_cast< ::ets::genielog::appwatcher_3::profiling::ipc::ipcMessage_ipcType >(value));
            } else {
              mutable_unknown_fields()->AddVarint(1, value);
            }
          } else {
            goto handle_uninterpreted;
          }
          if (input->ExpectTag(18)) goto parse_data;
          break;
        }
  
        // repeated .ets.genielog.appwatcher_3.profiling.ipc.ipcData data = 2;
        case 2: {
          if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
           parse_data:
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                  input, add_data()));
          } else {
            goto handle_uninterpreted;
          }
          if (input->ExpectTag(18)) goto parse_data;
          if (input->ExpectAtEnd()) return true;
          break;
        }
  
        default: {
        handle_uninterpreted:
          if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            return true;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, mutable_unknown_fields()));
          break;
        }
      }
    }
    return true;
  #undef DO_
  }
  
  void ipcMessage::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // required .ets.genielog.appwatcher_3.profiling.ipc.ipcMessage.ipcType type = 1 [default = ACTION];
    if (has_type()) {
      ::google::protobuf::internal::WireFormatLite::WriteEnum(
        1, this->type(), output);
    }
  
    // repeated .ets.genielog.appwatcher_3.profiling.ipc.ipcData data = 2;
    for (int i = 0; i < this->data_size(); i++) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        2, this->data(i), output);
    }
  
    if (!unknown_fields().empty()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          unknown_fields(), output);
    }
  }
  
  ::google::protobuf::uint8* ipcMessage::SerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // required .ets.genielog.appwatcher_3.profiling.ipc.ipcMessage.ipcType type = 1 [default = ACTION];
    if (has_type()) {
      target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
        1, this->type(), target);
    }
  
    // repeated .ets.genielog.appwatcher_3.profiling.ipc.ipcData data = 2;
    for (int i = 0; i < this->data_size(); i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        WriteMessageNoVirtualToArray(
          2, this->data(i), target);
    }
  
    if (!unknown_fields().empty()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          unknown_fields(), target);
    }
    return target;
  }
  
  int ipcMessage::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      // required .ets.genielog.appwatcher_3.profiling.ipc.ipcMessage.ipcType type = 1 [default = ACTION];
      if (has_type()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
      }
  
    }
    // repeated .ets.genielog.appwatcher_3.profiling.ipc.ipcData data = 2;
    total_size += 1 * this->data_size();
    for (int i = 0; i < this->data_size(); i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->data(i));
    }
  
    if (!unknown_fields().empty()) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          unknown_fields());
    }
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = total_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void ipcMessage::MergeFrom(const ::google::protobuf::Message& from) {
    GOOGLE_CHECK_NE(&from, this);
    const ipcMessage* source =
      ::google::protobuf::internal::dynamic_cast_if_available<const ipcMessage*>(
        &from);
    if (source == NULL) {
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
      MergeFrom(*source);
    }
  }
  
  void ipcMessage::MergeFrom(const ipcMessage& from) {
    GOOGLE_CHECK_NE(&from, this);
    data_.MergeFrom(from.data_);
    if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      if (from.has_type()) {
        set_type(from.type());
      }
    }
    mutable_unknown_fields()->MergeFrom(from.unknown_fields());
  }
  
  void ipcMessage::CopyFrom(const ::google::protobuf::Message& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void ipcMessage::CopyFrom(const ipcMessage& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool ipcMessage::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  
    for (int i = 0; i < data_size(); i++) {
      if (!this->data(i).IsInitialized()) return false;
    }
    return true;
  }
  
  void ipcMessage::Swap(ipcMessage* other) {
    if (other != this) {
      std::swap(type_, other->type_);
      data_.Swap(&other->data_);
      std::swap(_has_bits_[0], other->_has_bits_[0]);
      _unknown_fields_.Swap(&other->_unknown_fields_);
      std::swap(_cached_size_, other->_cached_size_);
    }
  }
  
  ::google::protobuf::Metadata ipcMessage::GetMetadata() const {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::Metadata metadata;
    metadata.descriptor = ipcMessage_descriptor_;
    metadata.reflection = ipcMessage_reflection_;
    return metadata;
  }
  
  
  // @@protoc_insertion_point(namespace_scope)
  
  }  // namespace ipc
  }  // namespace profiling
  }  // namespace appwatcher_3
  }  // namespace genielog
  }  // namespace ets
  
  // @@protoc_insertion_point(global_scope)
  