Пример #1
0
    logger.setLevel(log_level)

    argparser = argparse.ArgumentParser(description="VPP C++ API generator")
    argparser.add_argument('files',
                           metavar='api-file',
                           action='append',
                           type=str,
                           help='json api file'
                           '(may be specified multiple times)')
    argparser.add_argument('--prefix',
                           action='store',
                           default=None,
                           help='path prefix')
    argparser.add_argument('--gen-h-prefix',
                           action='store',
                           default=None,
                           help='generated C header prefix')
    args = argparser.parse_args()

    jsonparser = JsonParser(logger,
                            args.files,
                            simple_type_class=CppSimpleType,
                            struct_type_class=CppStructType,
                            field_class=CppField,
                            message_class=CppMessage)

    gen_cpp_headers(jsonparser, logger, args.prefix, args.gen_h_prefix)

    for e in jsonparser.exceptions:
        logger.error(e)
Пример #2
0
    logger.setLevel(log_level)

    argparser = argparse.ArgumentParser(description="VPP C API generator")
    argparser.add_argument('files', metavar='api-file', action='append',
                           type=str, help='json api file'
                           '(may be specified multiple times)')
    argparser.add_argument('--prefix', action='store', default=None,
                           help='path prefix')
    argparser.add_argument('--remove-path', action='store_true',
                           help='remove path from filename')
    args = argparser.parse_args()

    jsonparser = JsonParser(logger, args.files,
                            simple_type_class=CSimpleType,
                            enum_class=CEnum,
                            union_class=CUnion,
                            struct_type_class=CStructType,
                            field_class=CField,
                            message_class=CMessage,
                            alias_class=CAlias)

    # not using the model of having separate generated header and code files
    # with generated symbols present in shared library (per discussion with
    # Damjan), to avoid symbol version issues in .so
    # gen_c_headers_and_code(jsonparser, logger, args.prefix)

    gen_c_unified_headers(jsonparser, logger, args.prefix, args.remove_path)

    for e in jsonparser.exceptions:
        logger.warning(e)
Пример #3
0
                           type=str,
                           help='json api file'
                           '(may be specified multiple times)')
    argparser.add_argument('--prefix',
                           action='store',
                           default=None,
                           help='path prefix')
    argparser.add_argument('--gen-h-prefix',
                           action='store',
                           default=None,
                           help='generated C header prefix')
    argparser.add_argument('--remove-path',
                           action='store_true',
                           help='remove path from filename')
    args = argparser.parse_args()

    jsonparser = JsonParser(logger,
                            args.files,
                            simple_type_class=CppSimpleType,
                            struct_type_class=CppStructType,
                            field_class=CppField,
                            enum_class=CppEnum,
                            message_class=CppMessage,
                            alias_class=CppAlias)

    gen_cpp_headers(jsonparser, logger, args.prefix, args.gen_h_prefix,
                    args.remove_path)

    for e in jsonparser.exceptions:
        logger.warning(e)