xmlNodePtr LinkMgrSingleton::DecodeXml( xmlNodePtr & node ) { m_UserParms.DecodeXml( node ); if ( m_UserParms.GetNumUserParms() < m_NumPredefinedUserParms ) { m_UserParms.Renew(m_NumPredefinedUserParms); } xmlNodePtr linkmgr_node = XmlUtil::GetNode( node, "LinkMgr", 0 ); if ( linkmgr_node ) { int num = XmlUtil::GetNumNames( linkmgr_node, "Link" ); for ( int i = 0 ; i < num ; i++ ) { xmlNodePtr link_node = XmlUtil::GetNode( linkmgr_node, "Link", i ); if ( link_node ) { Link* link = new Link(); link->DecodeXml( link_node ); AddLink( link ); } } } return linkmgr_node; }