Public Member Functions | Private Attributes | Friends | List of all members
CompoundHandler Class Reference

#include <compoundhandler.h>

Inheritance diagram for CompoundHandler:
BaseHandler< CompoundHandler > IDir IPage IGroup IFile INamespace IInterface IException IUnion IStruct IClass

Public Member Functions

virtual void startSection (const QXmlAttributes &attrib)
 
virtual void startCompound (const QXmlAttributes &attrib)
 
virtual void startSuperClass (const QXmlAttributes &attrib)
 
virtual void endSuperClass ()
 
virtual void startSubClass (const QXmlAttributes &attrib)
 
virtual void endSubClass ()
 
virtual void endCompound ()
 
virtual void endCompoundName ()
 
virtual void startBriefDesc (const QXmlAttributes &attrib)
 
virtual void startDetailedDesc (const QXmlAttributes &attrib)
 
virtual void startLocation (const QXmlAttributes &attrib)
 
virtual void startProgramListing (const QXmlAttributes &attrib)
 
virtual void startInheritanceGraph (const QXmlAttributes &attrib)
 
virtual void startCollaborationGraph (const QXmlAttributes &attrib)
 
virtual void startIncludeDependencyGraph (const QXmlAttributes &attrib)
 
virtual void startIncludedByDependencyGraph (const QXmlAttributes &attrib)
 
virtual void startIncludes (const QXmlAttributes &attrib)
 
virtual void startIncludedBy (const QXmlAttributes &attrib)
 
virtual void startInnerDir (const QXmlAttributes &attrib)
 
virtual void startInnerClass (const QXmlAttributes &attrib)
 
virtual void startInnerNamespace (const QXmlAttributes &attrib)
 
virtual void startInnerFile (const QXmlAttributes &attrib)
 
virtual void startInnerGroup (const QXmlAttributes &attrib)
 
virtual void startInnerPage (const QXmlAttributes &attrib)
 
virtual void startTitle (const QXmlAttributes &attrib)
 
virtual void startTemplateParamList (const QXmlAttributes &attrib)
 
virtual void startListOfAllMembers (const QXmlAttributes &attrib)
 
virtual void addref ()
 
 CompoundHandler (const QString &dirName)
 
virtual ~CompoundHandler ()
 
bool parseXML (const char *compId)
 
void initialize (MainHandler *mh)
 
void insertMember (MemberHandler *mh)
 
ICompoundtoICompound () const
 
const IStringname () const
 
const IStringid () const
 
CompoundKind kind () const
 
const IStringkindString () const
 
ISectionIteratorsections () const
 
IDocRootbriefDescription () const
 
IDocRootdetailedDescription () const
 
IMembermemberById (const char *id) const
 
IMemberIteratormemberByName (const char *name) const
 
IParamIteratortemplateParameters () const
 
void release ()
 
IGraphinheritanceGraph () const
 
IGraphcollaborationGraph () const
 
IRelatedCompoundIteratorbaseCompounds () const
 
IRelatedCompoundIteratorderivedCompounds () const
 
ICompoundIteratornestedCompounds () const
 
ICompoundIteratornestedGroup () const
 
const IStringlocationFile () const
 
int locationLine () const
 
const IStringlocationBodyFile () const
 
int locationBodyStartLine () const
 
int locationBodyEndLine () const
 
IMemberReferenceIteratormembers () const
 
IGraphincludeDependencyGraph () const
 
IGraphincludedByDependencyGraph () const
 
IDocProgramListingsource () const
 
IIncludeIteratorincludes () const
 
IIncludeIteratorincludedBy () const
 
const IDocTitletitle () const
 
- Public Member Functions inherited from BaseHandler< CompoundHandler >
 BaseHandler ()
 
virtual ~BaseHandler ()
 
virtual bool startDocument ()
 
virtual bool startElement (const QString &namespaceURI, const QString &localName, const QString &name, const QXmlAttributes &attrib)
 
virtual bool endElement (const QString &namespaceURI, const QString &localName, const QString &name)
 
bool skippedEntity (const QString &s)
 
virtual bool characters (const QString &ch)
 
void setDelegate (QXmlDefaultHandler *delegate)
 
QXmlDefaultHandlerdelegate () const
 
void setFallBackHandler (IFallBackHandler *h)
 
IFallBackHandlerfallBackHandler () const
 
void setDocumentLocator (QXmlLocator *locator)
 
- Public Member Functions inherited from QXmlDefaultHandler
 QXmlDefaultHandler ()
 
virtual ~QXmlDefaultHandler ()
 
bool endDocument ()
 
bool startPrefixMapping (const QString &prefix, const QString &uri)
 
bool endPrefixMapping (const QString &prefix)
 
bool ignorableWhitespace (const QString &ch)
 
bool processingInstruction (const QString &target, const QString &data)
 
bool warning (const QXmlParseException &exception)
 
bool error (const QXmlParseException &exception)
 
bool fatalError (const QXmlParseException &exception)
 
bool notationDecl (const QString &name, const QString &publicId, const QString &systemId)
 
bool unparsedEntityDecl (const QString &name, const QString &publicId, const QString &systemId, const QString &notationName)
 
bool resolveEntity (const QString &publicId, const QString &systemId, QXmlInputSource *&ret)
 
bool startDTD (const QString &name, const QString &publicId, const QString &systemId)
 
bool endDTD ()
 
bool startCDATA ()
 
bool endCDATA ()
 
