コード例 #1
0
ファイル: encode_decode.c プロジェクト: Holygitzdq/ElVis
// Creates upb handlers for populating a message.
static const upb_handlers *new_fill_handlers(Descriptor* desc,
        const void* owner) {
    // TODO(cfallin, haberman): once upb gets a caching/memoization layer for
    // handlers, reuse subdef handlers so that e.g. if we already parse
    // B-with-field-of-type-C, we don't have to rebuild the whole hierarchy to
    // parse A-with-field-of-type-B-with-field-of-type-C.
    return upb_handlers_newfrozen(desc->msgdef, owner,
                                  add_handlers_for_message, NULL);
}
コード例 #2
0
ファイル: encoder.c プロジェクト: gityf/upb
const upb_handlers *upb_pb_encoder_newhandlers(const upb_msgdef *m,
                                               const void *owner) {
  return upb_handlers_newfrozen(m, owner, newhandlers_callback, NULL);
}
コード例 #3
0
ファイル: textprinter.c プロジェクト: atdt/upb
const upb_handlers *upb_textprinter_newhandlers(const upb_msgdef *m,
                                                const void *owner) {
  return upb_handlers_newfrozen(m, owner, &onmreg, NULL);
}
コード例 #4
0
ファイル: reader.c プロジェクト: YauzZ/upb
const upb_handlers *upb_descreader_newhandlers(const void *owner) {
  return upb_handlers_newfrozen(
      GOOGLE_PROTOBUF_FILEDESCRIPTORSET, owner, reghandlers, NULL);
}