Skip to content

Commit 44a4c7c

Browse files
authored
Add protos for COUNT (#10175)
* add proto changes for COUNT * add compiled COUNT protos * Firestore/Protos/CMakeLists.txt: add aggregation_result.proto to PROTO_FILE_ROOTS * fields_array.h update for new COUNT proto messages * project.pbxproj: add new count proto files * fields_array_test.cc added
1 parent 34b729d commit 44a4c7c

File tree

19 files changed

+8439
-3381
lines changed

19 files changed

+8439
-3381
lines changed

Firestore/Example/Firestore.xcodeproj/project.pbxproj

Lines changed: 30 additions & 0 deletions
Large diffs are not rendered by default.

Firestore/Protos/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ set(
4444
google/api/annotations
4545
google/api/http
4646
google/firestore/admin/index
47+
google/firestore/v1/aggregation_result
4748
google/firestore/v1/common
4849
google/firestore/v1/document
4950
google/firestore/v1/firestore

Firestore/Protos/cpp/google/firestore/v1/aggregation_result.pb.cc

Lines changed: 406 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 325 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,325 @@
1+
/*
2+
* Copyright 2022 Google LLC
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
// Generated by the protocol buffer compiler. DO NOT EDIT!
18+
// source: google/firestore/v1/aggregation_result.proto
19+
20+
#ifndef GOOGLE_PROTOBUF_INCLUDED_google_2ffirestore_2fv1_2faggregation_5fresult_2eproto
21+
#define GOOGLE_PROTOBUF_INCLUDED_google_2ffirestore_2fv1_2faggregation_5fresult_2eproto
22+
23+
#include <limits>
24+
#include <string>
25+
26+
#include <google/protobuf/port_def.inc>
27+
#if PROTOBUF_VERSION < 3011000
28+
#error This file was generated by a newer version of protoc which is
29+
#error incompatible with your Protocol Buffer headers. Please update
30+
#error your headers.
31+
#endif
32+
#if 3011002 < PROTOBUF_MIN_PROTOC_VERSION
33+
#error This file was generated by an older version of protoc which is
34+
#error incompatible with your Protocol Buffer headers. Please
35+
#error regenerate this file with a newer version of protoc.
36+
#endif
37+
38+
#include <google/protobuf/port_undef.inc>
39+
#include <google/protobuf/io/coded_stream.h>
40+
#include <google/protobuf/arena.h>
41+
#include <google/protobuf/arenastring.h>
42+
#include <google/protobuf/generated_message_table_driven.h>
43+
#include <google/protobuf/generated_message_util.h>
44+
#include <google/protobuf/inlined_string_field.h>
45+
#include <google/protobuf/metadata.h>
46+
#include <google/protobuf/generated_message_reflection.h>
47+
#include <google/protobuf/message.h>
48+
#include <google/protobuf/repeated_field.h> // IWYU pragma: export
49+
#include <google/protobuf/extension_set.h> // IWYU pragma: export
50+
#include <google/protobuf/map.h> // IWYU pragma: export
51+
#include <google/protobuf/map_entry.h>
52+
#include <google/protobuf/map_field_inl.h>
53+
#include <google/protobuf/unknown_field_set.h>
54+
#include "google/firestore/v1/document.pb.h"
55+
// @@protoc_insertion_point(includes)
56+
#include <google/protobuf/port_def.inc>
57+
#define PROTOBUF_INTERNAL_EXPORT_google_2ffirestore_2fv1_2faggregation_5fresult_2eproto
58+
PROTOBUF_NAMESPACE_OPEN
59+
namespace internal {
60+
class AnyMetadata;
61+
} // namespace internal
62+
PROTOBUF_NAMESPACE_CLOSE
63+
64+
// Internal implementation detail -- do not use these members.
65+
struct TableStruct_google_2ffirestore_2fv1_2faggregation_5fresult_2eproto {
66+
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
67+
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
68+
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
69+
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
70+
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[2]
71+
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
72+
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
73+
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
74+
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
75+
};
76+
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_google_2ffirestore_2fv1_2faggregation_5fresult_2eproto;
77+
namespace google {
78+
namespace firestore {
79+
namespace v1 {
80+
class AggregationResult;
81+
class AggregationResultDefaultTypeInternal;
82+
extern AggregationResultDefaultTypeInternal _AggregationResult_default_instance_;
83+
class AggregationResult_AggregateFieldsEntry_DoNotUse;
84+
class AggregationResult_AggregateFieldsEntry_DoNotUseDefaultTypeInternal;
85+
extern AggregationResult_AggregateFieldsEntry_DoNotUseDefaultTypeInternal _AggregationResult_AggregateFieldsEntry_DoNotUse_default_instance_;
86+
} // namespace v1
87+
} // namespace firestore
88+
} // namespace google
89+
PROTOBUF_NAMESPACE_OPEN
90+
template<> ::google::firestore::v1::AggregationResult* Arena::CreateMaybeMessage<::google::firestore::v1::AggregationResult>(Arena*);
91+
template<> ::google::firestore::v1::AggregationResult_AggregateFieldsEntry_DoNotUse* Arena::CreateMaybeMessage<::google::firestore::v1::AggregationResult_AggregateFieldsEntry_DoNotUse>(Arena*);
92+
PROTOBUF_NAMESPACE_CLOSE
93+
namespace google {
94+
namespace firestore {
95+
namespace v1 {
96+
97+
// ===================================================================
98+
99+
class AggregationResult_AggregateFieldsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<AggregationResult_AggregateFieldsEntry_DoNotUse,
100+
std::string, ::google::firestore::v1::Value,
101+
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
102+
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE,
103+
0 > {
104+
public:
105+
typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<AggregationResult_AggregateFieldsEntry_DoNotUse,
106+
std::string, ::google::firestore::v1::Value,
107+
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
108+
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE,
109+
0 > SuperType;
110+
AggregationResult_AggregateFieldsEntry_DoNotUse();
111+
AggregationResult_AggregateFieldsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
112+
void MergeFrom(const AggregationResult_AggregateFieldsEntry_DoNotUse& other);
113+
static const AggregationResult_AggregateFieldsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const AggregationResult_AggregateFieldsEntry_DoNotUse*>(&_AggregationResult_AggregateFieldsEntry_DoNotUse_default_instance_); }
114+
static bool ValidateKey(std::string* s) {
115+
return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast<int>(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "google.firestore.v1.AggregationResult.AggregateFieldsEntry.key");
116+
}
117+
static bool ValidateValue(void*) { return true; }
118+
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& other) final;
119+
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
120+
private:
121+
static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
122+
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_google_2ffirestore_2fv1_2faggregation_5fresult_2eproto);
123+
return ::descriptor_table_google_2ffirestore_2fv1_2faggregation_5fresult_2eproto.file_level_metadata[0];
124+
}
125+
126+
public:
127+
};
128+
129+
// -------------------------------------------------------------------
130+
131+
class AggregationResult :
132+
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.AggregationResult) */ {
133+
public:
134+
AggregationResult();
135+
virtual ~AggregationResult();
136+
137+
AggregationResult(const AggregationResult& from);
138+
AggregationResult(AggregationResult&& from) noexcept
139+
: AggregationResult() {
140+
*this = ::std::move(from);
141+
}
142+
143+
inline AggregationResult& operator=(const AggregationResult& from) {
144+
CopyFrom(from);
145+
return *this;
146+
}
147+
inline AggregationResult& operator=(AggregationResult&& from) noexcept {
148+
if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
149+
if (this != &from) InternalSwap(&from);
150+
} else {
151+
CopyFrom(from);
152+
}
153+
return *this;
154+
}
155+
156+
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
157+
return GetDescriptor();
158+
}
159+
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
160+
return GetMetadataStatic().descriptor;
161+
}
162+
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
163+
return GetMetadataStatic().reflection;
164+
}
165+
static const AggregationResult& default_instance();
166+
167+
static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
168+
static inline const AggregationResult* internal_default_instance() {
169+
return reinterpret_cast<const AggregationResult*>(
170+
&_AggregationResult_default_instance_);
171+
}
172+
static constexpr int kIndexInFileMessages =
173+
1;
174+
175+
friend void swap(AggregationResult& a, AggregationResult& b) {
176+
a.Swap(&b);
177+
}
178+
inline void Swap(AggregationResult* other) {
179+
if (other == this) return;
180+
InternalSwap(other);
181+
}
182+
183+
// implements Message ----------------------------------------------
184+
185+
inline AggregationResult* New() const final {
186+
return CreateMaybeMessage<AggregationResult>(nullptr);
187+
}
188+
189+
AggregationResult* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
190+
return CreateMaybeMessage<AggregationResult>(arena);
191+
}
192+
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
193+
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
194+
void CopyFrom(const AggregationResult& from);
195+
void MergeFrom(const AggregationResult& from);
196+
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
197+
bool IsInitialized() const final;
198+
199+
size_t ByteSizeLong() const final;
200+
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
201+
::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
202+
::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
203+
int GetCachedSize() const final { return _cached_size_.Get(); }
204+
205+
private:
206+
inline void SharedCtor();
207+
inline void SharedDtor();
208+
void SetCachedSize(int size) const final;
209+
void InternalSwap(AggregationResult* other);
210+
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
211+
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
212+
return "google.firestore.v1.AggregationResult";
213+
}
214+
private:
215+
inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
216+
return nullptr;
217+
}
218+
inline void* MaybeArenaPtr() const {
219+
return nullptr;
220+
}
221+
public:
222+
223+
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
224+
private:
225+
static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
226+
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_google_2ffirestore_2fv1_2faggregation_5fresult_2eproto);
227+
return ::descriptor_table_google_2ffirestore_2fv1_2faggregation_5fresult_2eproto.file_level_metadata[kIndexInFileMessages];
228+
}
229+
230+
public:
231+
232+
// nested types ----------------------------------------------------
233+
234+
235+
// accessors -------------------------------------------------------
236+
237+
enum : int {
238+
kAggregateFieldsFieldNumber = 2,
239+
};
240+
// map<string, .google.firestore.v1.Value> aggregate_fields = 2;
241+
int aggregate_fields_size() const;
242+
private:
243+
int _internal_aggregate_fields_size() const;
244+
public:
245+
void clear_aggregate_fields();
246+
private:
247+
const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::google::firestore::v1::Value >&
248+
_internal_aggregate_fields() const;
249+
::PROTOBUF_NAMESPACE_ID::Map< std::string, ::google::firestore::v1::Value >*
250+
_internal_mutable_aggregate_fields();
251+
public:
252+
const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::google::firestore::v1::Value >&
253+
aggregate_fields() const;
254+
::PROTOBUF_NAMESPACE_ID::Map< std::string, ::google::firestore::v1::Value >*
255+
mutable_aggregate_fields();
256+
257+
// @@protoc_insertion_point(class_scope:google.firestore.v1.AggregationResult)
258+
private:
259+
class _Internal;
260+
261+
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
262+
::PROTOBUF_NAMESPACE_ID::internal::MapField<
263+
AggregationResult_AggregateFieldsEntry_DoNotUse,
264+
std::string, ::google::firestore::v1::Value,
265+
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
266+
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE,
267+
0 > aggregate_fields_;
268+
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
269+
friend struct ::TableStruct_google_2ffirestore_2fv1_2faggregation_5fresult_2eproto;
270+
};
271+
// ===================================================================
272+
273+
274+
// ===================================================================
275+
276+
#ifdef __GNUC__
277+
#pragma GCC diagnostic push
278+
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
279+
#endif // __GNUC__
280+
// -------------------------------------------------------------------
281+
282+
// AggregationResult
283+
284+
// map<string, .google.firestore.v1.Value> aggregate_fields = 2;
285+
inline int AggregationResult::_internal_aggregate_fields_size() const {
286+
return aggregate_fields_.size();
287+
}
288+
inline int AggregationResult::aggregate_fields_size() const {
289+
return _internal_aggregate_fields_size();
290+
}
291+
inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::google::firestore::v1::Value >&
292+
AggregationResult::_internal_aggregate_fields() const {
293+
return aggregate_fields_.GetMap();
294+
}
295+
inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::google::firestore::v1::Value >&
296+
AggregationResult::aggregate_fields() const {
297+
// @@protoc_insertion_point(field_map:google.firestore.v1.AggregationResult.aggregate_fields)
298+
return _internal_aggregate_fields();
299+
}
300+
inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::google::firestore::v1::Value >*
301+
AggregationResult::_internal_mutable_aggregate_fields() {
302+
return aggregate_fields_.MutableMap();
303+
}
304+
inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::google::firestore::v1::Value >*
305+
AggregationResult::mutable_aggregate_fields() {
306+
// @@protoc_insertion_point(field_mutable_map:google.firestore.v1.AggregationResult.aggregate_fields)
307+
return _internal_mutable_aggregate_fields();
308+
}
309+
310+
#ifdef __GNUC__
311+
#pragma GCC diagnostic pop
312+
#endif // __GNUC__
313+
// -------------------------------------------------------------------
314+
315+
316+
// @@protoc_insertion_point(namespace_scope)
317+
318+
} // namespace v1
319+
} // namespace firestore
320+
} // namespace google
321+
322+
// @@protoc_insertion_point(global_scope)
323+
324+
#include <google/protobuf/port_undef.inc>
325+
#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_google_2ffirestore_2fv1_2faggregation_5fresult_2eproto

0 commit comments

Comments
 (0)