bool comment (const QString &ch)
 
bool attributeDecl (const QString &eName, const QString &aName, const QString &type, const QString &valueDefault, const QString &value)
 
bool internalEntityDecl (const QString &name, const QString &value)
 
bool externalEntityDecl (const QString &name, const QString &publicId, const QString &systemId)
 
QString errorString ()
 
- Public Member Functions inherited from QXmlContentHandler
virtual ~QXmlContentHandler ()
 
- Public Member Functions inherited from QXmlErrorHandler
virtual ~QXmlErrorHandler ()
 
- Public Member Functions inherited from QXmlDTDHandler
virtual ~QXmlDTDHandler ()
 
- Public Member Functions inherited from QXmlEntityResolver
virtual ~QXmlEntityResolver ()
 
- Public Member Functions inherited from QXmlLexicalHandler
virtual ~QXmlLexicalHandler ()
 
- Public Member Functions inherited from QXmlDeclHandler
virtual ~QXmlDeclHandler ()
 
- Public Member Functions inherited from ElementMapper< CompoundHandler >
 ElementMapper ()
 
virtual ~ElementMapper ()
 
void addStartHandler (const char *key)
 
void addStartHandler (const char *key, CompoundHandler *obj, void(CompoundHandler::*handler)(const QXmlAttributes &))
 
void addEndHandler (const char *key)
 
void addEndHandler (const char *key, CompoundHandler *obj, void(CompoundHandler::*handler)())
 
- Public Member Functions inherited from IBaseHandler
virtual ~IBaseHandler ()
 

Private Attributes

StringImpl m_name
 
TitleHandlerm_titleHandler
 
QList< RelatedCompoundm_subClasses
 
QList< RelatedCompoundm_superClasses
 
QList< IncludeHandlerm_includes
 
QList< IncludeHandlerm_includedBy
 
GraphHandlerm_includeDependencyGraph
 
GraphHandlerm_includedByDependencyGraph
 
QList< QStringm_innerCompounds
 
TemplateParamListHandlerm_templateParamList
 
QList< SectionHandlerm_sections
 
DocHandlerm_brief
 
DocHandlerm_detailed
 
GraphHandlerm_inheritanceGraph
 
GraphHandlerm_collaborationGraph
 
ProgramListingHandlerm_programListing
 
StringImpl m_defFile
 
int m_defLine
 
StringImpl m_defBodyFile
 
int m_defBodyStart
 
int m_defBodyEnd
 
ListOfAllMembersHandlerm_members
 
StringImpl m_id
 
CompoundKind m_kind
 
StringImpl m_kindString
 
StringImpl m_protection
 
QString m_xmlDir
 
int m_refCount
 
QDict< MemberHandlerm_memberDict
 
QDict< QList< MemberHandler > > m_memberNameDict
 
MainHandlerm_mainHandler
 

Friends

class RelatedCompound
 

Additional Inherited Members

- Public Types inherited from ICompound
enum  CompoundKind {
  Invalid =0, Class, Struct, Union,
  Interface, Protocol, Category, Exception,
  File, Namespace, Group, Page,
  Example, Dir, Invalid =0, Class,
  Struct, Union, Interface, Protocol,
  Category, Exception, File, Namespace,
  Group, Page, Example, Dir
}
 
enum  CompoundKind {
  Invalid =0, Class, Struct, Union,
  Interface, Protocol, Category, Exception,
  File, Namespace, Group, Page,
  Example, Dir, Invalid =0, Class,
  Struct, Union, Interface, Protocol,
  Category, Exception, File, Namespace,
  Group, Page, Example, Dir
}
 
- Public Types inherited from BaseHandler< CompoundHandler >
typedef ElementMapper< CompoundHandler >::StartElementHandlerT StartElementHandlerT
 
typedef ElementMapper< CompoundHandler >::EndElementHandlerT EndElementHandlerT
 
- Public Types inherited from ElementMapper< CompoundHandler >
typedef StartElementHandler StartElementHandlerT
 
typedef EndElementHandler EndElementHandlerT
 
- Static Public Attributes inherited from LocatorContainer
static QXmlLocators_theLocator =0
 
- Protected Attributes inherited from BaseHandler< CompoundHandler >
QString m_curString
 
QString m_skipUntil
 
int m_skipCount
 
QXmlDefaultHandlerm_delegateHandler
 
IFallBackHandlerm_fallBackHandler
 
- Protected Attributes inherited from ElementMapper< CompoundHandler >
QDict< StartElementHandlerTm_startHandlers
 
QDict< EndElementHandlerTm_endHandlers
 

Detailed Description

Definition at line 104 of file compoundhandler.h.

Constructor & Destructor Documentation

CompoundHandler::CompoundHandler ( const QString dirName)

Definition at line 178 of file compoundhandler.cpp.

