~ubuntu-dev/ubuntu/lucid/mpd/lucid-201002101854

« back to all changes in this revision

Viewing changes to src/song_sticker.h

  • Committer: Bazaar Package Importer
  • Author(s): Alessio Treglia
  • Date: 2009-10-23 12:38:20 UTC
  • mfrom: (1.1.12 upstream) (2.2.6 sid)
  • Revision ID: james.westby@ubuntu.com-20091023123820-rxt21lmekscxbkbt
Tags: 0.15.4-1ubuntu1
* Merge from debian unstable, Ubuntu remaining changes:
  - debian/control:
    + Don't build-depends on libmikmod2-dev (Debian bug #510675).
    + Move avahi-daemon from Suggests field to Recommends field.
  - debian/mpd.init.d:
    + Read mpd user from mpd.conf.
* Also fixes LP: #332332.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (C) 2003-2009 The Music Player Daemon Project
 
3
 * http://www.musicpd.org
 
4
 *
 
5
 * This program is free software; you can redistribute it and/or modify
 
6
 * it under the terms of the GNU General Public License as published by
 
7
 * the Free Software Foundation; either version 2 of the License, or
 
8
 * (at your option) any later version.
 
9
 *
 
10
 * This program is distributed in the hope that it will be useful,
 
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
 * GNU General Public License for more details.
 
14
 *
 
15
 * You should have received a copy of the GNU General Public License along
 
16
 * with this program; if not, write to the Free Software Foundation, Inc.,
 
17
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
18
 */
 
19
 
 
20
#ifndef SONG_STICKER_H
 
21
#define SONG_STICKER_H
 
22
 
 
23
#include <stdbool.h>
 
24
#include <glib.h>
 
25
 
 
26
struct song;
 
27
struct directory;
 
28
struct sticker;
 
29
 
 
30
/**
 
31
 * Returns one value from a song's sticker record.  The caller must
 
32
 * free the return value with g_free().
 
33
 */
 
34
char *
 
35
sticker_song_get_value(const struct song *song, const char *name);
 
36
 
 
37
/**
 
38
 * Sets a sticker value in the specified song.  Overwrites existing
 
39
 * values.
 
40
 */
 
41
bool
 
42
sticker_song_set_value(const struct song *song,
 
43
                       const char *name, const char *value);
 
44
 
 
45
/**
 
46
 * Deletes a sticker from the database.  All values are deleted.
 
47
 */
 
48
bool
 
49
sticker_song_delete(const struct song *song);
 
50
 
 
51
/**
 
52
 * Deletes a sticker value.  Does nothing if the sticker did not
 
53
 * exist.
 
54
 */
 
55
bool
 
56
sticker_song_delete_value(const struct song *song, const char *name);
 
57
 
 
58
/**
 
59
 * Loads the sticker for the specified song.
 
60
 *
 
61
 * @param song the song object
 
62
 * @return a sticker object, or NULL on error or if there is no sticker
 
63
 */
 
64
struct sticker *
 
65
sticker_song_get(const struct song *song);
 
66
 
 
67
/**
 
68
 * Finds stickers with the specified name below the specified
 
69
 * directory.
 
70
 *
 
71
 * @param directory the base directory to search in
 
72
 * @param name the name of the sticker
 
73
 * @return true on success (even if no sticker was found), false on
 
74
 * failure
 
75
 */
 
76
bool
 
77
sticker_song_find(struct directory *directory, const char *name,
 
78
                  void (*func)(struct song *song, const char *value,
 
79
                               gpointer user_data),
 
80
                  gpointer user_data);
 
81
 
 
82
#endif