Tag: remove method AddItem()
Use class TagBuilder instead.
This commit is contained in:
parent
308fdf6e9a
commit
8a5209ad93
|
@ -147,43 +147,3 @@ Tag::HasType(TagType type) const
|
|||
{
|
||||
return GetValue(type) != nullptr;
|
||||
}
|
||||
|
||||
void
|
||||
Tag::AddItemInternal(TagType type, const char *value, size_t len)
|
||||
{
|
||||
unsigned int i = num_items;
|
||||
|
||||
char *p = FixTagString(value, len);
|
||||
if (p != nullptr) {
|
||||
value = p;
|
||||
len = strlen(value);
|
||||
}
|
||||
|
||||
num_items++;
|
||||
|
||||
items = (TagItem **)g_realloc(items, items_size(*this));
|
||||
|
||||
tag_pool_lock.lock();
|
||||
items[i] = tag_pool_get_item(type, value, len);
|
||||
tag_pool_lock.unlock();
|
||||
|
||||
g_free(p);
|
||||
}
|
||||
|
||||
void
|
||||
Tag::AddItem(TagType type, const char *value, size_t len)
|
||||
{
|
||||
if (ignore_tag_items[type])
|
||||
return;
|
||||
|
||||
if (value == nullptr || len == 0)
|
||||
return;
|
||||
|
||||
AddItemInternal(type, value, len);
|
||||
}
|
||||
|
||||
void
|
||||
Tag::AddItem(TagType type, const char *value)
|
||||
{
|
||||
AddItem(type, value, strlen(value));
|
||||
}
|
||||
|
|
|
@ -103,24 +103,6 @@ struct Tag {
|
|||
*/
|
||||
void Clear();
|
||||
|
||||
/**
|
||||
* Appends a new tag item.
|
||||
*
|
||||
* @param type the type of the new tag item
|
||||
* @param value the value of the tag item (not null-terminated)
|
||||
* @param len the length of #value
|
||||
*/
|
||||
void AddItem(TagType type, const char *value, size_t len);
|
||||
|
||||
/**
|
||||
* Appends a new tag item.
|
||||
*
|
||||
* @param tag the #tag object
|
||||
* @param type the type of the new tag item
|
||||
* @param value the value of the tag item (null-terminated)
|
||||
*/
|
||||
void AddItem(TagType type, const char *value);
|
||||
|
||||
/**
|
||||
* Merges the data from two tags. If both tags share data for the
|
||||
* same TagType, only data from "add" is used.
|
||||
|
@ -152,9 +134,6 @@ struct Tag {
|
|||
*/
|
||||
gcc_pure
|
||||
bool HasType(TagType type) const;
|
||||
|
||||
private:
|
||||
void AddItemInternal(TagType type, const char *value, size_t len);
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include "ConfigData.hxx"
|
||||
#include "stdbin.h"
|
||||
#include "tag/Tag.hxx"
|
||||
#include "tag/TagBuilder.hxx"
|
||||
#include "util/Error.hxx"
|
||||
|
||||
#include <stddef.h>
|
||||
|
@ -81,8 +82,13 @@ main(gcc_unused int argc, gcc_unused char **argv)
|
|||
encoder_to_stdout(*encoder);
|
||||
|
||||
Tag tag;
|
||||
tag.AddItem(TAG_ARTIST, "Foo");
|
||||
tag.AddItem(TAG_TITLE, "Bar");
|
||||
|
||||
{
|
||||
TagBuilder tag_builder;
|
||||
tag_builder.AddItem(TAG_ARTIST, "Foo");
|
||||
tag_builder.AddItem(TAG_TITLE, "Bar");
|
||||
tag_builder.Commit(tag);
|
||||
}
|
||||
|
||||
success = encoder_tag(encoder, &tag, IgnoreError());
|
||||
assert(success);
|
||||
|
|
Loading…
Reference in New Issue