179  : m_titleHandler(0),
183  m_brief(0),
184  m_detailed(0),
185  m_inheritanceGraph(0),
187  m_programListing(0),
188  m_members(0),
189  m_xmlDir(xmlDir),
190  m_refCount(1),
191  m_memberDict(257),
192  m_memberNameDict(257),
193  m_mainHandler(0)
194 {
198  m_memberNameDict.setAutoDelete(TRUE);
202 
203  addStartHandler("doxygen");
204  addEndHandler("doxygen");
205 
206  addStartHandler("compounddef",this,&CompoundHandler::startCompound);
207  addEndHandler("compounddef",this,&CompoundHandler::endCompound);
208 
209  addStartHandler("compoundname");
210  addEndHandler("compoundname",this,&CompoundHandler::endCompoundName);
211 
213 
214  addStartHandler("basecompoundref",this,&CompoundHandler::startSuperClass);
215  addEndHandler("basecompoundref",this,&CompoundHandler::endSuperClass);
216 
217  addStartHandler("derivedcompoundref",this,&CompoundHandler::startSubClass);
218  addEndHandler("derivedcompoundref",this,&CompoundHandler::endSubClass);
219 
222 
224 
226 
228  addEndHandler("innerdir");
229 
231  addEndHandler("innerfile");
232 
234  addEndHandler("innerclass");
235 
237  addEndHandler("innernamespace");
238 
240  addEndHandler("innerpage");
241 
243  addEndHandler("innergroup");
244 
245  addStartHandler("templateparamlist",this,&CompoundHandler::startTemplateParamList);
246 
248 
249  addStartHandler("briefdescription",this,&CompoundHandler::startBriefDesc);
250 
251  addStartHandler("detaileddescription",this,&CompoundHandler::startDetailedDesc);
252 
254 
255  addStartHandler("collaborationgraph",this,&CompoundHandler::startCollaborationGraph);
256 
258 
260  addEndHandler("location");
261 
263 }
QList< IncludeHandler > m_includedBy
TitleHandler * m_titleHandler
virtual void startInnerPage(const QXmlAttributes &attrib)
virtual void endCompound()
GraphHandler * m_inheritanceGraph
MainHandler * m_mainHandler
virtual void startInnerNamespace(const QXmlAttributes &attrib)
virtual void startCollaborationGraph(const QXmlAttributes &attrib)
virtual void startIncludeDependencyGraph(const QXmlAttributes &attrib)
virtual void startIncludes(const QXmlAttributes &attrib)
virtual void startTemplateParamList(const QXmlAttributes &attrib)
virtual void startIncludedByDependencyGraph(const QXmlAttributes &attrib)
QList< SectionHandler > m_sections
QList< QString > m_innerCompounds
virtual void startBriefDesc(const QXmlAttributes &attrib)
virtual void startCompound(const QXmlAttributes &attrib)
virtual void startIncludedBy(const QXmlAttributes &attrib)
virtual void startTitle(const QXmlAttributes &attrib)
DocHandler * m_detailed
virtual void startSection(const QXmlAttributes &attrib)
virtual void startProgramListing(const QXmlAttributes &attrib)
virtual void endSuperClass()
GraphHandler * m_includeDependencyGraph
QDict< QList< MemberHandler > > m_memberNameDict
QList< IncludeHandler > m_includes
QDict< MemberHandler > m_memberDict
virtual void endCompoundName()
GraphHandler * m_includedByDependencyGraph
virtual void startLocation(const QXmlAttributes &attrib)
DocHandler * m_brief
virtual void startDetailedDesc(const QXmlAttributes &attrib)
GraphHandler * m_collaborationGraph
virtual void startInnerClass(const QXmlAttributes &attrib)
virtual void startInnerFile(const QXmlAttributes &attrib)
TemplateParamListHandler * m_templateParamList
QList< RelatedCompound > m_subClasses
ListOfAllMembersHandler * m_members
QList< RelatedCompound > m_superClasses
virtual void startSuperClass(const QXmlAttributes &attrib)
virtual void startInnerDir(const QXmlAttributes &attrib)
void addStartHandler(const char *key)
Definition: basehandler.h:91
virtual void startListOfAllMembers(const QXmlAttributes &attrib)
virtual void endSubClass()
void setAutoDelete(bool enable)
Definition: qlist.h:99
const bool TRUE
Definition: qglobal.h:371
virtual void startInnerGroup(const QXmlAttributes &attrib)
void addEndHandler(const char *key)
Definition: basehandler.h:101
ProgramListingHandler * m_programListing
virtual void startSubClass(const QXmlAttributes &attrib)
virtual void startInheritanceGraph(const QXmlAttributes &attrib)
CompoundHandler::~CompoundHandler ( )
virtual

Definition at line 265 of file compoundhandler.cpp.

266 {
267  debug(2,"CompoundHandler::~CompoundHandler()\n");
268  delete m_titleHandler;
269  delete m_brief;
270  delete m_detailed;
271  delete m_programListing;
272  delete m_inheritanceGraph;
273  delete m_collaborationGraph;
276  delete m_templateParamList;
277  delete m_members;
278 }
TitleHandler * m_titleHandler
GraphHandler * m_inheritanceGraph
DocHandler * m_detailed
GraphHandler * m_includeDependencyGraph
GraphHandler * m_includedByDependencyGraph
DocHandler * m_brief
GraphHandler * m_collaborationGraph
TemplateParamListHandler * m_templateParamList
ListOfAllMembersHandler * m_members
ProgramListingHandler * m_programListing

Member Function Documentation

virtual void CompoundHandler::addref ( )
inlinevirtual

Definition at line 146 of file compoundhandler.h.

146 { m_refCount++; }
IRelatedCompoundIterator * CompoundHandler::baseCompounds ( ) const
virtual

Implements IClass.

Definition at line 609 of file compoundhandler.cpp.

610 {
612 }
QList< RelatedCompound > m_superClasses
IDocRoot * CompoundHandler::briefDescription ( ) const
virtual

Returns a tree-structured representation of the brief description that is attached to this compound.

