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

#ifndef PROTOBUF_CoreDump_2eproto__INCLUDED
#define PROTOBUF_CoreDump_2eproto__INCLUDED

#include <string>

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

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

#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/unknown_field_set.h>
// @@protoc_insertion_point(includes)

namespace mozilla {
namespace devtools {
namespace protobuf {

// Internal implementation detail -- do not call these.
void  protobuf_AddDesc_CoreDump_2eproto();
void protobuf_AssignDesc_CoreDump_2eproto();
void protobuf_ShutdownFile_CoreDump_2eproto();

class Metadata;
class Node;
class Edge;

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

class Metadata : public ::google::protobuf::Message {
 public:
  Metadata();
  virtual ~Metadata();

  Metadata(const Metadata& from);

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

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

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

  void Swap(Metadata* other);

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

  Metadata* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const Metadata& from);
  void MergeFrom(const Metadata& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional uint64 timeStamp = 1;
  inline bool has_timestamp() const;
  inline void clear_timestamp();
  static const int kTimeStampFieldNumber = 1;
  inline ::google::protobuf::uint64 timestamp() const;
  inline void set_timestamp(::google::protobuf::uint64 value);

  // @@protoc_insertion_point(class_scope:mozilla.devtools.protobuf.Metadata)
 private:
  inline void set_has_timestamp();
  inline void clear_has_timestamp();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::uint64 timestamp_;
  friend void  protobuf_AddDesc_CoreDump_2eproto();
  friend void protobuf_AssignDesc_CoreDump_2eproto();
  friend void protobuf_ShutdownFile_CoreDump_2eproto();

  void InitAsDefaultInstance();
  static Metadata* default_instance_;
};
// -------------------------------------------------------------------

class Node : public ::google::protobuf::Message {
 public:
  Node();
  virtual ~Node();

  Node(const Node& from);

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

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

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

  void Swap(Node* other);

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

  Node* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const Node& from);
  void MergeFrom(const Node& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional uint64 id = 1;
  inline bool has_id() const;
  inline void clear_id();
  static const int kIdFieldNumber = 1;
  inline ::google::protobuf::uint64 id() const;
  inline void set_id(::google::protobuf::uint64 value);

  // optional bytes typeName = 2;
  inline bool has_typename_() const;
  inline void clear_typename_();
  static const int kTypeNameFieldNumber = 2;
  inline const ::std::string& typename_() const;
  inline void set_typename_(const ::std::string& value);
  inline void set_typename_(const char* value);
  inline void set_typename_(const void* value, size_t size);
  inline ::std::string* mutable_typename_();
  inline ::std::string* release_typename_();
  inline void set_allocated_typename_(::std::string* typename_);

  // optional uint64 size = 3;
  inline bool has_size() const;
  inline void clear_size();
  static const int kSizeFieldNumber = 3;
  inline ::google::protobuf::uint64 size() const;
  inline void set_size(::google::protobuf::uint64 value);

  // repeated .mozilla.devtools.protobuf.Edge edges = 4;
  inline int edges_size() const;
  inline void clear_edges();
  static const int kEdgesFieldNumber = 4;
  inline const ::mozilla::devtools::protobuf::Edge& edges(int index) const;
  inline ::mozilla::devtools::protobuf::Edge* mutable_edges(int index);
  inline ::mozilla::devtools::protobuf::Edge* add_edges();
  inline const ::google::protobuf::RepeatedPtrField< ::mozilla::devtools::protobuf::Edge >&
      edges() const;
  inline ::google::protobuf::RepeatedPtrField< ::mozilla::devtools::protobuf::Edge >*
      mutable_edges();

  // @@protoc_insertion_point(class_scope:mozilla.devtools.protobuf.Node)
 private:
  inline void set_has_id();
  inline void clear_has_id();
  inline void set_has_typename_();
  inline void clear_has_typename_();
  inline void set_has_size();
  inline void clear_has_size();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::uint64 id_;
  ::std::string* typename__;
  ::google::protobuf::uint64 size_;
  ::google::protobuf::RepeatedPtrField< ::mozilla::devtools::protobuf::Edge > edges_;
  friend void  protobuf_AddDesc_CoreDump_2eproto();
  friend void protobuf_AssignDesc_CoreDump_2eproto();
  friend void protobuf_ShutdownFile_CoreDump_2eproto();

  void InitAsDefaultInstance();
  static Node* default_instance_;
};
// -------------------------------------------------------------------

class Edge : public ::google::protobuf::Message {
 public:
  Edge();
  virtual ~Edge();

