Home | History | Annotate | Download | only in protobuf
      1 // Generated by the protocol buffer compiler.  DO NOT EDIT!
      2 // source: google/protobuf/struct.proto
      3 
      4 #ifndef PROTOBUF_google_2fprotobuf_2fstruct_2eproto__INCLUDED
      5 #define PROTOBUF_google_2fprotobuf_2fstruct_2eproto__INCLUDED
      6 
      7 #include <string>
      8 
      9 #include <google/protobuf/stubs/common.h>
     10 
     11 #if GOOGLE_PROTOBUF_VERSION < 3000000
     12 #error This file was generated by a newer version of protoc which is
     13 #error incompatible with your Protocol Buffer headers.  Please update
     14 #error your headers.
     15 #endif
     16 #if 3000000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
     17 #error This file was generated by an older version of protoc which is
     18 #error incompatible with your Protocol Buffer headers.  Please
     19 #error regenerate this file with a newer version of protoc.
     20 #endif
     21 
     22 #include <google/protobuf/arena.h>
     23 #include <google/protobuf/arenastring.h>
     24 #include <google/protobuf/generated_message_util.h>
     25 #include <google/protobuf/metadata.h>
     26 #include <google/protobuf/message.h>
     27 #include <google/protobuf/repeated_field.h>
     28 #include <google/protobuf/extension_set.h>
     29 #include <google/protobuf/map.h>
     30 #include <google/protobuf/map_field_inl.h>
     31 #include <google/protobuf/generated_enum_reflection.h>
     32 #include <google/protobuf/unknown_field_set.h>
     33 // @@protoc_insertion_point(includes)
     34 
     35 namespace google {
     36 namespace protobuf {
     37 
     38 // Internal implementation detail -- do not call these.
     39 void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fstruct_2eproto();
     40 void protobuf_AssignDesc_google_2fprotobuf_2fstruct_2eproto();
     41 void protobuf_ShutdownFile_google_2fprotobuf_2fstruct_2eproto();
     42 
     43 class ListValue;
     44 class Struct;
     45 class Value;
     46 
     47 enum NullValue {
     48   NULL_VALUE = 0,
     49   NullValue_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min,
     50   NullValue_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max
     51 };
     52 LIBPROTOBUF_EXPORT bool NullValue_IsValid(int value);
     53 const NullValue NullValue_MIN = NULL_VALUE;
     54 const NullValue NullValue_MAX = NULL_VALUE;
     55 const int NullValue_ARRAYSIZE = NullValue_MAX + 1;
     56 
     57 LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* NullValue_descriptor();
     58 inline const ::std::string& NullValue_Name(NullValue value) {
     59   return ::google::protobuf::internal::NameOfEnum(
     60     NullValue_descriptor(), value);
     61 }
     62 inline bool NullValue_Parse(
     63     const ::std::string& name, NullValue* value) {
     64   return ::google::protobuf::internal::ParseNamedEnum<NullValue>(
     65     NullValue_descriptor(), name, value);
     66 }
     67 // ===================================================================
     68 
     69 class LIBPROTOBUF_EXPORT Struct : public ::google::protobuf::Message {
     70  public:
     71   Struct();
     72   virtual ~Struct();
     73 
     74   Struct(const Struct& from);
     75 
     76   inline Struct& operator=(const Struct& from) {
     77     CopyFrom(from);
     78     return *this;
     79   }
     80 
     81   static const ::google::protobuf::Descriptor* descriptor();
     82   static const Struct& default_instance();
     83 
     84   void Swap(Struct* other);
     85 
     86   // implements Message ----------------------------------------------
     87 
     88   inline Struct* New() const { return New(NULL); }
     89 
     90   Struct* New(::google::protobuf::Arena* arena) const;
     91   void CopyFrom(const ::google::protobuf::Message& from);
     92   void MergeFrom(const ::google::protobuf::Message& from);
     93   void CopyFrom(const Struct& from);
     94   void MergeFrom(const Struct& from);
     95   void Clear();
     96   bool IsInitialized() const;
     97 
     98   int ByteSize() const;
     99   bool MergePartialFromCodedStream(
    100       ::google::protobuf::io::CodedInputStream* input);
    101   void SerializeWithCachedSizes(
    102       ::google::protobuf::io::CodedOutputStream* output) const;
    103   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
    104   int GetCachedSize() const { return _cached_size_; }
    105   private:
    106   void SharedCtor();
    107   void SharedDtor();
    108   void SetCachedSize(int size) const;
    109   void InternalSwap(Struct* other);
    110   private:
    111   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    112     return _internal_metadata_.arena();
    113   }
    114   inline void* MaybeArenaPtr() const {
    115     return _internal_metadata_.raw_arena_ptr();
    116   }
    117   public:
    118 
    119   ::google::protobuf::Metadata GetMetadata() const;
    120 
    121   // nested types ----------------------------------------------------
    122 
    123 
    124   // accessors -------------------------------------------------------
    125 
    126   // map<string, .google.protobuf.Value> fields = 1;
    127   int fields_size() const;
    128   void clear_fields();
    129   static const int kFieldsFieldNumber = 1;
    130   const ::google::protobuf::Map< ::std::string, ::google::protobuf::Value >&
    131       fields() const;
    132   ::google::protobuf::Map< ::std::string, ::google::protobuf::Value >*
    133       mutable_fields();
    134 
    135   // @@protoc_insertion_point(class_scope:google.protobuf.Struct)
    136  private:
    137 
    138   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    139   bool _is_default_instance_;
    140   typedef ::google::protobuf::internal::MapEntryLite<
    141       ::std::string, ::google::protobuf::Value,
    142       ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
    143       ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE,
    144       0 >
    145       Struct_FieldsEntry;
    146   ::google::protobuf::internal::MapField<
    147       ::std::string, ::google::protobuf::Value,
    148       ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
    149       ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE,
    150       0 > fields_;
    151   mutable int _cached_size_;
    152   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fstruct_2eproto();
    153   friend void protobuf_AssignDesc_google_2fprotobuf_2fstruct_2eproto();
    154   friend void protobuf_ShutdownFile_google_2fprotobuf_2fstruct_2eproto();
    155 
    156   void InitAsDefaultInstance();
    157   static Struct* default_instance_;
    158 };
    159 // -------------------------------------------------------------------
    160 
    161 class LIBPROTOBUF_EXPORT Value : public ::google::protobuf::Message {
    162  public:
    163   Value();
    164   virtual ~Value();
    165 
    166   Value(const Value& from);
    167 
    168   inline Value& operator=(const Value& from) {
    169     CopyFrom(from);
    170     return *this;
    171   }
    172 
    173   static const ::google::protobuf::Descriptor* descriptor();
    174   static const Value& default_instance();
    175 
    176   enum KindCase {
    177     kNullValue = 1,
    178     kNumberValue = 2,
    179     kStringValue = 3,
    180     kBoolValue = 4,
    181     kStructValue = 5,
    182     kListValue = 6,
    183     KIND_NOT_SET = 0,
    184   };
    185 
    186   void Swap(Value* other);
    187 
    188   // implements Message ----------------------------------------------
    189 
    190   inline Value* New() const { return New(NULL); }
    191 
    192   Value* New(::google::protobuf::Arena* arena) const;
    193   void CopyFrom(const ::google::protobuf::Message& from);
    194   void MergeFrom(const ::google::protobuf::Message& from);
    195   void CopyFrom(const Value& from);
    196   void MergeFrom(const Value& from);
    197   void Clear();
    198   bool IsInitialized() const;
    199 
    200   int ByteSize() const;
    201   bool MergePartialFromCodedStream(
    202       ::google::protobuf::io::CodedInputStream* input);
    203   void SerializeWithCachedSizes(
    204       ::google::protobuf::io::CodedOutputStream* output) const;
    205   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
    206   int GetCachedSize() const { return _cached_size_; }
    207   private:
    208   void SharedCtor();
    209   void SharedDtor();
    210   void SetCachedSize(int size) const;
    211   void InternalSwap(Value* other);
    212   private:
    213   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    214     return _internal_metadata_.arena();
    215   }
    216   inline void* MaybeArenaPtr() const {
    217     return _internal_metadata_.raw_arena_ptr();
    218   }
    219   public:
    220 
    221   ::google::protobuf::Metadata GetMetadata() const;
    222 
    223   // nested types ----------------------------------------------------
    224 
    225   // accessors -------------------------------------------------------
    226 
    227   // optional .google.protobuf.NullValue null_value = 1;
    228   private:
    229   bool has_null_value() const;
    230   public:
    231   void clear_null_value();
    232   static const int kNullValueFieldNumber = 1;
    233   ::google::protobuf::NullValue null_value() const;
    234   void set_null_value(::google::protobuf::NullValue value);
    235 
    236   // optional double number_value = 2;
    237   private:
    238   bool has_number_value() const;
    239   public:
    240   void clear_number_value();
    241   static const int kNumberValueFieldNumber = 2;
    242   double number_value() const;
    243   void set_number_value(double value);
    244 
    245   // optional string string_value = 3;
    246   private:
    247   bool has_string_value() const;
    248   public:
    249   void clear_string_value();
    250   static const int kStringValueFieldNumber = 3;
    251   const ::std::string& string_value() const;
    252   void set_string_value(const ::std::string& value);
    253   void set_string_value(const char* value);
    254   void set_string_value(const char* value, size_t size);
    255   ::std::string* mutable_string_value();
    256   ::std::string* release_string_value();
    257   void set_allocated_string_value(::std::string* string_value);
    258 
    259   // optional bool bool_value = 4;
    260   private:
    261   bool has_bool_value() const;
    262   public:
    263   void clear_bool_value();
    264   static const int kBoolValueFieldNumber = 4;
    265   bool bool_value() const;
    266   void set_bool_value(bool value);
    267 
    268   // optional .google.protobuf.Struct struct_value = 5;
    269   bool has_struct_value() const;
    270   void clear_struct_value();
    271   static const int kStructValueFieldNumber = 5;
    272   const ::google::protobuf::Struct& struct_value() const;
    273   ::google::protobuf::Struct* mutable_struct_value();
    274   ::google::protobuf::Struct* release_struct_value();
    275   void set_allocated_struct_value(::google::protobuf::Struct* struct_value);
    276 
    277   // optional .google.protobuf.ListValue list_value = 6;
    278   bool has_list_value() const;
    279   void clear_list_value();
    280   static const int kListValueFieldNumber = 6;
    281   const ::google::protobuf::ListValue& list_value() const;
    282   ::google::protobuf::ListValue* mutable_list_value();
    283   ::google::protobuf::ListValue* release_list_value();
    284   void set_allocated_list_value(::google::protobuf::ListValue* list_value);
    285 
    286   KindCase kind_case() const;
    287   // @@protoc_insertion_point(class_scope:google.protobuf.Value)
    288  private:
    289   inline void set_has_null_value();
    290   inline void set_has_number_value();
    291   inline void set_has_string_value();
    292   inline void set_has_bool_value();
    293   inline void set_has_struct_value();
    294   inline void set_has_list_value();
    295 
    296   inline bool has_kind() const;
    297   void clear_kind();
    298   inline void clear_has_kind();
    299 
    300   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    301   bool _is_default_instance_;
    302   union KindUnion {
    303     KindUnion() {}
    304     int null_value_;
    305     double number_value_;
    306     ::google::protobuf::internal::ArenaStringPtr string_value_;
    307     bool bool_value_;
    308     ::google::protobuf::Struct* struct_value_;
    309     ::google::protobuf::ListValue* list_value_;
    310   } kind_;
    311   mutable int _cached_size_;
    312   ::google::protobuf::uint32 _oneof_case_[1];
    313 
    314   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fstruct_2eproto();
    315   friend void protobuf_AssignDesc_google_2fprotobuf_2fstruct_2eproto();
    316   friend void protobuf_ShutdownFile_google_2fprotobuf_2fstruct_2eproto();
    317 
    318   void InitAsDefaultInstance();
    319   static Value* default_instance_;
    320 };
    321 // -------------------------------------------------------------------
    322 
    323 class LIBPROTOBUF_EXPORT ListValue : public ::google::protobuf::Message {
    324  public:
    325   ListValue();
    326   virtual ~ListValue();
    327 
    328   ListValue(const ListValue& from);
    329 
    330   inline ListValue& operator=(const ListValue& from) {
    331     CopyFrom(from);
    332     return *this;
    333   }
    334 
    335   static const ::google::protobuf::Descriptor* descriptor();
    336   static const ListValue& default_instance();
    337 
    338   void Swap(ListValue* other);
    339 
    340   // implements Message ----------------------------------------------
    341 
    342   inline ListValue* New() const { return New(NULL); }
    343 
    344   ListValue* New(::google::protobuf::Arena* arena) const;
    345   void CopyFrom(const ::google::protobuf::Message& from);
    346   void MergeFrom(const ::google::protobuf::Message& from);
    347   void CopyFrom(const ListValue& from);
    348   void MergeFrom(const ListValue& from);
    349   void Clear();
    350   bool IsInitialized() const;
    351 
    352   int ByteSize() const;
    353   bool MergePartialFromCodedStream(
    354       ::google::protobuf::io::CodedInputStream* input);
    355   void SerializeWithCachedSizes(
    356       ::google::protobuf::io::CodedOutputStream* output) const;
    357   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
    358   int GetCachedSize() const { return _cached_size_; }
    359   private:
    360   void SharedCtor();
    361   void SharedDtor();
    362   void SetCachedSize(int size) const;
    363   void InternalSwap(ListValue* other);
    364   private:
    365   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    366     return _internal_metadata_.arena();
    367   }
    368   inline void* MaybeArenaPtr() const {
    369     return _internal_metadata_.raw_arena_ptr();
    370   }
    371   public:
    372 
    373   ::google::protobuf::Metadata GetMetadata() const;
    374 
    375   // nested types ----------------------------------------------------
    376 
    377   // accessors -------------------------------------------------------
    378 
    379   // repeated .google.protobuf.Value values = 1;
    380   int values_size() const;
    381   void clear_values();
    382   static const int kValuesFieldNumber = 1;
    383   const ::google::protobuf::Value& values(int index) const;
    384   ::google::protobuf::Value* mutable_values(int index);
    385   ::google::protobuf::Value* add_values();
    386   ::google::protobuf::RepeatedPtrField< ::google::protobuf::Value >*
    387       mutable_values();
    388   const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Value >&
    389       values() const;
    390 
    391   // @@protoc_insertion_point(class_scope:google.protobuf.ListValue)
    392  private:
    393 
    394   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    395   bool _is_default_instance_;
    396   ::google::protobuf::RepeatedPtrField< ::google::protobuf::Value > values_;
    397   mutable int _cached_size_;
    398   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fstruct_2eproto();
    399   friend void protobuf_AssignDesc_google_2fprotobuf_2fstruct_2eproto();
    400   friend void protobuf_ShutdownFile_google_2fprotobuf_2fstruct_2eproto();
    401 
    402   void InitAsDefaultInstance();
    403   static ListValue* default_instance_;
    404 };
    405 // ===================================================================
    406 
    407 
    408 // ===================================================================
    409 
    410 #if !PROTOBUF_INLINE_NOT_IN_HEADERS
    411 // Struct
    412 
    413 // map<string, .google.protobuf.Value> fields = 1;
    414 inline int Struct::fields_size() const {
    415   return fields_.size();
    416 }
    417 inline void Struct::clear_fields() {
    418   fields_.Clear();
    419 }
    420 inline const ::google::protobuf::Map< ::std::string, ::google::protobuf::Value >&
    421 Struct::fields() const {
    422   // @@protoc_insertion_point(field_map:google.protobuf.Struct.fields)
    423   return fields_.GetMap();
    424 }
    425 inline ::google::protobuf::Map< ::std::string, ::google::protobuf::Value >*
    426 Struct::mutable_fields() {
    427   // @@protoc_insertion_point(field_mutable_map:google.protobuf.Struct.fields)
    428   return fields_.MutableMap();
    429 }
    430 
    431 // -------------------------------------------------------------------
    432 
    433 // Value
    434 
    435 // optional .google.protobuf.NullValue null_value = 1;
    436 inline bool Value::has_null_value() const {
    437   return kind_case() == kNullValue;
    438 }
    439 inline void Value::set_has_null_value() {
    440   _oneof_case_[0] = kNullValue;
    441 }
    442 inline void Value::clear_null_value() {
    443   if (has_null_value()) {
    444     kind_.null_value_ = 0;
    445     clear_has_kind();
    446   }
    447 }
    448 inline ::google::protobuf::NullValue Value::null_value() const {
    449   // @@protoc_insertion_point(field_get:google.protobuf.Value.null_value)
    450   if (has_null_value()) {
    451     return static_cast< ::google::protobuf::NullValue >(kind_.null_value_);
    452   }
    453   return static_cast< ::google::protobuf::NullValue >(0);
    454 }
    455 inline void Value::set_null_value(::google::protobuf::NullValue value) {
    456   if (!has_null_value()) {
    457     clear_kind();
    458     set_has_null_value();
    459   }
    460   kind_.null_value_ = value;
    461   // @@protoc_insertion_point(field_set:google.protobuf.Value.null_value)
    462 }
    463 
    464 // optional double number_value = 2;
    465 inline bool Value::has_number_value() const {
    466   return kind_case() == kNumberValue;
    467 }
    468 inline void Value::set_has_number_value() {
    469   _oneof_case_[0] = kNumberValue;
    470 }
    471 inline void Value::clear_number_value() {
    472   if (has_number_value()) {
    473     kind_.number_value_ = 0;
    474     clear_has_kind();
    475   }
    476 }
    477 inline double Value::number_value() const {
    478   // @@protoc_insertion_point(field_get:google.protobuf.Value.number_value)
    479   if (has_number_value()) {
    480     return kind_.number_value_;
    481   }
    482   return 0;
    483 }
    484 inline void Value::set_number_value(double value) {
    485   if (!has_number_value()) {
    486     clear_kind();
    487     set_has_number_value();
    488   }
    489   kind_.number_value_ = value;
    490   // @@protoc_insertion_point(field_set:google.protobuf.Value.number_value)
    491 }
    492 
    493 // optional string string_value = 3;
    494 inline bool Value::has_string_value() const {
    495   return kind_case() == kStringValue;
    496 }
    497 inline void Value::set_has_string_value() {
    498   _oneof_case_[0] = kStringValue;
    499 }
    500 inline void Value::clear_string_value() {
    501   if (has_string_value()) {
    502     kind_.string_value_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    503     clear_has_kind();
    504   }
    505 }
    506 inline const ::std::string& Value::string_value() const {
    507   // @@protoc_insertion_point(field_get:google.protobuf.Value.string_value)
    508   if (has_string_value()) {
    509     return kind_.string_value_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    510   }
    511   return *&::google::protobuf::internal::GetEmptyStringAlreadyInited();
    512 }
    513 inline void Value::set_string_value(const ::std::string& value) {
    514   // @@protoc_insertion_point(field_set:google.protobuf.Value.string_value)
    515   if (!has_string_value()) {
    516     clear_kind();
    517     set_has_string_value();
    518     kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    519   }
    520   kind_.string_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    521   // @@protoc_insertion_point(field_set:google.protobuf.Value.string_value)
    522 }
    523 inline void Value::set_string_value(const char* value) {
    524   if (!has_string_value()) {
    525     clear_kind();
    526     set_has_string_value();
    527     kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    528   }
    529   kind_.string_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    530       ::std::string(value));
    531   // @@protoc_insertion_point(field_set_char:google.protobuf.Value.string_value)
    532 }
    533 inline void Value::set_string_value(const char* value, size_t size) {
    534   if (!has_string_value()) {
    535     clear_kind();
    536     set_has_string_value();
    537     kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    538   }
    539   kind_.string_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
    540       reinterpret_cast<const char*>(value), size));
    541   // @@protoc_insertion_point(field_set_pointer:google.protobuf.Value.string_value)
    542 }
    543 inline ::std::string* Value::mutable_string_value() {
    544   if (!has_string_value()) {
    545     clear_kind();
    546     set_has_string_value();
    547     kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    548   }
    549   // @@protoc_insertion_point(field_mutable:google.protobuf.Value.string_value)
    550   return kind_.string_value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    551 }
    552 inline ::std::string* Value::release_string_value() {
    553   // @@protoc_insertion_point(field_release:google.protobuf.Value.string_value)
    554   if (has_string_value()) {
    555     clear_has_kind();
    556     return kind_.string_value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    557   } else {
    558     return NULL;
    559   }
    560 }
    561 inline void Value::set_allocated_string_value(::std::string* string_value) {
    562   if (!has_string_value()) {
    563     kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    564   }
    565   clear_kind();
    566   if (string_value != NULL) {
    567     set_has_string_value();
    568     kind_.string_value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    569         string_value);
    570   }
    571   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Value.string_value)
    572 }
    573 
    574 // optional bool bool_value = 4;
    575 inline bool Value::has_bool_value() const {
    576   return kind_case() == kBoolValue;
    577 }
    578 inline void Value::set_has_bool_value() {
    579   _oneof_case_[0] = kBoolValue;
    580 }
    581 inline void Value::clear_bool_value() {
    582   if (has_bool_value()) {
    583     kind_.bool_value_ = false;
    584     clear_has_kind();
    585   }
    586 }
    587 inline bool Value::bool_value() const {
    588   // @@protoc_insertion_point(field_get:google.protobuf.Value.bool_value)
    589   if (has_bool_value()) {
    590     return kind_.bool_value_;
    591   }
    592   return false;
    593 }
    594 inline void Value::set_bool_value(bool value) {
    595   if (!has_bool_value()) {
    596     clear_kind();
    597     set_has_bool_value();
    598   }
    599   kind_.bool_value_ = value;
    600   // @@protoc_insertion_point(field_set:google.protobuf.Value.bool_value)
    601 }
    602 
    603 // optional .google.protobuf.Struct struct_value = 5;
    604 inline bool Value::has_struct_value() const {
    605   return kind_case() == kStructValue;
    606 }
    607 inline void Value::set_has_struct_value() {
    608   _oneof_case_[0] = kStructValue;
    609 }
    610 inline void Value::clear_struct_value() {
    611   if (has_struct_value()) {
    612     delete kind_.struct_value_;
    613     clear_has_kind();
    614   }
    615 }
    616 inline  const ::google::protobuf::Struct& Value::struct_value() const {
    617   // @@protoc_insertion_point(field_get:google.protobuf.Value.struct_value)
    618   return has_struct_value()
    619       ? *kind_.struct_value_
    620       : ::google::protobuf::Struct::default_instance();
    621 }
    622 inline ::google::protobuf::Struct* Value::mutable_struct_value() {
    623   if (!has_struct_value()) {
    624     clear_kind();
    625     set_has_struct_value();
    626     kind_.struct_value_ = new ::google::protobuf::Struct;
    627   }
    628   // @@protoc_insertion_point(field_mutable:google.protobuf.Value.struct_value)
    629   return kind_.struct_value_;
    630 }
    631 inline ::google::protobuf::Struct* Value::release_struct_value() {
    632   // @@protoc_insertion_point(field_release:google.protobuf.Value.struct_value)
    633   if (has_struct_value()) {
    634     clear_has_kind();
    635     ::google::protobuf::Struct* temp = kind_.struct_value_;
    636     kind_.struct_value_ = NULL;
    637     return temp;
    638   } else {
    639     return NULL;
    640   }
    641 }
    642 inline void Value::set_allocated_struct_value(::google::protobuf::Struct* struct_value) {
    643   clear_kind();
    644   if (struct_value) {
    645     set_has_struct_value();
    646     kind_.struct_value_ = struct_value;
    647   }
    648   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Value.struct_value)
    649 }
    650 
    651 // optional .google.protobuf.ListValue list_value = 6;
    652 inline bool Value::has_list_value() const {
    653   return kind_case() == kListValue;
    654 }
    655 inline void Value::set_has_list_value() {
    656   _oneof_case_[0] = kListValue;
    657 }
    658 inline void Value::clear_list_value() {
    659   if (has_list_value()) {
    660     delete kind_.list_value_;
    661     clear_has_kind();
    662   }
    663 }
    664 inline  const ::google::protobuf::ListValue& Value::list_value() const {
    665   // @@protoc_insertion_point(field_get:google.protobuf.Value.list_value)
    666   return has_list_value()
    667       ? *kind_.list_value_
    668       : ::google::protobuf::ListValue::default_instance();
    669 }
    670 inline ::google::protobuf::ListValue* Value::mutable_list_value() {
    671   if (!has_list_value()) {
    672     clear_kind();
    673     set_has_list_value();
    674     kind_.list_value_ = new ::google::protobuf::ListValue;
    675   }
    676   // @@protoc_insertion_point(field_mutable:google.protobuf.Value.list_value)
    677   return kind_.list_value_;
    678 }
    679 inline ::google::protobuf::ListValue* Value::release_list_value() {
    680   // @@protoc_insertion_point(field_release:google.protobuf.Value.list_value)
    681   if (has_list_value()) {
    682     clear_has_kind();
    683     ::google::protobuf::ListValue* temp = kind_.list_value_;
    684     kind_.list_value_ = NULL;
    685     return temp;
    686   } else {
    687     return NULL;
    688   }
    689 }
    690 inline void Value::set_allocated_list_value(::google::protobuf::ListValue* list_value) {
    691   clear_kind();
    692   if (list_value) {
    693     set_has_list_value();
    694     kind_.list_value_ = list_value;
    695   }
    696   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Value.list_value)
    697 }
    698 
    699 inline bool Value::has_kind() const {
    700   return kind_case() != KIND_NOT_SET;
    701 }
    702 inline void Value::clear_has_kind() {
    703   _oneof_case_[0] = KIND_NOT_SET;
    704 }
    705 inline Value::KindCase Value::kind_case() const {
    706   return Value::KindCase(_oneof_case_[0]);
    707 }
    708 // -------------------------------------------------------------------
    709 
    710 // ListValue
    711 
    712 // repeated .google.protobuf.Value values = 1;
    713 inline int ListValue::values_size() const {
    714   return values_.size();
    715 }
    716 inline void ListValue::clear_values() {
    717   values_.Clear();
    718 }
    719 inline const ::google::protobuf::Value& ListValue::values(int index) const {
    720   // @@protoc_insertion_point(field_get:google.protobuf.ListValue.values)
    721   return values_.Get(index);
    722 }
    723 inline ::google::protobuf::Value* ListValue::mutable_values(int index) {
    724   // @@protoc_insertion_point(field_mutable:google.protobuf.ListValue.values)
    725   return values_.Mutable(index);
    726 }
    727 inline ::google::protobuf::Value* ListValue::add_values() {
    728   // @@protoc_insertion_point(field_add:google.protobuf.ListValue.values)
    729   return values_.Add();
    730 }
    731 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::Value >*
    732 ListValue::mutable_values() {
    733   // @@protoc_insertion_point(field_mutable_list:google.protobuf.ListValue.values)
    734   return &values_;
    735 }
    736 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Value >&
    737 ListValue::values() const {
    738   // @@protoc_insertion_point(field_list:google.protobuf.ListValue.values)
    739   return values_;
    740 }
    741 
    742 #endif  // !PROTOBUF_INLINE_NOT_IN_HEADERS
    743 // -------------------------------------------------------------------
    744 
    745 // -------------------------------------------------------------------
    746 
    747 
    748 // @@protoc_insertion_point(namespace_scope)
    749 
    750 }  // namespace protobuf
    751 }  // namespace google
    752 
    753 #ifndef SWIG
    754 namespace google {
    755 namespace protobuf {
    756 
    757 template <> struct is_proto_enum< ::google::protobuf::NullValue> : ::google::protobuf::internal::true_type {};
    758 template <>
    759 inline const EnumDescriptor* GetEnumDescriptor< ::google::protobuf::NullValue>() {
    760   return ::google::protobuf::NullValue_descriptor();
    761 }
    762 
    763 }  // namespace protobuf
    764 }  // namespace google
    765 #endif  // SWIG
    766 
    767 // @@protoc_insertion_point(global_scope)
    768 
    769 #endif  // PROTOBUF_google_2fprotobuf_2fstruct_2eproto__INCLUDED
    770