static VALUE c_attrs_delete (VALUE self, VALUE key) { RbCollection *coll = NULL; VALUE tmp; StringValue (key); tmp = rb_iv_get (self, "collection"); Data_Get_Struct (tmp, RbCollection, coll); xmmsv_coll_attribute_remove (coll->real, StringValuePtr (key)); return Qnil; }
void Coll::removeAttribute( const string &attrname ) { if( !xmmsv_coll_attribute_remove( coll_, attrname.c_str() ) ) { throw no_such_key_error( "No such attribute: " + attrname ); } }
/* Remove all temp utility properties used to write collections to the DB. */ static void dbwrite_strip_tmpprops (void *key, void *value, void *udata) { xmmsv_coll_t *coll = value; xmmsv_coll_attribute_remove (coll, XMMS_COLLSERIAL_ATTR_ID); }