  Edge(const Edge& from);

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

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

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

  void Swap(Edge* other);

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

  Edge* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const Edge& from);
  void MergeFrom(const Edge& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional uint64 referent = 1;
  inline bool has_referent() const;
  inline void clear_referent();
  static const int kReferentFieldNumber = 1;
  inline ::google::protobuf::uint64 referent() const;
  inline void set_referent(::google::protobuf::uint64 value);

  // optional bytes name = 2;
  inline bool has_name() const;
  inline void clear_name();
  static const int kNameFieldNumber = 2;
  inline const ::std::string& name() const;
  inline void set_name(const ::std::string& value);
  inline void set_name(const char* value);
  inline void set_name(const void* value, size_t size);
  inline ::std::string* mutable_name();
  inline ::std::string* release_name();
  inline void set_allocated_name(::std::string* name);

  // @@protoc_insertion_point(class_scope:mozilla.devtools.protobuf.Edge)
 private:
  inline void set_has_referent();
  inline void clear_has_referent();
  inline void set_has_name();
  inline void clear_has_name();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::uint64 referent_;
  ::std::string* name_;
  friend void  protobuf_AddDesc_CoreDump_2eproto();
  friend void protobuf_AssignDesc_CoreDump_2eproto();
  friend void protobuf_ShutdownFile_CoreDump_2eproto();

  void InitAsDefaultInstance();
  static Edge* default_instance_;
};
// ===================================================================


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

// Metadata

// optional uint64 timeStamp = 1;
inline bool Metadata::has_timestamp() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Metadata::set_has_timestamp() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Metadata::clear_has_timestamp() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Metadata::clear_timestamp() {
  timestamp_ = GOOGLE_ULONGLONG(0);
  clear_has_timestamp();
}
inline ::google::protobuf::uint64 Metadata::timestamp() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Metadata.timeStamp)
  return timestamp_;
}
inline void Metadata::set_timestamp(::google::protobuf::uint64 value) {
  set_has_timestamp();
  timestamp_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Metadata.timeStamp)
}

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

// Node

// optional uint64 id = 1;
inline bool Node::has_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Node::set_has_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Node::clear_has_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Node::clear_id() {
  id_ = GOOGLE_ULONGLONG(0);
  clear_has_id();
}
inline ::google::protobuf::uint64 Node::id() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Node.id)
  return id_;
}
inline void Node::set_id(::google::protobuf::uint64 value) {
  set_has_id();
  id_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.id)
}

// optional bytes typeName = 2;
inline bool Node::has_typename_() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Node::set_has_typename_() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Node::clear_has_typename_() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Node::clear_typename_() {
  if (typename__ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    typename__->clear();
  }
  clear_has_typename_();
}
inline const ::std::string& Node::typename_() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Node.typeName)
  return *typename__;
}
inline void Node::set_typename_(const ::std::string& value) {
  set_has_typename_();
  if (typename__ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    typename__ = new ::std::string;
  }
  typename__->assign(value);
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.typeName)
}
inline void Node::set_typename_(const char* value) {
  set_has_typename_();
  if (typename__ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    typename__ = new ::std::string;
  }
  typename__->assign(value);
  // @@protoc_insertion_point(field_set_char:mozilla.devtools.protobuf.Node.typeName)
}
inline void Node::set_typename_(const void* value, size_t size) {
  set_has_typename_();
  if (typename__ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    typename__ = new ::std::string;
  }
  typename__->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:mozilla.devtools.protobuf.Node.typeName)
}
inline ::std::string* Node::mutable_typename_() {
  set_has_typename_();
  if (typename__ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    typename__ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.devtools.protobuf.Node.typeName)
  return typename__;
}
inline ::std::string* Node::release_typename_() {
  clear_has_typename_();
  if (typename__ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = typename__;
    typename__ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void Node::set_allocated_typename_(::std::string* typename_) {
  if (typename__ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete typename__;
  }
  if (typename_) {
    set_has_typename_();
    typename__ = typename_;
  } else {
    clear_has_typename_();
    typename__ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.devtools.protobuf.Node.typeName)
}

// optional uint64 size = 3;
inline bool Node::has_size() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Node::set_has_size() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Node::clear_has_size() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void Node::clear_size() {
  size_ = GOOGLE_ULONGLONG(0);
  clear_has_size();
}
inline ::google::protobuf::uint64 Node::size() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Node.size)
  return size_;
}
inline void Node::set_size(::google::protobuf::uint64 value) {
  set_has_size();
  size_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.size)
}

