13#ifndef __PROTOBUF_LANG_TREE_H__
14#define __PROTOBUF_LANG_TREE_H__
25#define PBL_DEFAULT_PACKAGE_NAME ""
27typedef void(*pbl_report_error_cb_t)(
const char *msg_format, ...);
48 pbl_report_error_cb_t error_cb;
50 GHashTable* proto_files;
51 GQueue* proto_files_to_be_parsed;
59 const char* package_name;
60 int package_name_lineno;
66 pbl_node_type_t nodetype;
71 GHashTable* children_by_name;
89 GHashTable* fields_by_number;
139 GHashTable* values_by_number;
159 GSList* lex_string_tokens;
160 GSList* lex_struct_tokens;
173 parser_state->lex_string_tokens = g_slist_prepend(parser_state->lex_string_tokens, dupstr);
182 parser_state->lex_struct_tokens = g_slist_prepend(parser_state->lex_struct_tokens, newtoken);
188pbl_printf(
const char* fmt, ...)
237pbl_message_descriptor_pool_FindMessageTypeByName(
const pbl_descriptor_pool_t* pool,
const char* name);
394pbl_set_node_name(
pbl_node_t* node,
int lineno,
const char* newname);
397static inline const char*
421pbl_create_field_node(
pbl_file_descriptor_t* file,
int lineno,
const char* label,
const char* type_name,
const char* name,
int number,
pbl_node_t* options);
429pbl_create_method_node(
pbl_file_descriptor_t* file,
int lineno,
const char* name,
const char* in_msg_type,
bool in_is_stream,
const char* out_msg_type,
bool out_is_stream);
437pbl_free_node(
void *anode);
void pbl_reinit_descriptor_pool(pbl_descriptor_pool_t **ppool, const char **directories, pbl_report_error_cb_t error_cb)
Definition protobuf_lang_tree.c:107
Definition protobuf_lang_tree.h:156
Definition protobuf_lang_tree.h:150
Internal memory allocator interface used by the wmem subsystem.
Definition wmem_allocator.h:34
Definition protobuf_lang_tree.h:46
Definition protobuf_lang_tree.h:136
Definition protobuf_lang_tree.h:93
Describes a field in a Protocol Buffer message, similar to google::protobuf::FieldDescriptor.
Definition protobuf_lang_tree.h:104
bool has_default_value
Definition protobuf_lang_tree.h:113
pbl_node_t * options_node
Definition protobuf_lang_tree.h:109
pbl_node_t basic_info
Definition protobuf_lang_tree.h:105
double d
Definition protobuf_lang_tree.h:128
int64_t i64
Definition protobuf_lang_tree.h:124
bool b
Definition protobuf_lang_tree.h:129
char * type_name
Definition protobuf_lang_tree.h:108
uint64_t u64
Definition protobuf_lang_tree.h:126
int type
Definition protobuf_lang_tree.h:107
float f
Definition protobuf_lang_tree.h:127
char * s
Definition protobuf_lang_tree.h:130
char * orig_default_value
Definition protobuf_lang_tree.h:114
int32_t i32
Definition protobuf_lang_tree.h:123
bool is_required
Definition protobuf_lang_tree.h:112
const pbl_enum_value_descriptor_t * e
Definition protobuf_lang_tree.h:131
int string_or_bytes_default_value_length
Definition protobuf_lang_tree.h:115
bool is_repeated
Definition protobuf_lang_tree.h:111
int number
Definition protobuf_lang_tree.h:106
uint32_t u32
Definition protobuf_lang_tree.h:125
Definition protobuf_lang_tree.h:56
Definition protobuf_lang_tree.h:86
Definition protobuf_lang_tree.h:77
Definition protobuf_lang_tree.h:65
Definition protobuf_lang_tree.h:144