From dd5ba062cc03d0de7fa2b46f16817f8c7c2b112e Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sun, 28 Jul 2013 20:25:45 +0200 Subject: tag_id3: convert to C++ --- src/TagId3.hxx | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 src/TagId3.hxx (limited to 'src/TagId3.hxx') diff --git a/src/TagId3.hxx b/src/TagId3.hxx new file mode 100644 index 000000000..271fc081f --- /dev/null +++ b/src/TagId3.hxx @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2003-2013 The Music Player Daemon Project + * http://www.musicpd.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPD_TAG_ID3_HXX +#define MPD_TAG_ID3_HXX + +#include "check.h" +#include "gcc.h" +#include "gerror.h" + +#include + +struct tag_handler; +struct tag; + +#ifdef HAVE_ID3TAG + +bool +tag_id3_scan(const char *path_fs, + const struct tag_handler *handler, void *handler_ctx); + +struct id3_tag; +struct tag *tag_id3_import(struct id3_tag *); + +/** + * Loads the ID3 tags from the file into a libid3tag object. The + * return value must be freed with id3_tag_delete(). + * + * @return NULL on error or if no ID3 tag was found in the file (no + * GError will be set) + */ +struct id3_tag * +tag_id3_load(const char *path_fs, GError **error_r); + +/** + * Import all tags from the provided id3_tag *tag + * + */ +void +scan_id3_tag(struct id3_tag *tag, + const struct tag_handler *handler, void *handler_ctx); + +#else + +static inline bool +tag_id3_scan(gcc_unused const char *path_fs, + gcc_unused const struct tag_handler *handler, + gcc_unused void *handler_ctx) +{ + return false; +} + +#endif + +#endif -- cgit v1.2.3