// repeated .mozilla.devtools.protobuf.Edge edges = 4;
inline int Node::edges_size() const {
  return edges_.size();
}
inline void Node::clear_edges() {
  edges_.Clear();
}
inline const ::mozilla::devtools::protobuf::Edge& Node::edges(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Node.edges)
  return edges_.Get(index);
}
inline ::mozilla::devtools::protobuf::Edge* Node::mutable_edges(int index) {
  // @@protoc_insertion_point(field_mutable:mozilla.devtools.protobuf.Node.edges)
  return edges_.Mutable(index);
}
inline ::mozilla::devtools::protobuf::Edge* Node::add_edges() {
  // @@protoc_insertion_point(field_add:mozilla.devtools.protobuf.Node.edges)
  return edges_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::mozilla::devtools::protobuf::Edge >&
Node::edges() const {
  // @@protoc_insertion_point(field_list:mozilla.devtools.protobuf.Node.edges)
  return edges_;
}
inline ::google::protobuf::RepeatedPtrField< ::mozilla::devtools::protobuf::Edge >*
Node::mutable_edges() {
  // @@protoc_insertion_point(field_mutable_list:mozilla.devtools.protobuf.Node.edges)
  return &edges_;
}

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

// Edge

// optional uint64 referent = 1;
inline bool Edge::has_referent() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Edge::set_has_referent() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Edge::clear_has_referent() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Edge::clear_referent() {
  referent_ = GOOGLE_ULONGLONG(0);
  clear_has_referent();
}
inline ::google::protobuf::uint64 Edge::referent() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Edge.referent)
  return referent_;
}
inline void Edge::set_referent(::google::protobuf::uint64 value) {
  set_has_referent();
  referent_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Edge.referent)
}

// optional bytes name = 2;
inline bool Edge::has_name() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Edge::set_has_name() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Edge::clear_has_name() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Edge::clear_name() {
  if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    name_->clear();
  }
  clear_has_name();
}
inline const ::std::string& Edge::name() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Edge.name)
  return *name_;
}
inline void Edge::set_name(const ::std::string& value) {
  set_has_name();
  if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    name_ = new ::std::string;
  }
  name_->assign(value);
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Edge.name)
}
inline void Edge::set_name(const char* value) {
  set_has_name();
  if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    name_ = new ::std::string;
  }
  name_->assign(value);
  // @@protoc_insertion_point(field_set_char:mozilla.devtools.protobuf.Edge.name)
}
inline void Edge::set_name(const void* value, size_t size) {
  set_has_name();
  if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    name_ = new ::std::string;
  }
  name_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:mozilla.devtools.protobuf.Edge.name)
}
inline ::std::string* Edge::mutable_name() {
  set_has_name();
  if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    name_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.devtools.protobuf.Edge.name)
  return name_;
}
inline ::std::string* Edge::release_name() {
  clear_has_name();
  if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = name_;
    name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void Edge::set_allocated_name(::std::string* name) {
  if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete name_;
  }
  if (name) {
    set_has_name();
    name_ = name;
  } else {
    clear_has_name();
    name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.devtools.protobuf.Edge.name)
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace protobuf
}  // namespace devtools
}  // namespace mozilla

#ifndef SWIG
namespace google {
namespace protobuf {


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

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_CoreDump_2eproto__INCLUDED
