コード例 #1
0
int WriteTest::write(const char * typeName, const char * defs) {
    LPDRMETA meta = dr_lib_find_meta_by_name(m_metaLib, typeName);
    EXPECT_TRUE(meta) << "get meta " << typeName << " error!";

    char buf[1024];

    int r = dr_cfg_read(buf, sizeof(buf), t_cfg_parse(defs), meta, 0, t_em());
    EXPECT_GT(r, 0);

    return write(typeName, buf, r);
}
コード例 #2
0
int ReadTest::read(const char * encodeTypeName, const char * decodeTypeName, const char * defs) {
    LPDRMETA meta = dr_lib_find_meta_by_name(m_metaLib, encodeTypeName);
    EXPECT_TRUE(meta) << "get meta " << encodeTypeName << " error!";

    char buf[1024];

    int r = dr_cfg_read(buf, sizeof(buf), t_cfg_parse(defs), meta, 0, t_em());
    EXPECT_GT(r, 0);

    return read(decodeTypeName, buf, r);
}
コード例 #3
0
int ReadTest::read(const char * data, const char * typeName, int policy, size_t capacity) {
    LPDRMETA meta = dr_lib_find_meta_by_name(m_metaLib, typeName);
    EXPECT_TRUE(meta) << "get meta " << typeName << " error!";
    if (meta == 0) return -1;

    if (capacity == 0) {
        capacity = dr_meta_size(meta);
    }

    cfg_t input = t_cfg_parse(data);
    EXPECT_TRUE(input) << "parse input to cfg fail!";
    if (input == 0) return -1;

    t_elist_clear();
    mem_buffer_clear(&m_buffer);

    return dr_cfg_read(
        mem_buffer_alloc(&m_buffer, capacity),
        capacity,
        input,
        meta,
        policy,
        t_em());
}