WPILibC++ 2027.0.0-alpha-3
Loading...
Searching...
No Matches
message_def.h
Go to the documentation of this file.
1// Protocol Buffers - Google's data interchange format
2// Copyright 2023 Google LLC. All rights reserved.
3//
4// Use of this source code is governed by a BSD-style
5// license that can be found in the LICENSE file or at
6// https://developers.google.com/open-source/licenses/bsd
7
8// IWYU pragma: private, include "upb/reflection/def.h"
9
10#ifndef UPB_REFLECTION_MESSAGE_DEF_H_
11#define UPB_REFLECTION_MESSAGE_DEF_H_
12
15
16// Must be last.
17#include "upb/port/def.inc"
18
19// Well-known field tag numbers for map-entry messages.
20#define kUpb_MapEntry_KeyFieldNumber 1
21#define kUpb_MapEntry_ValueFieldNumber 2
22
23// Well-known field tag numbers for Any messages.
24#define kUpb_Any_TypeFieldNumber 1
25#define kUpb_Any_ValueFieldNumber 2
26
27// Well-known field tag numbers for duration messages.
28#define kUpb_Duration_SecondsFieldNumber 1
29#define kUpb_Duration_NanosFieldNumber 2
30
31// Well-known field tag numbers for timestamp messages.
32#define kUpb_Timestamp_SecondsFieldNumber 1
33#define kUpb_Timestamp_NanosFieldNumber 2
34
35// All the different kind of well known type messages. For simplicity of check,
36// number wrappers and string wrappers are grouped together. Make sure the
37// order and number of these groups are not changed.
61
62#ifdef __cplusplus
63extern "C" {
64#endif
65
67
69 int i);
71
73 int i);
75
77
78// Returns a field by either JSON name or regular proto name.
80 const upb_MessageDef* m, const char* name, size_t size);
82 const upb_MessageDef* m, const char* name) {
83 return upb_MessageDef_FindByJsonNameWithSize(m, name, strlen(name));
84}
85
86// Lookup of either field or oneof by name. Returns whether either was found.
87// If the return is true, then the found def will be set, and the non-found
88// one set to NULL.
90 const char* name, size_t size,
91 const upb_FieldDef** f,
92 const upb_OneofDef** o);
94 const char* name,
95 const upb_FieldDef** f,
96 const upb_OneofDef** o) {
97 return upb_MessageDef_FindByNameWithSize(m, name, strlen(name), f, o);
98}
99
101 const char* name);
103 const upb_MessageDef* m, const char* name, size_t size);
105 const upb_MessageDef* m, uint32_t i);
107 const char* name);
109 const upb_MessageDef* m, const char* name, size_t size);
114
115// Creates a mini descriptor string for a message, returns true on success.
117 upb_StringView* out);
118
121
124 int i);
126 int i);
127
131
133 int i);
136
137const UPB_DESC(MessageOptions) *
138 upb_MessageDef_Options(const upb_MessageDef* m);
139const UPB_DESC(FeatureSet) *
140 upb_MessageDef_ResolvedFeatures(const upb_MessageDef* m);
141
144
146 const upb_MessageDef* m, int i);
148
151
152#ifdef __cplusplus
153} /* extern "C" */
154#endif
155
156#include "upb/port/undef.inc"
157
158#endif /* UPB_REFLECTION_MESSAGE_DEF_H_ */
#define UPB_DESC(sym)
Definition def.inc:496
#define UPB_INLINE
Definition def.inc:144
#define UPB_API
Definition def.inc:162
int upb_MessageDef_RealOneofCount(const upb_MessageDef *m)
const upb_MessageDef * upb_MessageDef_ContainingType(const upb_MessageDef *m)
const upb_FieldDef * upb_MessageDef_FindByJsonNameWithSize(const upb_MessageDef *m, const char *name, size_t size)
int upb_MessageDef_ExtensionRangeCount(const upb_MessageDef *m)
UPB_API const upb_OneofDef * upb_MessageDef_FindOneofByNameWithSize(const upb_MessageDef *m, const char *name, size_t size)
UPB_API const upb_FileDef * upb_MessageDef_File(const upb_MessageDef *m)
UPB_INLINE bool upb_MessageDef_FindByName(const upb_MessageDef *m, const char *name, const upb_FieldDef **f, const upb_OneofDef **o)
Definition message_def.h:93
UPB_INLINE const upb_FieldDef * upb_MessageDef_FindByJsonName(const upb_MessageDef *m, const char *name)
Definition message_def.h:81
upb_WellKnown
Definition message_def.h:38
@ kUpb_WellKnown_StringValue
Definition message_def.h:54
@ kUpb_WellKnown_Duration
Definition message_def.h:42
@ kUpb_WellKnown_BytesValue
Definition message_def.h:55
@ kUpb_WellKnown_ListValue
Definition message_def.h:58
@ kUpb_WellKnown_FloatValue
Definition message_def.h:47
@ kUpb_WellKnown_UInt64Value
Definition message_def.h:49
@ kUpb_WellKnown_Int64Value
Definition message_def.h:48
@ kUpb_WellKnown_Struct
Definition message_def.h:59
@ kUpb_WellKnown_Unspecified
Definition message_def.h:39
@ kUpb_WellKnown_Timestamp
Definition message_def.h:43
@ kUpb_WellKnown_UInt32Value
Definition message_def.h:51
@ kUpb_WellKnown_Any
Definition message_def.h:40
@ kUpb_WellKnown_BoolValue
Definition message_def.h:56
@ kUpb_WellKnown_Value
Definition message_def.h:57
@ kUpb_WellKnown_FieldMask
Definition message_def.h:41
@ kUpb_WellKnown_DoubleValue
Definition message_def.h:46
@ kUpb_WellKnown_Int32Value
Definition message_def.h:50
const upb_MessageReservedRange * upb_MessageDef_ReservedRange(const upb_MessageDef *m, int i)
int upb_MessageDef_NestedMessageCount(const upb_MessageDef *m)
UPB_API const upb_FieldDef * upb_MessageDef_Field(const upb_MessageDef *m, int i)
UPB_API const upb_OneofDef * upb_MessageDef_Oneof(const upb_MessageDef *m, int i)
UPB_API upb_WellKnown upb_MessageDef_WellKnownType(const upb_MessageDef *m)
UPB_API int upb_MessageDef_FieldCount(const upb_MessageDef *m)
bool upb_MessageDef_MiniDescriptorEncode(const upb_MessageDef *m, upb_Arena *a, upb_StringView *out)
int upb_MessageDef_NestedExtensionCount(const upb_MessageDef *m)
bool upb_MessageDef_IsMapEntry(const upb_MessageDef *m)
bool upb_MessageDef_IsMessageSet(const upb_MessageDef *m)
UPB_API bool upb_MessageDef_FindByNameWithSize(const upb_MessageDef *m, const char *name, size_t size, const upb_FieldDef **f, const upb_OneofDef **o)
int upb_MessageDef_ReservedRangeCount(const upb_MessageDef *m)
upb_StringView upb_MessageDef_ReservedName(const upb_MessageDef *m, int i)
int upb_MessageDef_ReservedNameCount(const upb_MessageDef *m)
const upb_MessageDef * upb_MessageDef_NestedMessage(const upb_MessageDef *m, int i)
UPB_API const upb_FieldDef * upb_MessageDef_FindFieldByNumber(const upb_MessageDef *m, uint32_t i)
UPB_API const char * upb_MessageDef_FullName(const upb_MessageDef *m)
bool upb_MessageDef_HasOptions(const upb_MessageDef *m)
UPB_API upb_Syntax upb_MessageDef_Syntax(const upb_MessageDef *m)
const upb_FieldDef * upb_MessageDef_NestedExtension(const upb_MessageDef *m, int i)
const upb_ExtensionRange * upb_MessageDef_ExtensionRange(const upb_MessageDef *m, int i)
const char * upb_MessageDef_Name(const upb_MessageDef *m)
const upb_EnumDef * upb_MessageDef_NestedEnum(const upb_MessageDef *m, int i)
const upb_FieldDef * upb_MessageDef_FindFieldByName(const upb_MessageDef *m, const char *name)
UPB_API const upb_MiniTable * upb_MessageDef_MiniTable(const upb_MessageDef *m)
UPB_API int upb_MessageDef_OneofCount(const upb_MessageDef *m)
const upb_OneofDef * upb_MessageDef_FindOneofByName(const upb_MessageDef *m, const char *name)
UPB_API const upb_FieldDef * upb_MessageDef_FindFieldByNameWithSize(const upb_MessageDef *m, const char *name, size_t size)
int upb_MessageDef_NestedEnumCount(const upb_MessageDef *m)
struct upb_FieldDef upb_FieldDef
Definition common.h:29
upb_Syntax
Definition common.h:17
struct upb_FileDef upb_FileDef
Definition common.h:30
struct upb_ExtensionRange upb_ExtensionRange
Definition common.h:28
struct upb_EnumDef upb_EnumDef
Definition common.h:25
struct upb_OneofDef upb_OneofDef
Definition common.h:34
struct upb_MessageReservedRange upb_MessageReservedRange
Definition common.h:32
struct upb_MessageDef upb_MessageDef
Definition common.h:31
Definition arena.h:29
Definition message.h:54
Definition string_view.h:23