core/tags/artist: Convert file to C
This commit is contained in:
parent
c07d1e9024
commit
6d9c89392e
|
@ -1,9 +1,7 @@
|
||||||
/**
|
/*
|
||||||
* Copyright 2014 (c) Anna Schumaker.
|
* Copyright 2014 (c) Anna Schumaker.
|
||||||
*/
|
*/
|
||||||
extern "C" {
|
|
||||||
#include <core/string.h>
|
#include <core/string.h>
|
||||||
}
|
|
||||||
#include <core/tags/artist.h>
|
#include <core/tags/artist.h>
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,7 +9,7 @@ static struct database artist_db;
|
||||||
|
|
||||||
static struct artist *__artist_alloc(gchar *name)
|
static struct artist *__artist_alloc(gchar *name)
|
||||||
{
|
{
|
||||||
struct artist *artist = new struct artist;
|
struct artist *artist = g_malloc(sizeof(struct artist));
|
||||||
|
|
||||||
dbe_init(&artist->ar_dbe, artist);
|
dbe_init(&artist->ar_dbe, artist);
|
||||||
artist->ar_name = name;
|
artist->ar_name = name;
|
||||||
|
@ -21,7 +19,7 @@ static struct artist *__artist_alloc(gchar *name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static db_entry *artist_alloc(const gchar *name)
|
static struct db_entry *artist_alloc(const gchar *name)
|
||||||
{
|
{
|
||||||
return &__artist_alloc(g_strdup(name))->ar_dbe;
|
return &__artist_alloc(g_strdup(name))->ar_dbe;
|
||||||
}
|
}
|
||||||
|
@ -29,7 +27,7 @@ static db_entry *artist_alloc(const gchar *name)
|
||||||
static void artist_free(struct db_entry *dbe)
|
static void artist_free(struct db_entry *dbe)
|
||||||
{
|
{
|
||||||
g_free(ARTIST(dbe)->ar_lower);
|
g_free(ARTIST(dbe)->ar_lower);
|
||||||
delete ARTIST(dbe);
|
g_free(ARTIST(dbe));
|
||||||
}
|
}
|
||||||
|
|
||||||
static gchar *artist_key(struct db_entry *dbe)
|
static gchar *artist_key(struct db_entry *dbe)
|
|
@ -3,8 +3,8 @@
|
||||||
*/
|
*/
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#include <core/tags/album.h>
|
#include <core/tags/album.h>
|
||||||
}
|
|
||||||
#include <core/tags/artist.h>
|
#include <core/tags/artist.h>
|
||||||
|
}
|
||||||
#include <core/tags/genre.h>
|
#include <core/tags/genre.h>
|
||||||
#include <core/tags/library.h>
|
#include <core/tags/library.h>
|
||||||
#include <core/tags/tags.h>
|
#include <core/tags/tags.h>
|
||||||
|
|
|
@ -1,18 +1,20 @@
|
||||||
/**
|
/*
|
||||||
* Copyright 2014 (c) Anna Schumaker.
|
* Copyright 2014 (c) Anna Schumaker.
|
||||||
|
*
|
||||||
|
* The Artist tag is used to store the name of artists
|
||||||
|
* added to the tag database.
|
||||||
|
*
|
||||||
|
* When writing an Artist tag to disk, only write out the
|
||||||
|
* artist_name field:
|
||||||
|
*
|
||||||
|
* ... Koji Kondo
|
||||||
|
* ... Hajime Wakai
|
||||||
*/
|
*/
|
||||||
#ifndef OCARINA_CORE_TAGS_ARTIST_H
|
#ifndef OCARINA_CORE_TAGS_ARTIST_H
|
||||||
#define OCARINA_CORE_TAGS_ARTIST_H
|
#define OCARINA_CORE_TAGS_ARTIST_H
|
||||||
|
|
||||||
extern "C" {
|
|
||||||
#include <core/database.h>
|
#include <core/database.h>
|
||||||
}
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The Artist tag is used to store the name of artists added
|
|
||||||
* to the tag database.
|
|
||||||
*/
|
|
||||||
struct artist {
|
struct artist {
|
||||||
gchar *ar_name; /* This artist's name. */
|
gchar *ar_name; /* This artist's name. */
|
||||||
gchar *ar_lower; /* This artist's name (lowercased). */
|
gchar *ar_lower; /* This artist's name (lowercased). */
|
||||||
|
|
|
@ -8,8 +8,8 @@ extern "C" {
|
||||||
#include <core/database.h>
|
#include <core/database.h>
|
||||||
#include <core/date.h>
|
#include <core/date.h>
|
||||||
#include <core/tags/album.h>
|
#include <core/tags/album.h>
|
||||||
}
|
|
||||||
#include <core/tags/artist.h>
|
#include <core/tags/artist.h>
|
||||||
|
}
|
||||||
#include <core/tags/genre.h>
|
#include <core/tags/genre.h>
|
||||||
#include <core/tags/library.h>
|
#include <core/tags/library.h>
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ def TagTest(name, source):
|
||||||
return run
|
return run
|
||||||
|
|
||||||
res = [ TagTest("album", "album.c") ]
|
res = [ TagTest("album", "album.c") ]
|
||||||
res += [ TagTest("artist", "artist.cpp") ]
|
res += [ TagTest("artist", "artist.c") ]
|
||||||
res += [ TagTest("genre", "genre.cpp") ]
|
res += [ TagTest("genre", "genre.cpp") ]
|
||||||
res += [ TagTest("library", "library.cpp") ]
|
res += [ TagTest("library", "library.cpp") ]
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
/**
|
/*
|
||||||
* Copyright 2014 (c) Anna Schumaker.
|
* Copyright 2014 (c) Anna Schumaker.
|
||||||
*/
|
*/
|
||||||
#include <core/tags/artist.h>
|
#include <core/tags/artist.h>
|
||||||
#include "../test.h"
|
#include <tests/test.h>
|
||||||
|
|
||||||
static void test_verify_empty(struct artist *artist)
|
static void test_verify_empty(struct artist *artist)
|
||||||
{
|
{
|
||||||
|
@ -25,7 +25,7 @@ static void test_artist()
|
||||||
const struct db_ops *artist_ops = test_artist_ops();
|
const struct db_ops *artist_ops = test_artist_ops();
|
||||||
struct artist *artist;
|
struct artist *artist;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
file f;
|
struct file f;
|
||||||
|
|
||||||
artist = ARTIST(artist_ops->dbe_alloc("Koji Kondo"));
|
artist = ARTIST(artist_ops->dbe_alloc("Koji Kondo"));
|
||||||
test_verify_koji(artist);
|
test_verify_koji(artist);
|
||||||
|
@ -82,9 +82,9 @@ static void test_artist_db()
|
||||||
|
|
||||||
test_verify_koji(artist);
|
test_verify_koji(artist);
|
||||||
|
|
||||||
test_equal(artist_find("Koji Kondo"), artist);
|
test_equal((void *)artist_find("Koji Kondo"), (void *)artist);
|
||||||
test_equal(artist_get(0), artist);
|
test_equal((void *)artist_get(0), (void *)artist);
|
||||||
test_equal(artist_get(1), (struct artist *)NULL);
|
test_equal((void *)artist_get(1), (void *)NULL);
|
||||||
|
|
||||||
db_init(&artist_db, "artist.db", false, artist_ops);
|
db_init(&artist_db, "artist.db", false, artist_ops);
|
||||||
db_load(&artist_db);
|
db_load(&artist_db);
|
Loading…
Reference in New Issue