#ifndef BU_TAF_NODE_H #define BU_TAF_NODE_H #include #include "bu/fstring.h" #include "bu/hash.h" #include "bu/list.h" namespace Bu { /** * */ class TafNode { public: typedef Bu::List PropList; typedef Bu::Hash PropHash; typedef Bu::List NodeList; typedef Bu::Hash NodeHash; public: TafNode(); virtual ~TafNode(); void setName( const Bu::FString &sName ); const Bu::FString &getName(); void setProperty( Bu::FString sName, Bu::FString sValue ); const PropList &getProperty( const Bu::FString &sName ); const NodeList &getNode( const Bu::FString &sName ); void addChild( TafNode *pNode ); private: Bu::FString sName; PropHash hProp; NodeHash hChildren; }; } #endif