summaryrefslogtreecommitdiffstats
path: root/addon/doxmlparser/src/loamhandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'addon/doxmlparser/src/loamhandler.cpp')
-rw-r--r--addon/doxmlparser/src/loamhandler.cpp17
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);