/* * Copyright 2006 Sony Computer Entertainment Inc. * * Licensed under the MIT Open Source License, for details please see license.txt or the website * http://www.opensource.org/licenses/mit-license.php * */ #include <dae/daeMetaAny.h> #include <dae/domAny.h> #include <dae/daeMetaElementAttribute.h> #include <dae.h> daeMetaAny::daeMetaAny( daeMetaElement *container, daeMetaCMPolicy *parent, daeUInt ordinal, daeInt minO, daeInt maxO) : daeMetaCMPolicy( container, parent, ordinal, minO, maxO ) {} daeMetaAny::~daeMetaAny() {} daeElement *daeMetaAny::placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset, daeElement* before, daeElement *after ) { //remove element from praent (void)offset; (void)before; (void)after; daeElement::removeFromParent( child ); child->setParentElement( parent ); //************************************************************************* ordinal = 0; return child; } daeBool daeMetaAny::removeElement( daeElement *parent, daeElement *child ) { (void)parent; (void)child; return true; } daeMetaElement * daeMetaAny::findChild( daeString elementName ) { if ( elementName != NULL ) { const daeMetaElementRefArray &metas = _container->getDAE()->getAllMetas(); size_t cnt = metas.getCount(); for ( size_t x = 0; x < cnt; x++ ) { if ( metas[x] && !metas[x]->getIsInnerClass() && strcmp( elementName, metas[x]->getName() ) == 0 ) { return metas[x]; } } } return domAny::registerElement(*_container->getDAE()); } void daeMetaAny::getChildren( daeElement *parent, daeElementRefArray &array ) { (void)parent; (void)array; //this is taken care of by the _contents in metaElement }