core/database: Remove db_entry::index() function

Let's just access the dbe_index variable directly.

Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
Anna Schumaker 2015-11-02 14:48:00 -05:00
parent 3eb27debfb
commit 847e4c1925
14 changed files with 47 additions and 59 deletions

View File

@ -18,7 +18,7 @@ static AudioDriver *cur_driver = NULL;
static void save_state() static void save_state()
{ {
file_open(&f_cur_track, OPEN_WRITE); file_open(&f_cur_track, OPEN_WRITE);
file_writef(&f_cur_track, "%u\n", cur_track->index()); file_writef(&f_cur_track, "%u\n", cur_track->dbe_index);
file_close(&f_cur_track); file_close(&f_cur_track);
} }

View File

@ -10,8 +10,3 @@ db_entry :: db_entry()
} }
db_entry :: ~db_entry() {} db_entry :: ~db_entry() {}
const unsigned int db_entry :: index()
{
return dbe_index;
}

View File

@ -94,7 +94,7 @@ void playlist :: init()
bool playlist :: has(struct track *track, const std::string &name) bool playlist :: has(struct track *track, const std::string &name)
{ {
return index_has(&playlist_db, name.c_str(), track->index()); return index_has(&playlist_db, name.c_str(), track->dbe_index);
} }
void playlist :: add(struct track *track, const std::string &name) void playlist :: add(struct track *track, const std::string &name)
@ -103,7 +103,7 @@ void playlist :: add(struct track *track, const std::string &name)
return; return;
if (!has(track, name)) { if (!has(track, name)) {
index_insert(&playlist_db, name.c_str(), track->index()); index_insert(&playlist_db, name.c_str(), track->dbe_index);
if (cur_plist == name) if (cur_plist == name)
playlist_q.add(track); playlist_q.add(track);
if (name == "Banned") if (name == "Banned")
@ -113,7 +113,7 @@ void playlist :: add(struct track *track, const std::string &name)
void playlist :: del(struct track *track, const std::string &name) void playlist :: del(struct track *track, const std::string &name)
{ {
index_remove(&playlist_db, name.c_str(), track->index()); index_remove(&playlist_db, name.c_str(), track->dbe_index);
if (cur_plist == name) if (cur_plist == name)
playlist_q.del(track); playlist_q.del(track);
if (name == "Banned") if (name == "Banned")

View File

@ -35,7 +35,7 @@ void Queue :: write(file &file)
{ {
file_writef(&file, "%u %zu", _flags, _tracks.size()); file_writef(&file, "%u %zu", _flags, _tracks.size());
for (unsigned int i = 0; i < _tracks.size(); i++) for (unsigned int i = 0; i < _tracks.size(); i++)
file_writef(&file, " %u", _tracks[i]->index()); file_writef(&file, " %u", _tracks[i]->dbe_index);
} }
void Queue :: read(file &file) void Queue :: read(file &file)

View File

@ -18,7 +18,7 @@ static const std::string __track_key(struct library *library, const std::string
std :: string res; std :: string res;
if (library) { if (library) {
gchar *g_res = g_strdup_printf("%u/%s", library->index(), gchar *g_res = g_strdup_printf("%u/%s", library->dbe_index,
path.c_str()); path.c_str());
res = g_res; res = g_res;
g_free(g_res); g_free(g_res);
@ -71,9 +71,9 @@ track :: track(const std::string &key)
tr_lower = lower; tr_lower = lower;
date_set(&tr_date, 0, 0, 0); date_set(&tr_date, 0, 0, 0);
filter :: add(tr_title, index()); filter :: add(tr_title, dbe_index);
filter :: add(tr_artist->ar_name, index()); filter :: add(tr_artist->ar_name, dbe_index);
filter :: add(tr_album->al_name, index()); filter :: add(tr_album->al_name, dbe_index);
taglib_tag_free_strings(); taglib_tag_free_strings();
taglib_file_free(file); taglib_file_free(file);
@ -118,17 +118,17 @@ void track :: read(file &file)
tr_album = album_get(album_id); tr_album = album_get(album_id);
tr_genre = genre_get(genre_id); tr_genre = genre_get(genre_id);
filter :: add(tr_title, index()); filter :: add(tr_title, dbe_index);
filter :: add(tr_artist->ar_name, index()); filter :: add(tr_artist->ar_name, dbe_index);
filter :: add(tr_album->al_name, index()); filter :: add(tr_album->al_name, dbe_index);
tr_library->li_size++; tr_library->li_size++;
} }
void track :: write(file &file) void track :: write(file &file)
{ {
file_writef(&file, "%u %u %u %u %u ", tr_library->index(), file_writef(&file, "%u %u %u %u %u ", tr_library->dbe_index,
tr_artist->index(), tr_album->index(), tr_artist->dbe_index, tr_album->dbe_index,
tr_genre->index(), tr_track); tr_genre->dbe_index, tr_track);
date_write(&file, &tr_date); date_write(&file, &tr_date);
file_writef(&file, " %u %u %s\n%s\n", tr_count, tr_length, file_writef(&file, " %u %u %s\n%s\n", tr_count, tr_length,
tr_title.c_str(), tr_path.c_str()); tr_title.c_str(), tr_path.c_str());

View File

@ -35,7 +35,7 @@ static void list_path(struct library *lib)
if (lib) { if (lib) {
row = *(c_list->append()); row = *(c_list->append());
row[c_cols.c_id] = lib->index(); row[c_cols.c_id] = lib->dbe_index;
row[c_cols.c_enabled] = lib->li_enabled; row[c_cols.c_enabled] = lib->li_enabled;
row[c_cols.c_size] = lib->li_size; row[c_cols.c_size] = lib->li_size;
row[c_cols.c_path] = lib->primary_key(); row[c_cols.c_path] = lib->primary_key();

View File

@ -61,7 +61,7 @@ unsigned int QueueModel :: iter_to_id(const Gtk::TreeIter &iter) const
unsigned int QueueModel::path_to_id(const Gtk::TreePath &path) const unsigned int QueueModel::path_to_id(const Gtk::TreePath &path) const
{ {
return _queue->operator[](path[0])->index(); return _queue->operator[](path[0])->dbe_index;
} }

View File

@ -46,7 +46,7 @@ bool QueueWindow :: filter_ids(const Gtk::TreeIter &iter)
return true; return true;
id = q_model->iter_to_id(iter); id = q_model->iter_to_id(iter);
return set_has(&_q_search_res, _queue->operator[](id)->index()); return set_has(&_q_search_res, _queue->operator[](id)->dbe_index);
} }
void QueueWindow :: on_row_activated(const Gtk::TreePath &path, void QueueWindow :: on_row_activated(const Gtk::TreePath &path,

View File

@ -23,13 +23,6 @@ struct db_entry {
db_entry(const std::string); db_entry(const std::string);
virtual ~db_entry() = 0; /**< Virtual destructor */ virtual ~db_entry() = 0; /**< Virtual destructor */
/**
* Called to access a DatabaseEntry's index.
*
* @return DatabaseEntry::_index
*/
const unsigned int index();
/** /**
* The primary key of a DatabaseEntry is a unique string representing * The primary key of a DatabaseEntry is a unique string representing
* a single DatabaseEntry instance. This is used for preventing * a single DatabaseEntry instance. This is used for preventing

View File

@ -20,7 +20,7 @@ void db_deinit(struct database<T> *db)
{ {
T *t, *u; T *t, *u;
db_for_each(t, u, db) { db_for_each(t, u, db) {
db->db_entries[t->index()] = NULL; db->db_entries[t->dbe_index] = NULL;
delete t; delete t;
db->db_size--; db->db_size--;
} }
@ -91,7 +91,7 @@ T *db_insert(struct database<T> *db, T *item)
item->dbe_index = db_actual_size(db); item->dbe_index = db_actual_size(db);
db->db_entries.push_back(item); db->db_entries.push_back(item);
db->db_keys[item->primary_key()] = item->index(); db->db_keys[item->primary_key()] = item->dbe_index;
db->db_size++; db->db_size++;
db_autosave(db); db_autosave(db);
return db->db_entries[item->dbe_index]; return db->db_entries[item->dbe_index];
@ -102,9 +102,9 @@ void db_remove(struct database<T> *db, T *item)
{ {
if (item == NULL) if (item == NULL)
return; return;
if (db_at(db, item->index()) != item) if (db_at(db, item->dbe_index) != item)
return; return;
db->db_entries[item->index()] = NULL; db->db_entries[item->dbe_index] = NULL;
db->db_keys.erase(item->primary_key()); db->db_keys.erase(item->primary_key());
delete item; delete item;
db->db_size--; db->db_size--;
@ -137,7 +137,7 @@ template <class T>
T *db_next(const struct database<T> *db, T *ent) T *db_next(const struct database<T> *db, T *ent)
{ {
if (ent) if (ent)
return __db_next(db, ent->index() + 1); return __db_next(db, ent->dbe_index + 1);
return NULL; return NULL;
} }

View File

@ -126,7 +126,7 @@ void test_track_controls()
audio :: pause(); audio :: pause();
audio :: next(); audio :: next();
test_not_equal(audio :: current_track()->index(), (unsigned)2); test_not_equal(audio :: current_track()->dbe_index, (unsigned)2);
test_equal(driver->is_playing(), false); test_equal(driver->is_playing(), false);
audio :: play(); audio :: play();

View File

@ -37,8 +37,8 @@ static void test_db_entry()
struct int_entry *ent = new struct int_entry(1); struct int_entry *ent = new struct int_entry(1);
struct file f; struct file f;
test_equal(ent->index(), 0); test_equal(ent->dbe_index, 0);
test_equal(ent->ie_val, 1); test_equal(ent->ie_val, 1);
test_equal(ent->primary_key(), "1"); test_equal(ent->primary_key(), "1");
file_init(&f, "test_db_entry", 0); file_init(&f, "test_db_entry", 0);
@ -91,7 +91,7 @@ static void test_stress(unsigned int N)
for (i = 0; i < N; i++) { for (i = 0; i < N; i++) {
dbe = db_insert(&db, new int_entry(i)); dbe = db_insert(&db, new int_entry(i));
test_loop_not_equal(dbe, NULL, i); test_loop_not_equal(dbe, NULL, i);
test_loop_equal(dbe->index(), i, i); test_loop_equal(dbe->dbe_index, i, i);
test_loop_equal(dbe->ie_val, i, i); test_loop_equal(dbe->ie_val, i, i);
ptrs.push_back(dbe); ptrs.push_back(dbe);
} test_loop_passed(); } test_loop_passed();

View File

@ -30,12 +30,12 @@ static void test_init()
it = deck :: get_queues().begin(); it = deck :: get_queues().begin();
test_equal(it->size(), (unsigned)4); test_equal(it->size(), (unsigned)4);
for (unsigned int i = 0; i < 4; i++) for (unsigned int i = 0; i < 4; i++)
test_equal((*it)[i]->index(), i); test_equal((*it)[i]->dbe_index, i);
it++; it++;
test_equal(it->size(), (unsigned)5); test_equal(it->size(), (unsigned)5);
for (unsigned int i = 0; i < 5; i++) for (unsigned int i = 0; i < 5; i++)
test_equal((*it)[i]->index(), i + 4); test_equal((*it)[i]->dbe_index, i + 4);
/* /*
* Test that we saved the deck in the new format * Test that we saved the deck in the new format
@ -123,19 +123,19 @@ static void test_next_prev()
test_equal(deck :: prev(), TRACK_NULL); test_equal(deck :: prev(), TRACK_NULL);
for (unsigned int i = 0; i < 2; i++) { for (unsigned int i = 0; i < 2; i++) {
test_equal(deck :: next()->index(), (unsigned)0); test_equal(deck :: next()->dbe_index, (unsigned)0);
test_equal(deck :: next()->index(), (unsigned)1); test_equal(deck :: next()->dbe_index, (unsigned)1);
test_equal(deck :: next()->index(), (unsigned)2); test_equal(deck :: next()->dbe_index, (unsigned)2);
test_equal(deck :: next()->index(), (unsigned)3); test_equal(deck :: next()->dbe_index, (unsigned)3);
test_equal(q->size(), (unsigned)4); test_equal(q->size(), (unsigned)4);
} }
for (unsigned int i = 0; i < 2; i++) { for (unsigned int i = 0; i < 2; i++) {
if (i == 1) if (i == 1)
test_equal(deck :: prev()->index(), (unsigned)3); test_equal(deck :: prev()->dbe_index, (unsigned)3);
test_equal(deck :: prev()->index(), (unsigned)2); test_equal(deck :: prev()->dbe_index, (unsigned)2);
test_equal(deck :: prev()->index(), (unsigned)1); test_equal(deck :: prev()->dbe_index, (unsigned)1);
test_equal(deck :: prev()->index(), (unsigned)0); test_equal(deck :: prev()->dbe_index, (unsigned)0);
} }
test_equal(deck :: get_queues().size(), (size_t)1); test_equal(deck :: get_queues().size(), (size_t)1);

View File

@ -193,7 +193,7 @@ void test_next()
for (unsigned int i = 0; i < 24; i++) { for (unsigned int i = 0; i < 24; i++) {
track = q.next(); track = q.next();
test_loop_not_equal(track, NULL, i); test_loop_not_equal(track, NULL, i);
test_loop_equal(track->index(), i % 24, i); test_loop_equal(track->dbe_index, i % 24, i);
} test_loop_passed(); } test_loop_passed();
test_equal(q.size(), (unsigned)0); test_equal(q.size(), (unsigned)0);
test_equal(q.length(), 0); test_equal(q.length(), 0);
@ -207,7 +207,7 @@ void test_next()
for (unsigned int i = 0; i < 24; i++) { for (unsigned int i = 0; i < 24; i++) {
track = q.next(); track = q.next();
test_loop_not_equal(track, NULL, i); test_loop_not_equal(track, NULL, i);
test_loop_equal(track->index(), expected_rand[i], i); test_loop_equal(track->dbe_index, expected_rand[i], i);
} test_loop_passed(); } test_loop_passed();
test_equal(q.size(), (unsigned)0); test_equal(q.size(), (unsigned)0);
test_equal(q.length(), 0); test_equal(q.length(), 0);
@ -221,7 +221,7 @@ void test_next()
for (unsigned int i = 0; i < 48; i++) { for (unsigned int i = 0; i < 48; i++) {
track = q.next(); track = q.next();
test_loop_not_equal(track, NULL, i); test_loop_not_equal(track, NULL, i);
test_loop_equal(track->index(), i % 24, i); test_loop_equal(track->dbe_index, i % 24, i);
} test_loop_passed(); } test_loop_passed();
test_equal(q.size(), (unsigned)24); test_equal(q.size(), (unsigned)24);
} }
@ -235,12 +235,12 @@ void test_select()
test_equal(q.size(), (unsigned)24); test_equal(q.size(), (unsigned)24);
q.track_selected(10); q.track_selected(10);
test_equal(q.size(), (unsigned)23); test_equal(q.size(), (unsigned)23);
test_equal(q.next()->index(), (unsigned)11); test_equal(q.next()->dbe_index, (unsigned)11);
q.set_flag(Q_REPEAT); q.set_flag(Q_REPEAT);
q.track_selected(0); q.track_selected(0);
test_equal(q.size(), (unsigned)22); test_equal(q.size(), (unsigned)22);
test_equal(q.next()->index(), (unsigned)1); test_equal(q.next()->dbe_index, (unsigned)1);
} }
@ -257,18 +257,18 @@ void test_sorting()
test_equal(q.get_sorder().size(), (size_t)1); test_equal(q.get_sorder().size(), (size_t)1);
test_fill_q(&q); test_fill_q(&q);
for (unsigned int i = 0; i < 24; i++) for (unsigned int i = 0; i < 24; i++)
test_loop_equal(q[i]->index(), exp_sort_title[i], i); test_loop_equal(q[i]->dbe_index, exp_sort_title[i], i);
test_loop_passed(); test_loop_passed();
q.sort(SORT_TITLE, false); q.sort(SORT_TITLE, false);
test_equal(q.get_sorder().size(), (size_t)1); test_equal(q.get_sorder().size(), (size_t)1);
for (unsigned int i = 0; i < 24; i++) for (unsigned int i = 0; i < 24; i++)
test_loop_equal(q[i]->index(), exp_sort_title[23 - i], i); test_loop_equal(q[i]->dbe_index, exp_sort_title[23 - i], i);
test_loop_passed(); test_loop_passed();
q.sort(SORT_LENGTH, true); q.sort(SORT_LENGTH, true);
for (unsigned int i = 0; i < 24; i++) for (unsigned int i = 0; i < 24; i++)
test_loop_equal(q[i]->index(), i, i); test_loop_equal(q[i]->dbe_index, i, i);
test_loop_passed(); test_loop_passed();
q.sort(SORT_YEAR, true); q.sort(SORT_YEAR, true);
@ -276,7 +276,7 @@ void test_sorting()
q.sort(SORT_TITLE, false); q.sort(SORT_TITLE, false);
test_equal(q.get_sorder().size(), (size_t)2); test_equal(q.get_sorder().size(), (size_t)2);
for (unsigned int i = 0; i < 24; i++) for (unsigned int i = 0; i < 24; i++)
test_loop_equal(q[i]->index(), exp_sort_ye_ti[i], i); test_loop_equal(q[i]->dbe_index, exp_sort_ye_ti[i], i);
test_loop_passed(); test_loop_passed();
} }
@ -303,7 +303,7 @@ void test_saving()
test_equal(r.length(), q.length()); test_equal(r.length(), q.length());
for (unsigned int i = 0; i < 24; i++) for (unsigned int i = 0; i < 24; i++)
test_loop_equal(q[i]->index(), r[i]->index(), i); test_loop_equal(q[i]->dbe_index, r[i]->dbe_index, i);
test_loop_passed(); test_loop_passed();
} }