| /*
|
| * 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 |
| } |
| |