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;
|
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();
|
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
|
* Merges the data from two tags. If both tags share data for the
|
||||||
* same TagType, only data from "add" is used.
|
* same TagType, only data from "add" is used.
|
||||||
@ -152,9 +134,6 @@ struct Tag {
|
|||||||
*/
|
*/
|
||||||
gcc_pure
|
gcc_pure
|
||||||
bool HasType(TagType type) const;
|
bool HasType(TagType type) const;
|
||||||
|
|
||||||
private:
|
|
||||||
void AddItemInternal(TagType type, const char *value, size_t len);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#include "ConfigData.hxx"
|
#include "ConfigData.hxx"
|
||||||
#include "stdbin.h"
|
#include "stdbin.h"
|
||||||
#include "tag/Tag.hxx"
|
#include "tag/Tag.hxx"
|
||||||
|
#include "tag/TagBuilder.hxx"
|
||||||
#include "util/Error.hxx"
|
#include "util/Error.hxx"
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
@ -81,8 +82,13 @@ main(gcc_unused int argc, gcc_unused char **argv)
|
|||||||
encoder_to_stdout(*encoder);
|
encoder_to_stdout(*encoder);
|
||||||
|
|
||||||
Tag tag;
|
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());
|
success = encoder_tag(encoder, &tag, IgnoreError());
|
||||||
assert(success);
|
assert(success);
|
||||||
|
Loading…
Reference in New Issue
Block a user