Implements ICompound.

Definition at line 574 of file compoundhandler.cpp.

575 {
576  return m_brief;
577 }
DocHandler * m_brief
IGraph * CompoundHandler::collaborationGraph ( ) const
virtual

Implements IClass.

Definition at line 594 of file compoundhandler.cpp.

595 {
596  return m_collaborationGraph;
597 }
GraphHandler * m_collaborationGraph
IRelatedCompoundIterator * CompoundHandler::derivedCompounds ( ) const
virtual

Implements IClass.

Definition at line 614 of file compoundhandler.cpp.

615 {
617 }
QList< RelatedCompound > m_subClasses
IDocRoot * CompoundHandler::detailedDescription ( ) const
virtual

Returns a tree-structured representation of the detailed description that is attached to this compound.

Implements ICompound.

Definition at line 579 of file compoundhandler.cpp.

580 {
581  return m_detailed;
582 }
DocHandler * m_detailed
void CompoundHandler::endCompound ( )
virtual

Definition at line 331 of file compoundhandler.cpp.

332 {
333  debug(2,"endCompound()\n");
334 }
void CompoundHandler::endCompoundName ( )
virtual

Definition at line 345 of file compoundhandler.cpp.

346 {
348  debug(2,"Compound name `%s'\n",m_name.data());
349 }
const char * data() const
Definition: qstring.h:542
QString stripWhiteSpace() const
Definition: qstring.cpp:13438
void CompoundHandler::endSubClass ( )
virtual

Definition at line 453 of file compoundhandler.cpp.

454 {
456 }
type * getLast() const
Definition: qlist.h:96
void setName(const QString &str)
QList< RelatedCompound > m_subClasses
void CompoundHandler::endSuperClass ( )
virtual

Definition at line 423 of file compoundhandler.cpp.

424 {
426 }
type * getLast() const
Definition: qlist.h:96
void setName(const QString &str)
QList< RelatedCompound > m_superClasses
const IString* CompoundHandler::id ( ) const
inlinevirtual

Returns the id of this compound. The id is a unique string representing a specific compound object.

Implements ICompound.

Definition at line 157 of file compoundhandler.h.

157 { return &m_id; }
IIncludeIterator * CompoundHandler::includedBy ( ) const
virtual

Implements IFile.

Definition at line 634 of file compoundhandler.cpp.

635 {
636  return new IncludeIterator(m_includedBy);
637 }
QList< IncludeHandler > m_includedBy
IGraph * CompoundHandler::includedByDependencyGraph ( ) const
virtual

Implements IFile.

Definition at line 604 of file compoundhandler.cpp.

605 {
607 }
GraphHandler * m_includedByDependencyGraph
IGraph * CompoundHandler::includeDependencyGraph ( ) const
virtual

Implements IFile.

Definition at line 599 of file compoundhandler.cpp.

600 {
602 }
GraphHandler * m_includeDependencyGraph
IIncludeIterator * CompoundHandler::includes ( ) const
virtual

Implements IFile.

Definition at line 629 of file compoundhandler.cpp.

630 {
631  return new IncludeIterator(m_includes);
632 }
QList< IncludeHandler > m_includes
IGraph * CompoundHandler::inheritanceGraph ( ) const
virtual

Implements IClass.

Definition at line 589 of file compoundhandler.cpp.

590 {
591  return m_inheritanceGraph;
592 }
GraphHandler * m_inheritanceGraph
void CompoundHandler::initialize ( MainHandler mh)

Definition at line 478 of file compoundhandler.cpp.

479 {
480  m_mainHandler = mh;
482  SectionHandler *sec;
483  for (;(sec=msi.current());++msi)
484  {
485  sec->initialize(this);
486  }
487  if (m_members)
488  {
489  m_members->initialize(mh);
490  }
491 }
MainHandler * m_mainHandler
QList< SectionHandler > m_sections
ListOfAllMembersHandler * m_members
void initialize(CompoundHandler *c)
void initialize(MainHandler *mh)
Definition: loamhandler.cpp:18
void CompoundHandler::insertMember ( MemberHandler mh)

Definition at line 493 of file compoundhandler.cpp.

494 {
495  m_memberDict.insert(mh->id()->latin1(),mh);
497  QList<MemberHandler> *mhl = m_memberNameDict.find(mh->id()->latin1());
498  if (mhl==0)
499  {
500  mhl = new QList<MemberHandler>;
501  m_memberNameDict.insert(mh->name()->latin1(),mhl);
502  }
503  mhl->append(mh);
504 }
MainHandler * m_mainHandler
virtual const IString * id() const
void append(const type *d)
Definition: qlist.h:73
virtual const char * latin1() const =0
QDict< QList< MemberHandler > > m_memberNameDict
QDict< MemberHandler > m_memberDict
virtual const IString * name() const
void initialize(MainHandler *m)
CompoundKind CompoundHandler::kind ( ) const
inlinevirtual

Returns the kind of compound. See CompoundKind for possible values.

Implements ICompound.

Definition at line 158 of file compoundhandler.h.

158 { return m_kind; }
CompoundKind m_kind
const IString* CompoundHandler::kindString ( ) const
inlinevirtual

Returns a string representation of the compound kind.

See also
kind()

Implements ICompound.

Definition at line 159 of file compoundhandler.h.

159 { return &m_kindString; }
StringImpl m_kindString
int CompoundHandler::locationBodyEndLine ( ) const
inlinevirtual

