Exemple #1
0
dr_metalib_source_t
dr_metalib_source_find(dr_metalib_builder_t builder, const char * name) {
    struct dr_metalib_source key;
    key.m_name = name;

    return (dr_metalib_source_t)cpe_hash_table_find(&builder->m_sources, &key);
}
Exemple #2
0
dr_dm_data_t
dr_dm_data_find_by_index_ctype(dr_dm_manage_t mgr, const char * idx_name, const void * input, int input_type) {
    struct dr_dm_data_index index_key;
    struct dr_dm_data_index * index;
    dr_dm_data_t key;

    index_key.m_name = idx_name;
    index = (struct dr_dm_data_index *)
        cpe_hash_table_find(&mgr->m_indexes, &index_key);
    if (index == NULL) return NULL;
    key = dr_dm_manage_key_buf(mgr);
    if (dr_entry_set_from_ctype(
            dr_dm_data_data(key), input, input_type, index->m_entry, NULL) != 0)
    {
        return NULL;
    }
    return (dr_dm_data_t)cpe_hash_table_find(&index->m_roles, key);
}
Exemple #3
0
dr_dm_data_t dr_dm_data_find_by_id(dr_dm_manage_t mgr, dr_dm_data_id_t id) {
    dr_dm_data_t key;

    if (mgr->m_id_index == NULL) return NULL;

    key = dr_dm_manage_key_buf(mgr);

    if (dr_entry_set_from_uint64(
            (char*)dr_dm_data_data(key) + dr_entry_data_start_pos(mgr->m_id_index->m_entry)
            , id, mgr->m_id_index->m_entry, NULL) != 0)
        return NULL;

    return (dr_dm_data_t)cpe_hash_table_find(&mgr->m_id_index->m_roles, key);
}