diff options
Diffstat (limited to 'addon/doxmlparser/src/loamhandler.cpp')
-rw-r--r-- | addon/doxmlparser/src/loamhandler.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/addon/doxmlparser/src/loamhandler.cpp b/addon/doxmlparser/src/loamhandler.cpp index de726c1..a939b7b 100644 --- a/addon/doxmlparser/src/loamhandler.cpp +++ b/addon/doxmlparser/src/loamhandler.cpp @@ -9,6 +9,8 @@ ListOfAllMembersHandler::ListOfAllMembersHandler(IBaseHandler *parent) : m_paren addStartHandler("member",this,&ListOfAllMembersHandler::startMember); addStartHandler("name",this,&ListOfAllMembersHandler::startName); addEndHandler("name",this,&ListOfAllMembersHandler::endName); + addStartHandler("scope",this,&ListOfAllMembersHandler::startScope); + addEndHandler("scope",this,&ListOfAllMembersHandler::endScope); addEndHandler("listofallmembers",this,&ListOfAllMembersHandler::endListOfAllMembers); } @@ -27,7 +29,9 @@ void ListOfAllMembersHandler::startMember(const QXmlAttributes& attrib) { MemberReference *mr = new MemberReference; mr->m_memId = attrib.value("refid"); - // TODO: extract prot, virt, ambiguityscope and scope as well + mr->m_virtualness = attrib.value("virt"); + mr->m_protection = attrib.value("prot"); + mr->m_ambiguityScope = attrib.value("ambiguityscope"); m_members.append(new MemberReference); } @@ -42,6 +46,17 @@ void ListOfAllMembersHandler::endName() m_members.getLast()->m_name = m_curString; } +void ListOfAllMembersHandler::startScope(const QXmlAttributes&) +{ + m_curString=""; +} + +void ListOfAllMembersHandler::endScope() +{ + ASSERT(m_members.getLast()); + m_members.getLast()->m_scope = m_curString; +} + void ListOfAllMembersHandler::startListOfAllMembers(const QXmlAttributes& /*attrib*/) { m_parent->setDelegate(this); |