Exemplo n.º 1
0
int cpe_dr_generate_h(write_stream_t stream, dr_metalib_source_t source, cpe_dr_generate_ctx_t ctx) {
    const char * lib_name;

    assert(source);
    assert(stream);

    if ((lib_name = dr_metalib_source_libname(source))) {
        stream_printf(stream, "#ifndef DR_GENERATED_H_%s_%s_INCLEDED\n", lib_name, dr_metalib_source_name(source));
        stream_printf(stream, "#define DR_GENERATED_H_%s_%s_INCLEDED\n", lib_name, dr_metalib_source_name(source));
    }
    else {
        stream_printf(stream, "#ifndef DR_GENERATED_H_%s_INCLEDED\n", dr_metalib_source_name(source));
        stream_printf(stream, "#define DR_GENERATED_H_%s_INCLEDED\n", dr_metalib_source_name(source));
    }
    stream_printf(stream, "#include \"cpe/pal/pal_types.h\"\n");

    cpe_dr_generate_h_macros(stream, source, ctx);

    stream_printf(
        stream, 
        "\n"
        "#ifdef __cplusplus\n"
        "extern \"C\" {\n"
        "#endif\n");

    cpe_dr_generate_h_metas(stream, source, ctx);

    stream_printf(
        stream, 
        "#ifdef __cplusplus\n"
        "}\n"
        "#endif\n"
        "\n");

    stream_printf(stream, "#endif\n");

    return 0;
}
Exemplo n.º 2
0
TEST_F(BuilderBasicTest, add_file_basic) {
    dr_metalib_source_t source = dr_metalib_builder_add_file(m_builder, NULL, "b/a.xml");
    ASSERT_TRUE(source);

    EXPECT_EQ(dr_metalib_source_type_file, dr_metalib_source_type(source));
    EXPECT_EQ(dr_metalib_source_format_xml, dr_metalib_source_format(source));
    EXPECT_EQ(dr_metalib_source_from_user, dr_metalib_source_from(source));
    EXPECT_EQ(dr_metalib_source_state_not_analize, dr_metalib_source_state(source));

    EXPECT_STREQ("a", dr_metalib_source_name(source));
    EXPECT_STREQ("b/a.xml", dr_metalib_source_file(source));
    EXPECT_TRUE(NULL == dr_metalib_source_buf(source));
    EXPECT_EQ((size_t)0, dr_metalib_source_buf_capacity(source));
}
Exemplo n.º 3
0
TEST_F(BuilderBasicTest, add_buf_basic) {
    dr_metalib_source_t source = dr_metalib_builder_add_buf(m_builder, "a", dr_metalib_source_format_xml, "abc");
    ASSERT_TRUE(source);

    EXPECT_EQ(dr_metalib_source_type_memory, dr_metalib_source_type(source));
    EXPECT_EQ(dr_metalib_source_format_xml, dr_metalib_source_format(source));
    EXPECT_EQ(dr_metalib_source_from_user, dr_metalib_source_from(source));
    EXPECT_EQ(dr_metalib_source_state_not_analize, dr_metalib_source_state(source));

    EXPECT_STREQ("a", dr_metalib_source_name(source));
    EXPECT_TRUE(NULL == dr_metalib_source_file(source));
    EXPECT_STREQ("abc", (const char *)dr_metalib_source_buf(source));
    EXPECT_EQ((size_t)4, dr_metalib_source_buf_capacity(source));
}
Exemplo n.º 4
0
TEST_F(BuilderBasicTest, add_file_with_name) {
    dr_metalib_source_t source = dr_metalib_builder_add_file(m_builder, "c", "b/a.xml");
    ASSERT_TRUE(source);

    EXPECT_STREQ("c", dr_metalib_source_name(source));
}