Implements IClass.

Definition at line 179 of file compoundhandler.h.

179 { return m_defBodyEnd; }
const IString* CompoundHandler::locationBodyFile ( ) const
inlinevirtual

Implements IClass.

Definition at line 177 of file compoundhandler.h.

177 { return &m_defBodyFile; }
StringImpl m_defBodyFile
int CompoundHandler::locationBodyStartLine ( ) const
inlinevirtual

Implements IClass.

Definition at line 178 of file compoundhandler.h.

178 { return m_defBodyStart; }
const IString* CompoundHandler::locationFile ( ) const
inlinevirtual

Implements IClass.

Definition at line 175 of file compoundhandler.h.

175 { return &m_defFile; }
StringImpl m_defFile
int CompoundHandler::locationLine ( ) const
inlinevirtual

Implements IClass.

Definition at line 176 of file compoundhandler.h.

176 { return m_defLine; }
IMember * CompoundHandler::memberById ( const char *  id) const
virtual

Returns an interface to a member given its id.

Parameters
idThe member id.

Implements ICompound.

Definition at line 584 of file compoundhandler.cpp.

585 {
586  return (IFunction*)m_memberDict[id];
587 }
QDict< MemberHandler > m_memberDict
const IString * id() const
IMemberIterator * CompoundHandler::memberByName ( const char *  name) const
virtual

Returns a list of all members within the compound having a certain name. Member overloading is the reason why there can be more than one member.

Parameters
nameThe name of the member.

Implements ICompound.

Definition at line 543 of file compoundhandler.cpp.

544 {
546  if (ml==0) return 0;
547  return new MemberIterator(*ml);
548 }
const IString * name() const
QDict< QList< MemberHandler > > m_memberNameDict
IMemberReferenceIterator * CompoundHandler::members ( ) const

Definition at line 649 of file compoundhandler.cpp.

650 {
651  return m_members ? m_members->members() : 0;
652 }
virtual IMemberReferenceIterator * members() const
Definition: loamhandler.cpp:72
ListOfAllMembersHandler * m_members
const IString* CompoundHandler::name ( ) const
inlinevirtual

Returns the name of this compound

Implements ICompound.

Definition at line 156 of file compoundhandler.h.

156 { return &m_name; }
ICompoundIterator * CompoundHandler::nestedCompounds ( ) const
virtual

Implements IClass.

Definition at line 619 of file compoundhandler.cpp.

620 {
622 }
MainHandler * m_mainHandler
QList< QString > m_innerCompounds
ICompoundIterator* CompoundHandler::nestedGroup ( ) const
bool CompoundHandler::parseXML ( const char *  compId)

Definition at line 465 of file compoundhandler.cpp.

466 {
467  QFile xmlFile(m_xmlDir+"/"+compId+".xml");
468  if (!xmlFile.exists()) return FALSE;
469  CompoundErrorHandler errorHandler;
470  QXmlInputSource source( xmlFile );
471  QXmlSimpleReader reader;
472  reader.setContentHandler( this );
473  reader.setErrorHandler( &errorHandler );
474  reader.parse( source );
475  return TRUE;
476 }
bool parse(const QXmlInputSource &input)
Definition: qxml.cpp:2077
const bool FALSE
Definition: qglobal.h:370
void setErrorHandler(QXmlErrorHandler *handler)
Definition: qxml.cpp:2051
The QXmlSimpleReader class provides an implementation of a simple XML reader (i.e. parser).
Definition: qxml.h:238
void setContentHandler(QXmlContentHandler *handler)
Definition: qxml.cpp:2043
IDocProgramListing * source() const
The QFile class is an I/O device that operates on files.
Definition: qfile.h:50
The QXmlInputSource class is the source where XML data is read from.
Definition: qxml.h:162
const bool TRUE
Definition: qglobal.h:371
void CompoundHandler::release ( )
virtual

Decreases the reference counter for this compound. If it reaches zero, the memory for the compound will be released.

Implements ICompound.

Definition at line 528 of file compoundhandler.cpp.

529 {
530  debug(2,"CompoundHandler::release() %d->%d\n",m_refCount,m_refCount-1);
531  if (--m_refCount<=0)
532  {
534  delete this;
535  }
536 }
MainHandler * m_mainHandler
void unloadCompound(CompoundHandler *ch)
ISectionIterator * CompoundHandler::sections ( ) const
virtual

Returns an iterator for the different member sections in this compound.

Implements ICompound.

Definition at line 538 of file compoundhandler.cpp.

539 {
540  return new SectionIterator(m_sections);
541 }
QList< SectionHandler > m_sections
IDocProgramListing * CompoundHandler::source ( ) const
virtual

Implements IFile.

Definition at line 624 of file compoundhandler.cpp.

625 {
626  return m_programListing;
627 }
ProgramListingHandler * m_programListing
void CompoundHandler::startBriefDesc ( const QXmlAttributes attrib)
virtual

Definition at line 287 of file compoundhandler.cpp.

288 {
289  DocHandler *docHandler = new DocHandler(this);
290  docHandler->startDoc(attrib);
291  m_brief = docHandler;
292 }
virtual void startDoc(const QXmlAttributes &attrib)
Node representing a documentation block.
Definition: dochandler.h:1315
DocHandler * m_brief
void CompoundHandler::startCollaborationGraph ( const QXmlAttributes attrib)
virtual

Definition at line 556 of file compoundhandler.cpp.

