00001 /* 00002 * Copyright 2006 Sony Computer Entertainment Inc. 00003 * 00004 * Licensed under the MIT Open Source License, for details please see license.txt or the website 00005 * http://www.opensource.org/licenses/mit-license.php 00006 * 00007 */ 00008 00009 #ifndef __DAE_META_CHOICE_H__ 00010 #define __DAE_META_CHOICE_H__ 00011 00012 #include <dae/daeMetaCMPolicy.h> 00013 00017 class daeMetaChoice : public daeMetaCMPolicy 00018 { 00019 public: 00030 daeMetaChoice( daeMetaElement *container, daeMetaCMPolicy *parent = NULL, daeUInt choiceNum = 0, daeUInt ordinal = 0, daeInt minO = 1, daeInt maxO = 1 ); 00031 ~daeMetaChoice(); 00032 00033 daeElement *placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL ); 00034 daeBool removeElement(daeElement* parent, daeElement* child); 00035 daeMetaElement *findChild( daeString elementName ); 00036 void getChildren( daeElement* parent, daeElementRefArray &array ); 00037 00038 private: 00039 daeUInt _choiceNum; 00040 }; 00041 00042 #endif 00043