Audio-TagLib
view release on metacpan or search on metacpan
xs/apeitem.xs view on Meta::CPAN
TagLib::APE::Item * item;
CODE:
/*!
* Item()
* Item(const String &key, const String &value)
* Item(const String &key, const StringList &values)
* Item(const Item &item)
*/
switch(items) {
case 3:
if(sv_isobject(ST(1)) && sv_derived_from(ST(1),
"Audio::TagLib::String")) {
key = INT2PTR(TagLib::String *, SvIV(SvRV(ST(1))));
if(sv_isobject(ST(2))) {
if(sv_derived_from(ST(2), "Audio::TagLib::String")) {
value = INT2PTR(TagLib::String *,
SvIV(SvRV(ST(2))));
RETVAL = new TagLib::APE::Item(*key, *value);
} else if(sv_derived_from(ST(2),
"Audio::TagLib::StringList")) {
values = INT2PTR(TagLib::StringList *,
SvIV(SvRV(ST(2))));
RETVAL = new TagLib::APE::Item(*key, *values);
} else
croak("ST(2) is not of type String/StringList");
} else
croak("ST(2) is not a blessed object");
} else
croak("ST(1) is not of type TagLib::String");
break;
case 2:
if(sv_isobject(ST(1)) && sv_derived_from(ST(1),
"Audio::TagLib::APE::Item")) {
item = INT2PTR(TagLib::APE::Item *, SvIV(SvRV(ST(1))));
RETVAL = new TagLib::APE::Item(*item);
} else
croak("ST(1) is not of type TagLib::APE::Item");
break;
default:
/* items == 1 */
RETVAL = new TagLib::APE::Item();
}
OUTPUT:
RETVAL
void
TagLib::APE::Item::DESTROY()
CODE:
if(!SvREADONLY(SvRV(ST(0))))
delete THIS;
################################################################
#
# implement
# Item & operator=(const Item &item)
#
################################################################
void
TagLib::APE::Item::copy(item)
TagLib::APE::Item * item
PPCODE:
(void)THIS->operator=(*item);
XSRETURN(1);
TagLib::String *
TagLib::APE::Item::key()
CODE:
RETVAL = new TagLib::String(THIS->key());
OUTPUT:
RETVAL
TagLib::ByteVector *
TagLib::APE::Item::value()
CODE:
RETVAL = new TagLib::ByteVector(THIS->value());
OUTPUT:
RETVAL
int
TagLib::APE::Item::size()
CODE:
RETVAL = THIS->size();
OUTPUT:
RETVAL
TagLib::String *
TagLib::APE::Item::toString()
CODE:
RETVAL = new TagLib::String(THIS->toString());
OUTPUT:
RETVAL
TagLib::StringList *
TagLib::APE::Item::toStringList()
CODE:
RETVAL = new TagLib::StringList(THIS->toStringList());
OUTPUT:
RETVAL
TagLib::ByteVector *
TagLib::APE::Item::render()
CODE:
RETVAL = new TagLib::ByteVector(THIS->render());
OUTPUT:
RETVAL
void
TagLib::APE::Item::parse(data)
TagLib::ByteVector * data
CODE:
THIS->parse(*data);
void
TagLib::APE::Item::setReadOnly(readOnly)
bool readOnly
CODE:
THIS->setReadOnly(readOnly);
bool
TagLib::APE::Item::isReadOnly()
CODE:
( run in 1.014 second using v1.01-cache-2.11-cpan-71847e10f99 )