557 {
558  m_collaborationGraph = new GraphHandler(this,"collaborationgraph");
560 }
void startGraph(const QXmlAttributes &attrib)
GraphHandler * m_collaborationGraph
void CompoundHandler::startCompound ( const QXmlAttributes attrib)
virtual

Definition at line 322 of file compoundhandler.cpp.

323 {
324  m_id = attrib.value("id");
325  m_kindString = attrib.value("kind");
327  m_protection = attrib.value("prot");
328  debug(2,"startCompound(id=`%s' type=`%s')\n",m_id.data(),m_kindString.data());
329 }
StringImpl m_kindString
CompoundKind m_kind
StringImpl m_protection
QString value(int index) const
Definition: qxml.cpp:664
const char * data() const
Definition: qstring.h:542
ICompound::CompoundKind map(const QString &s)
static CompoundTypeMap * s_typeMap
void CompoundHandler::startDetailedDesc ( const QXmlAttributes attrib)
virtual

Definition at line 294 of file compoundhandler.cpp.

295 {
296  DocHandler *docHandler = new DocHandler(this);
297  docHandler->startDoc(attrib);
298  m_detailed = docHandler;
299 }
DocHandler * m_detailed
virtual void startDoc(const QXmlAttributes &attrib)
Node representing a documentation block.
Definition: dochandler.h:1315
void CompoundHandler::startIncludedBy ( const QXmlAttributes attrib)
virtual

Definition at line 315 of file compoundhandler.cpp.

316 {
317  IncludeHandler *inc = new IncludeHandler(this,"includedby");
318  m_includedBy.append(inc);
319  inc->startInclude(attrib);
320 }
QList< IncludeHandler > m_includedBy
void append(const type *d)
Definition: qlist.h:73
void startInclude(const QXmlAttributes &attrib)
void CompoundHandler::startIncludedByDependencyGraph ( const QXmlAttributes attrib)
virtual

Definition at line 568 of file compoundhandler.cpp.

569 {
570  m_includedByDependencyGraph = new GraphHandler(this,"invincdepgraph");
572 }
void startGraph(const QXmlAttributes &attrib)
GraphHandler * m_includedByDependencyGraph
void CompoundHandler::startIncludeDependencyGraph ( const QXmlAttributes attrib)
virtual

Definition at line 562 of file compoundhandler.cpp.

563 {
564  m_includeDependencyGraph = new GraphHandler(this,"incdepgraph");
566 }
void startGraph(const QXmlAttributes &attrib)
GraphHandler * m_includeDependencyGraph
void CompoundHandler::startIncludes ( const QXmlAttributes attrib)
virtual

Definition at line 308 of file compoundhandler.cpp.

309 {
310  IncludeHandler *inc = new IncludeHandler(this,"includes");
311  m_includes.append(inc);
312  inc->startInclude(attrib);
313 }
void append(const type *d)
Definition: qlist.h:73
void startInclude(const QXmlAttributes &attrib)
QList< IncludeHandler > m_includes
void CompoundHandler::startInheritanceGraph ( const QXmlAttributes attrib)
virtual

Definition at line 550 of file compoundhandler.cpp.

551 {
552  m_inheritanceGraph = new GraphHandler(this,"inheritancegraph");
554 }
GraphHandler * m_inheritanceGraph
void startGraph(const QXmlAttributes &attrib)
void CompoundHandler::startInnerClass ( const QXmlAttributes attrib)
virtual

Definition at line 351 of file compoundhandler.cpp.

352 {
353  m_innerCompounds.append(new QString(attrib.value("refid")));
354 }
void append(const type *d)
Definition: qlist.h:73
QList< QString > m_innerCompounds
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
QString value(int index) const
Definition: qxml.cpp:664
void CompoundHandler::startInnerDir ( const QXmlAttributes attrib)
virtual

Definition at line 376 of file compoundhandler.cpp.

377 {
378  m_innerCompounds.append(new QString(attrib.value("refid")));
379 }
void append(const type *d)
Definition: qlist.h:73
QList< QString > m_innerCompounds
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
QString value(int index) const
Definition: qxml.cpp:664
void CompoundHandler::startInnerFile ( const QXmlAttributes attrib)
virtual

Definition at line 361 of file compoundhandler.cpp.

362 {
363  m_innerCompounds.append(new QString(attrib.value("refid")));
364 }
void append(const type *d)
Definition: qlist.h:73
QList< QString > m_innerCompounds
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
QString value(int index) const
Definition: qxml.cpp:664
void CompoundHandler::startInnerGroup ( const QXmlAttributes attrib)
virtual

Definition at line 366 of file compoundhandler.cpp.

367 {
368  m_innerCompounds.append(new QString(attrib.value("refid")));
369 }
void append(const type *d)
Definition: qlist.h:73
QList< QString > m_innerCompounds
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
QString value(int index) const
Definition: qxml.cpp:664
void CompoundHandler::startInnerNamespace ( const QXmlAttributes attrib)
virtual

Definition at line 356 of file compoundhandler.cpp.

357 {
358  m_innerCompounds.append(new QString(attrib.value("refid")));
359 }
void append(const type *d)
Definition: qlist.h:73
QList< QString > m_innerCompounds
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
QString value(int index) const
Definition: qxml.cpp:664
void CompoundHandler::startInnerPage ( const QXmlAttributes attrib)
virtual

Definition at line 371 of file compoundhandler.cpp.

