diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2002-10-30 20:57:53 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2002-10-30 20:57:53 (GMT) |
commit | afc47efd97b995277e5635107b00001fc025cdff (patch) | |
tree | dd06bd100b0bd88b6ee40c8464efac800a749c32 /addon/doxmlparser/src/loamhandler.cpp | |
parent | dc404b516e366ca10ad325d399ef0bd47d065863 (diff) | |
download | Doxygen-afc47efd97b995277e5635107b00001fc025cdff.zip Doxygen-afc47efd97b995277e5635107b00001fc025cdff.tar.gz Doxygen-afc47efd97b995277e5635107b00001fc025cdff.tar.bz2 |
Release-1.2.18-20021030
Diffstat (limited to 'addon/doxmlparser/src/loamhandler.cpp')
-rw-r--r-- | addon/doxmlparser/src/loamhandler.cpp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/addon/doxmlparser/src/loamhandler.cpp b/addon/doxmlparser/src/loamhandler.cpp new file mode 100644 index 0000000..de726c1 --- /dev/null +++ b/addon/doxmlparser/src/loamhandler.cpp @@ -0,0 +1,60 @@ +#include "loamhandler.h" +#include "memberhandler.h" + + +ListOfAllMembersHandler::ListOfAllMembersHandler(IBaseHandler *parent) : m_parent(parent) +{ + m_members.setAutoDelete(TRUE); + + addStartHandler("member",this,&ListOfAllMembersHandler::startMember); + addStartHandler("name",this,&ListOfAllMembersHandler::startName); + addEndHandler("name",this,&ListOfAllMembersHandler::endName); + + addEndHandler("listofallmembers",this,&ListOfAllMembersHandler::endListOfAllMembers); +} + +void ListOfAllMembersHandler::initialize(MainHandler *mh) +{ + QListIterator<MemberReference> mli(m_members); + MemberReference *mr; + for (;(mr=mli.current());++mli) + { + mr->initialize(mh); + } +} + +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 + m_members.append(new MemberReference); +} + +void ListOfAllMembersHandler::startName(const QXmlAttributes&) +{ + m_curString=""; +} + +void ListOfAllMembersHandler::endName() +{ + ASSERT(m_members.getLast()); + m_members.getLast()->m_name = m_curString; +} + +void ListOfAllMembersHandler::startListOfAllMembers(const QXmlAttributes& /*attrib*/) +{ + m_parent->setDelegate(this); + debug(2,"listofallmembers start\n"); +} + +void ListOfAllMembersHandler::endListOfAllMembers() +{ + m_parent->setDelegate(0); + debug(2,"listofallmembers end\n"); +} + +IMemberReferenceIterator *ListOfAllMembersHandler::members() const +{ + return new MemberReferenceIterator(m_members); +} |