• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_FILE_DEF_H_
11 #define UPB_REFLECTION_FILE_DEF_H_
12 
13 #include "upb/reflection/common.h"
14 
15 // Must be last.
16 #include "upb/port/def.inc"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 UPB_API const char* upb_FileDef_EditionName(int edition);
23 
24 const upb_FileDef* upb_FileDef_Dependency(const upb_FileDef* f, int i);
25 int upb_FileDef_DependencyCount(const upb_FileDef* f);
26 bool upb_FileDef_HasOptions(const upb_FileDef* f);
27 UPB_API const char* upb_FileDef_Name(const upb_FileDef* f);
28 const UPB_DESC(FileOptions) * upb_FileDef_Options(const upb_FileDef* f);
29 const UPB_DESC(FeatureSet) * upb_FileDef_ResolvedFeatures(const upb_FileDef* f);
30 const char* upb_FileDef_Package(const upb_FileDef* f);
31 UPB_DESC(Edition) upb_FileDef_Edition(const upb_FileDef* f);
32 UPB_API const upb_DefPool* upb_FileDef_Pool(const upb_FileDef* f);
33 
34 const upb_FileDef* upb_FileDef_PublicDependency(const upb_FileDef* f, int i);
35 int upb_FileDef_PublicDependencyCount(const upb_FileDef* f);
36 
37 const upb_ServiceDef* upb_FileDef_Service(const upb_FileDef* f, int i);
38 int upb_FileDef_ServiceCount(const upb_FileDef* f);
39 
40 UPB_API upb_Syntax upb_FileDef_Syntax(const upb_FileDef* f);
41 
42 const upb_EnumDef* upb_FileDef_TopLevelEnum(const upb_FileDef* f, int i);
43 int upb_FileDef_TopLevelEnumCount(const upb_FileDef* f);
44 
45 const upb_FieldDef* upb_FileDef_TopLevelExtension(const upb_FileDef* f, int i);
46 int upb_FileDef_TopLevelExtensionCount(const upb_FileDef* f);
47 
48 const upb_MessageDef* upb_FileDef_TopLevelMessage(const upb_FileDef* f, int i);
49 int upb_FileDef_TopLevelMessageCount(const upb_FileDef* f);
50 
51 const upb_FileDef* upb_FileDef_WeakDependency(const upb_FileDef* f, int i);
52 int upb_FileDef_WeakDependencyCount(const upb_FileDef* f);
53 
54 // Returns whether |symbol| is transitively included by |f|
55 bool upb_FileDef_Resolves(const upb_FileDef* f, const char* symbol);
56 
57 #ifdef __cplusplus
58 } /* extern "C" */
59 #endif
60 
61 #include "upb/port/undef.inc"
62 
63 #endif /* UPB_REFLECTION_FILE_DEF_H_ */
64