372 {
373  m_innerCompounds.append(new QString(attrib.value("refid")));
374 }
void append(const type *d)
Definition: qlist.h:73
QList< QString > m_innerCompounds
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
QString value(int index) const
Definition: qxml.cpp:664
void CompoundHandler::startListOfAllMembers ( const QXmlAttributes attrib)
virtual

Definition at line 387 of file compoundhandler.cpp.

388 {
391 }
ListOfAllMembersHandler * m_members
virtual void startListOfAllMembers(const QXmlAttributes &attrib)
Definition: loamhandler.cpp:60
void CompoundHandler::startLocation ( const QXmlAttributes attrib)
virtual

Definition at line 336 of file compoundhandler.cpp.

337 {
338  m_defFile = attrib.value("file");
339  m_defLine = attrib.value("line").toInt();
340  m_defBodyFile = attrib.value("bodyfile");
341  m_defBodyStart = attrib.value("bodystart").toInt();
342  m_defBodyEnd = attrib.value("bodyend").toInt();
343 }
StringImpl m_defBodyFile
QString value(int index) const
Definition: qxml.cpp:664
int toInt(bool *ok=0, int base=10) const
Definition: qstring.cpp:14045
StringImpl m_defFile
void CompoundHandler::startProgramListing ( const QXmlAttributes attrib)
virtual

Definition at line 301 of file compoundhandler.cpp.

302 {
303  ProgramListingHandler *plHandler = new ProgramListingHandler(this);
304  plHandler->startProgramListing(attrib);
305  m_programListing = plHandler;
306 }
virtual void startProgramListing(const QXmlAttributes &attrib)
Node representing a program listing.
Definition: dochandler.h:871
ProgramListingHandler * m_programListing
void CompoundHandler::startSection ( const QXmlAttributes attrib)
virtual

Definition at line 280 of file compoundhandler.cpp.

281 {
282  SectionHandler *sectHandler = new SectionHandler(this);
283  sectHandler->startSection(attrib);
284  m_sections.append(sectHandler);
285 }
void append(const type *d)
Definition: qlist.h:73
QList< SectionHandler > m_sections
virtual void startSection(const QXmlAttributes &attrib)
void CompoundHandler::startSubClass ( const QXmlAttributes attrib)
virtual

Definition at line 428 of file compoundhandler.cpp.

429 {
431  QString protString = attrib.value("prot");
432  if (protString=="protected") prot = IRelatedCompound::Protected;
433  else if (protString=="private") prot = IRelatedCompound::Private;
434 
436  QString kindString = attrib.value("virt");
437  if (kindString=="virtual") kind = IRelatedCompound::Virtual;
438 
440  this,
441  attrib.value("refid"),
442  prot,
443  kind
444  );
445  debug(2,"sub class id=`%s' prot=`%s' virt=`%s'\n",
446  attrib.value("refid").data(),
447  protString.data(),
448  kindString.data());
449  m_subClasses.append(sc);
450  m_curString = "";
451 }
CompoundKind kind() const
void append(const type *d)
Definition: qlist.h:73
const IString * kindString() const
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
QString value(int index) const
Definition: qxml.cpp:664
const char * data() const
Definition: qstring.h:542
friend class RelatedCompound
QList< RelatedCompound > m_subClasses
void CompoundHandler::startSuperClass ( const QXmlAttributes attrib)
virtual

Definition at line 393 of file compoundhandler.cpp.

394 {
396  QString protString = attrib.value("prot");
397  if (protString=="protected")
398  {
400  }
401  else if (protString=="private")
402  {
404  }
406  QString kindString = attrib.value("virt");
407  if (kindString=="virtual") kind = IRelatedCompound::Virtual;
408 
410  this,
411  attrib.value("refid"),
412  prot,
413  kind
414  );
415  debug(2,"super class id=`%s' prot=`%s' virt=`%s'\n",
416  attrib.value("refid").data(),
417  protString.data(),
418  kindString.data());
420  m_curString = "";
421 }
CompoundKind kind() const
void append(const type *d)
Definition: qlist.h:73
const IString * kindString() const
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
QString value(int index) const
Definition: qxml.cpp:664
const char * data() const
Definition: qstring.h:542
friend class RelatedCompound
QList< RelatedCompound > m_superClasses
void CompoundHandler::startTemplateParamList ( const QXmlAttributes attrib)
virtual

Definition at line 381 of file compoundhandler.cpp.

382 {
385 }
virtual void startTemplateParamList(const QXmlAttributes &attrib)
TemplateParamListHandler * m_templateParamList
void CompoundHandler::startTitle ( const QXmlAttributes attrib)
virtual

Definition at line 458 of file compoundhandler.cpp.

459 {
461  m_titleHandler = new TitleHandler(this);
462  m_titleHandler->startTitle(attrib);
463 }
TitleHandler * m_titleHandler
virtual void startTitle(const QXmlAttributes &attrib)
Definition: dochandler.cpp:868
#define ASSERT(x)
Definition: qglobal.h:590
IParamIterator * CompoundHandler::templateParameters ( ) const
virtual

Implements IClass.

Definition at line 639 of file compoundhandler.cpp.

640 {
642 }
ParamIterator * templateParams()
Definition: paramhandler.h:95
TemplateParamListHandler * m_templateParamList
const IDocTitle * CompoundHandler::title ( ) const
virtual

Implements IPage.

Definition at line 644 of file compoundhandler.cpp.

645 {
646  return m_titleHandler;
647 }
TitleHandler * m_titleHandler
ICompound * CompoundHandler::toICompound ( ) const

Definition at line 506 of file compoundhandler.cpp.

507 {
508  switch (m_kind)
509  {
510  case ICompound::Class: return (IClass *)this;
511  case ICompound::Struct: return (IStruct *)this;
512  case ICompound::Union: return (IUnion *)this;
513  case ICompound::Interface: return (IInterface *)this;
514  case ICompound::Protocol: return (IClass *)this;
515  case ICompound::Category: return (IClass *)this;
516  case ICompound::Exception: return (IException *)this;
517  case ICompound::File: return (IFile *)this;
518  case ICompound::Namespace: return (INamespace *)this;
519  case ICompound::Group: return (IGroup *)this;
520  case ICompound::Page: return (IPage *)this;
521  case ICompound::Example: return (IPage *)this;
522  case ICompound::Dir: return (IDir *)this;
523  default: return 0;
524  }
525  return 0;
526 }
The interface to a class in the object model.
Definition: doxmlintf.h:968
CompoundKind m_kind
The interface to a struct in the object model.
Definition: doxmlintf.h:992
Interface to a directory in the object model.
Definition: doxmlintf.h:1074
The interface to a namespace in the object model.
Definition: doxmlintf.h:1030
The interface to a file in the object model.
Definition: doxmlintf.h:1038
The interface to a page in the object model.
Definition: doxmlintf.h:1067
The interface to a union in the object model.
Definition: doxmlintf.h:1006
The interface to a Java/IDL interface in the object model.
Definition: doxmlintf.h:1014
The interface to a group in the object model.
Definition: doxmlintf.h:1055
The interface to a Java/IDL exception in the object model.
Definition: doxmlintf.h:1024

Friends And Related Function Documentation

friend class RelatedCompound
friend

Definition at line 116 of file compoundhandler.h.

Member Data Documentation

DocHandler* CompoundHandler::m_brief
private

Definition at line 206 of file compoundhandler.h.

GraphHandler* CompoundHandler::m_collaborationGraph
private

Definition at line 209 of file compoundhandler.h.

int CompoundHandler::m_defBodyEnd
private

Definition at line 216 of file compoundhandler.h.

StringImpl CompoundHandler::m_defBodyFile
private

Definition at line 214 of file compoundhandler.h.

int CompoundHandler::m_defBodyStart
private

Definition at line 215 of file compoundhandler.h.

StringImpl CompoundHandler::m_defFile
private

Definition at line 212 of file compoundhandler.h.

int CompoundHandler::m_defLine
private

Definition at line 213 of file compoundhandler.h.

DocHandler* CompoundHandler::m_detailed
private

Definition at line 207 of file compoundhandler.h.

StringImpl CompoundHandler::m_id
private

Definition at line 221 of file compoundhandler.h.

QList<IncludeHandler> CompoundHandler::m_includedBy
private

Definition at line 200 of file compoundhandler.h.

GraphHandler* CompoundHandler::m_includedByDependencyGraph
private

Definition at line 202 of file compoundhandler.h.

GraphHandler* CompoundHandler::m_includeDependencyGraph
private

Definition at line 201 of file compoundhandler.h.

QList<IncludeHandler> CompoundHandler::m_includes
private

Definition at line 199 of file compoundhandler.h.

GraphHandler* CompoundHandler::m_inheritanceGraph
private

Definition at line 208 of file compoundhandler.h.

QList<QString> CompoundHandler::m_innerCompounds
private

Definition at line 203 of file compoundhandler.h.

CompoundKind CompoundHandler::m_kind
private

Definition at line 222 of file compoundhandler.h.

StringImpl CompoundHandler::m_kindString
private

Definition at line 223 of file compoundhandler.h.

MainHandler* CompoundHandler::m_mainHandler
private

Definition at line 231 of file compoundhandler.h.

QDict<MemberHandler> CompoundHandler::m_memberDict
private

Definition at line 229 of file compoundhandler.h.

QDict<QList<MemberHandler> > CompoundHandler::m_memberNameDict
private

Definition at line 230 of file compoundhandler.h.

ListOfAllMembersHandler* CompoundHandler::m_members
private

Definition at line 217 of file compoundhandler.h.

StringImpl CompoundHandler::m_name
private

Definition at line 195 of file compoundhandler.h.

ProgramListingHandler* CompoundHandler::m_programListing
private

Definition at line 210 of file compoundhandler.h.

StringImpl CompoundHandler::m_protection
private

Definition at line 224 of file compoundhandler.h.

int CompoundHandler::m_refCount
private

Definition at line 228 of file compoundhandler.h.

QList<SectionHandler> CompoundHandler::m_sections
private

Definition at line 205 of file compoundhandler.h.

QList<RelatedCompound> CompoundHandler::m_subClasses
private

Definition at line 197 of file compoundhandler.h.

QList<RelatedCompound> CompoundHandler::m_superClasses
private

Definition at line 198 of file compoundhandler.h.

TemplateParamListHandler* CompoundHandler::m_templateParamList
private

Definition at line 204 of file compoundhandler.h.

TitleHandler* CompoundHandler::m_titleHandler
private

Definition at line 196 of file compoundhandler.h.

QString CompoundHandler::m_xmlDir
private

Definition at line 227 of file compoundhandler.h.


The documentation for this class was generated from the following files: