Root/
Source at commit 1322 created 12 years 8 months ago. By meklort, Add doxygen to utils folder | |
---|---|
1 | /******************************************************************************␊ |
2 | *␊ |
3 | * $Id: doxmlintf.h,v 1.29 2002/10/13 21:01:58 dimitri Exp $␊ |
4 | *␊ |
5 | *␊ |
6 | * Copyright (C) 1997-2006 by Dimitri van Heesch.␊ |
7 | *␊ |
8 | * Permission to use, copy, modify, and distribute this software and its␊ |
9 | * documentation under the terms of the GNU General Public License is hereby ␊ |
10 | * granted. No representations are made about the suitability of this software ␊ |
11 | * for any purpose. It is provided "as is" without express or implied warranty.␊ |
12 | * See the GNU General Public License for more details.␊ |
13 | *␊ |
14 | */␊ |
15 | ␊ |
16 | #ifndef _DOXMLINTF_H␊ |
17 | #define _DOXMLINTF_H␊ |
18 | ␊ |
19 | /*! \file␊ |
20 | * \brief The interface to the object model provided by the XML parser ␊ |
21 | * library.␊ |
22 | *␊ |
23 | * To start using this library one calls createObjectModel() and then␊ |
24 | * uses the returned IDoxygen interface to read doxygen generated␊ |
25 | * XML output and navigate through the information contained in it.␊ |
26 | *␊ |
27 | * @see createObjectModel()␊ |
28 | */␊ |
29 | ␊ |
30 | class IMember;␊ |
31 | class IDocIterator;␊ |
32 | class ICompound;␊ |
33 | class ISection;␊ |
34 | class INode;␊ |
35 | class IDocInternal;␊ |
36 | class IDocRoot;␊ |
37 | ␊ |
38 | #define VIRTUAL_DESTRUCTOR(x) virtual ~x() {}␊ |
39 | ␊ |
40 | /*! \brief Read only interface to a string. ␊ |
41 | */␊ |
42 | class IString␊ |
43 | {␊ |
44 | public:␊ |
45 | VIRTUAL_DESTRUCTOR(IString)␊ |
46 | /*! Returns a latin1 character representation of the string. */␊ |
47 | virtual const char *latin1() const = 0;␊ |
48 | /*! Returns a utf8 character representation of the string. */␊ |
49 | virtual const char *utf8() const = 0;␊ |
50 | /*! Returns a 16-bit unicode character representation of the character at ␊ |
51 | * position \a index in the string. The first character is at index 0.␊ |
52 | */␊ |
53 | virtual unsigned short unicodeCharAt(int index) const = 0;␊ |
54 | /*! Returns true if this string is empty or false otherwise */␊ |
55 | virtual bool isEmpty() const = 0;␊ |
56 | /*! Returns the number of characters in the string. */␊ |
57 | virtual int length() const = 0;␊ |
58 | };␊ |
59 | ␊ |
60 | /*! \brief Base interface for hyperlinked text␊ |
61 | *␊ |
62 | * Depending on the result of kind() the interface is extended by␊ |
63 | * ILT_Text or ILT_Ref.␊ |
64 | */␊ |
65 | class ILinkedText␊ |
66 | {␊ |
67 | public:␊ |
68 | VIRTUAL_DESTRUCTOR(ILinkedText)␊ |
69 | enum Kind { Kind_Text, Kind_Ref };␊ |
70 | virtual Kind kind() const = 0;␊ |
71 | };␊ |
72 | ␊ |
73 | /*! \brief Plain text fragment.␊ |
74 | */␊ |
75 | class ILT_Text : public ILinkedText␊ |
76 | {␊ |
77 | public:␊ |
78 | VIRTUAL_DESTRUCTOR(ILT_Text)␊ |
79 | virtual const IString *text() const = 0;␊ |
80 | };␊ |
81 | ␊ |
82 | /*! \brief Reference to an object.␊ |
83 | */␊ |
84 | class ILT_Ref : public ILinkedText␊ |
85 | {␊ |
86 | public:␊ |
87 | VIRTUAL_DESTRUCTOR(ILT_Ref)␊ |
88 | enum TargetKind { Member, Compound };␊ |
89 | virtual const IString *id() const = 0;␊ |
90 | virtual TargetKind targetKind() const = 0;␊ |
91 | virtual const IString *external() const = 0;␊ |
92 | virtual const IString *text() const = 0;␊ |
93 | };␊ |
94 | ␊ |
95 | /*! \brief Iterates over a list of ILinkedText fragments.␊ |
96 | */␊ |
97 | class ILinkedTextIterator ␊ |
98 | {␊ |
99 | public:␊ |
100 | VIRTUAL_DESTRUCTOR(ILinkedTextIterator)␊ |
101 | virtual ILinkedText *toFirst() = 0;␊ |
102 | virtual ILinkedText *toLast() = 0;␊ |
103 | virtual ILinkedText *toNext() = 0;␊ |
104 | virtual ILinkedText *toPrev() = 0;␊ |
105 | virtual ILinkedText *current() const = 0;␊ |
106 | virtual void release() = 0;␊ |
107 | };␊ |
108 | ␊ |
109 | /*! \brief Representation of a parameter of a function. */␊ |
110 | class IParam ␊ |
111 | {␊ |
112 | public:␊ |
113 | VIRTUAL_DESTRUCTOR(IParam)␊ |
114 | virtual ILinkedTextIterator *type() const = 0;␊ |
115 | virtual const IString * declarationName() const = 0;␊ |
116 | virtual const IString * definitionName() const = 0;␊ |
117 | virtual const IString * attrib() const = 0;␊ |
118 | virtual const IString * arraySpecifier() const = 0;␊ |
119 | virtual ILinkedTextIterator *defaultValue() const = 0;␊ |
120 | virtual IDocRoot *briefDescription() const = 0;␊ |
121 | };␊ |
122 | ␊ |
123 | class IParamIterator␊ |
124 | {␊ |
125 | public:␊ |
126 | VIRTUAL_DESTRUCTOR(IParamIterator)␊ |
127 | virtual IParam *toFirst() = 0;␊ |
128 | virtual IParam *toLast() = 0;␊ |
129 | virtual IParam *toNext() = 0;␊ |
130 | virtual IParam *toPrev() = 0;␊ |
131 | virtual IParam *current() const = 0;␊ |
132 | virtual void release() = 0;␊ |
133 | };␊ |
134 | ␊ |
135 | class IMemberReference ␊ |
136 | {␊ |
137 | public:␊ |
138 | VIRTUAL_DESTRUCTOR(IMemberReference)␊ |
139 | virtual IMember *member() const = 0;␊ |
140 | virtual const IString * name() const = 0;␊ |
141 | virtual const IString * scope() const = 0;␊ |
142 | virtual const IString * protection() const = 0;␊ |
143 | virtual const IString * virtualness() const = 0;␊ |
144 | virtual const IString * ambiguityScope() const = 0;␊ |
145 | };␊ |
146 | ␊ |
147 | class IMemberReferenceIterator ␊ |
148 | {␊ |
149 | public:␊ |
150 | VIRTUAL_DESTRUCTOR(IMemberReferenceIterator)␊ |
151 | virtual IMemberReference *toFirst() = 0;␊ |
152 | virtual IMemberReference *toLast() = 0;␊ |
153 | virtual IMemberReference *toNext() = 0;␊ |
154 | virtual IMemberReference *toPrev() = 0;␊ |
155 | virtual IMemberReference *current() const = 0;␊ |
156 | virtual void release() = 0;␊ |
157 | };␊ |
158 | ␊ |
159 | class IDoc␊ |
160 | {␊ |
161 | public:␊ |
162 | VIRTUAL_DESTRUCTOR(IDoc)␊ |
163 | enum Kind ␊ |
164 | { ␊ |
165 | Invalid = 0, // 0␊ |
166 | Para, // 1 -> IDocPara␊ |
167 | Text, // 2 -> IDocText␊ |
168 | MarkupModifier, // 3 -> IDocMarkupModifier␊ |
169 | ItemizedList, // 4 -> IDocItemizedList␊ |
170 | OrderedList, // 5 -> IDocOrderedList␊ |
171 | ListItem, // 6 -> IDocListItem␊ |
172 | ParameterList, // 7 -> IDocParameterList␊ |
173 | Parameter, // 8 -> IDocParameter␊ |
174 | SimpleSect, // 9 -> IDocSimpleSect␊ |
175 | Title, // 10 -> IDocTitle␊ |
176 | Ref, // 11 -> IDocRef␊ |
177 | VariableList, // 12 -> IDocVariableList␊ |
178 | VariableListEntry, // 13 -> IDocVariableListEntry␊ |
179 | HRuler, // 14 -> IDocHRuler␊ |
180 | LineBreak, // 15 -> IDocLineBreak␊ |
181 | ULink, // 16 -> IDocULink␊ |
182 | EMail, // 17 -> IDocEMail␊ |
183 | Link, // 18 -> IDocLink␊ |
184 | ProgramListing, // 19 -> IDocProgramListing␊ |
185 | CodeLine, // 20 -> IDocCodeLine␊ |
186 | Highlight, // 21 -> IDocHighlight␊ |
187 | Formula, // 22 -> IDocFormula␊ |
188 | Image, // 23 -> IDocImage␊ |
189 | DotFile, // 24 -> IDocDotFile␊ |
190 | IndexEntry, // 25 -> IDocIndexEntry␊ |
191 | Table, // 26 -> IDocTable␊ |
192 | Row, // 27 -> IDocRow␊ |
193 | Entry, // 28 -> IDocEntry␊ |
194 | Section, // 29 -> IDocSection␊ |
195 | Verbatim, // 30 -> IDocVerbatim␊ |
196 | Copy, // 31 -> IDocCopy␊ |
197 | TocList, // 32 -> IDocTocList␊ |
198 | TocItem, // 33 -> IDocTocItem␊ |
199 | Anchor, // 34 -> IDocAnchor␊ |
200 | Symbol, // 35 -> IDocSymbol␊ |
201 | Internal, // 36 -> IDocInternal␊ |
202 | Root, // 37 -> IDocRoot␊ |
203 | ParameterItem // 38 -> IDocParameterItem␊ |
204 | };␊ |
205 | virtual Kind kind() const = 0;␊ |
206 | };␊ |
207 | ␊ |
208 | class IDocMarkup : public IDoc␊ |
209 | {␊ |
210 | public:␊ |
211 | enum Markup ␊ |
212 | { ␊ |
213 | Normal = 0x000,␊ |
214 | Bold = 0x001,␊ |
215 | Emphasis = 0x002,␊ |
216 | ComputerOutput = 0x004,␊ |
217 | Subscript = 0x008,␊ |
218 | Superscript = 0x010,␊ |
219 | SmallFont = 0x020,␊ |
220 | Center = 0x040,␊ |
221 | Preformatted = 0x080,␊ |
222 | Heading = 0x100␊ |
223 | };␊ |
224 | };␊ |
225 | ␊ |
226 | class IDocPara : public IDoc␊ |
227 | {␊ |
228 | public:␊ |
229 | virtual IDocIterator *contents() const = 0; ␊ |
230 | };␊ |
231 | ␊ |
232 | class IDocText : public IDocMarkup␊ |
233 | {␊ |
234 | public:␊ |
235 | virtual const IString * text() const = 0;␊ |
236 | virtual int markup() const = 0;␊ |
237 | virtual int headingLevel() const = 0;␊ |
238 | };␊ |
239 | ␊ |
240 | class IDocMarkupModifier : public IDoc␊ |
241 | {␊ |
242 | public:␊ |
243 | virtual bool enabled() const = 0;␊ |
244 | virtual int markup() const = 0;␊ |
245 | virtual int headingLevel() const = 0;␊ |
246 | };␊ |
247 | ␊ |
248 | class IDocItemizedList : public IDoc␊ |
249 | {␊ |
250 | public:␊ |
251 | virtual IDocIterator *elements() const = 0;␊ |
252 | };␊ |
253 | ␊ |
254 | class IDocOrderedList : public IDoc␊ |
255 | {␊ |
256 | public:␊ |
257 | virtual IDocIterator *elements() const = 0;␊ |
258 | };␊ |
259 | ␊ |
260 | class IDocListItem : public IDoc␊ |
261 | {␊ |
262 | public:␊ |
263 | virtual IDocIterator *contents() const = 0;␊ |
264 | };␊ |
265 | ␊ |
266 | class IDocParameterList : public IDoc␊ |
267 | {␊ |
268 | public:␊ |
269 | enum Types { Param, RetVal, Exception };␊ |
270 | virtual Types sectType() const = 0;␊ |
271 | virtual IDocIterator *params() const = 0;␊ |
272 | };␊ |
273 | ␊ |
274 | class IDocParameterItem : public IDoc␊ |
275 | {␊ |
276 | public:␊ |
277 | virtual IDocIterator *paramNames() const = 0;␊ |
278 | virtual IDocPara *description() const = 0;␊ |
279 | };␊ |
280 | ␊ |
281 | class IDocParameter : public IDoc␊ |
282 | {␊ |
283 | public:␊ |
284 | virtual const IString * name() const = 0;␊ |
285 | };␊ |
286 | ␊ |
287 | class IDocTitle : public IDoc␊ |
288 | {␊ |
289 | public:␊ |
290 | virtual IDocIterator *title() const = 0;␊ |
291 | };␊ |
292 | ␊ |
293 | class IDocSimpleSect : public IDoc␊ |
294 | {␊ |
295 | public:␊ |
296 | enum Types { Invalid = 0,␊ |
297 | See, Return, Author, Version, ␊ |
298 | Since, Date, Bug, Note,␊ |
299 | Warning, Par, Deprecated, Pre, ␊ |
300 | Post, Invar, Remark, Attention,␊ |
301 | Todo, Test, RCS, EnumValues, ␊ |
302 | Examples␊ |
303 | };␊ |
304 | virtual Types type() const = 0;␊ |
305 | virtual const IString * typeString() const = 0;␊ |
306 | virtual IDocTitle *title() const = 0;␊ |
307 | virtual IDocPara *description() const = 0;␊ |
308 | };␊ |
309 | ␊ |
310 | class IDocRef : public IDoc␊ |
311 | {␊ |
312 | public:␊ |
313 | enum TargetKind { Member, Compound };␊ |
314 | virtual const IString * refId() const = 0;␊ |
315 | virtual TargetKind targetKind() const = 0;␊ |
316 | virtual const IString * external() const = 0;␊ |
317 | virtual const IString * text() const = 0;␊ |
318 | };␊ |
319 | ␊ |
320 | class IDocVariableList : public IDoc␊ |
321 | {␊ |
322 | public:␊ |
323 | virtual IDocIterator *entries() const = 0;␊ |
324 | };␊ |
325 | ␊ |
326 | class IDocVariableListEntry : public IDoc␊ |
327 | {␊ |
328 | public:␊ |
329 | virtual ILinkedTextIterator * term() const = 0;␊ |
330 | virtual IDocPara *description() const = 0;␊ |
331 | };␊ |
332 | ␊ |
333 | class IDocHRuler : public IDoc␊ |
334 | {␊ |
335 | };␊ |
336 | ␊ |
337 | class IDocLineBreak : public IDoc␊ |
338 | {␊ |
339 | };␊ |
340 | ␊ |
341 | class IDocULink : public IDoc␊ |
342 | {␊ |
343 | public:␊ |
344 | virtual const IString * url() const = 0;␊ |
345 | virtual const IString * text() const = 0;␊ |
346 | };␊ |
347 | ␊ |
348 | class IDocEMail : public IDoc␊ |
349 | {␊ |
350 | public:␊ |
351 | virtual const IString * address() const = 0;␊ |
352 | };␊ |
353 | ␊ |
354 | class IDocLink : public IDoc␊ |
355 | {␊ |
356 | public:␊ |
357 | virtual const IString * refId() const = 0;␊ |
358 | virtual const IString * text() const = 0;␊ |
359 | };␊ |
360 | ␊ |
361 | class IDocProgramListing : public IDoc␊ |
362 | {␊ |
363 | public:␊ |
364 | virtual IDocIterator *codeLines() const = 0;␊ |
365 | };␊ |
366 | ␊ |
367 | class IDocCodeLine : public IDoc␊ |
368 | {␊ |
369 | public:␊ |
370 | virtual int lineNumber() const = 0;␊ |
371 | virtual const IString * refId() const = 0;␊ |
372 | virtual IDocIterator *codeElements() const = 0;␊ |
373 | };␊ |
374 | ␊ |
375 | class IDocHighlight : public IDoc␊ |
376 | {␊ |
377 | public:␊ |
378 | enum HighlightKind ␊ |
379 | { Invalid=0,␊ |
380 | Comment, Keyword, ␊ |
381 | KeywordType, KeywordFlow, CharLiteral, ␊ |
382 | StringLiteral, Preprocessor␊ |
383 | };␊ |
384 | virtual HighlightKind highlightKind() const = 0;␊ |
385 | virtual IDocIterator *codeElements() const = 0;␊ |
386 | };␊ |
387 | ␊ |
388 | class IDocFormula : public IDoc␊ |
389 | {␊ |
390 | public:␊ |
391 | virtual const IString * id() const = 0;␊ |
392 | virtual const IString * text() const = 0;␊ |
393 | };␊ |
394 | ␊ |
395 | class IDocImage : public IDoc␊ |
396 | {␊ |
397 | public:␊ |
398 | virtual const IString * name() const = 0;␊ |
399 | virtual const IString * caption() const = 0;␊ |
400 | };␊ |
401 | ␊ |
402 | class IDocDotFile : public IDoc␊ |
403 | {␊ |
404 | public:␊ |
405 | virtual const IString * name() const = 0;␊ |
406 | virtual const IString * caption() const = 0;␊ |
407 | };␊ |
408 | ␊ |
409 | class IDocIndexEntry : public IDoc␊ |
410 | {␊ |
411 | public:␊ |
412 | virtual const IString * primary() const = 0;␊ |
413 | virtual const IString * secondary() const = 0;␊ |
414 | };␊ |
415 | ␊ |
416 | class IDocTable : public IDoc␊ |
417 | {␊ |
418 | public:␊ |
419 | virtual IDocIterator *rows() const = 0;␊ |
420 | virtual int numColumns() const = 0;␊ |
421 | virtual const IString * caption() const = 0;␊ |
422 | };␊ |
423 | ␊ |
424 | class IDocRow : public IDoc␊ |
425 | {␊ |
426 | public:␊ |
427 | virtual IDocIterator *entries() const = 0;␊ |
428 | };␊ |
429 | ␊ |
430 | class IDocEntry : public IDoc␊ |
431 | {␊ |
432 | public:␊ |
433 | virtual IDocIterator *contents() const = 0;␊ |
434 | };␊ |
435 | ␊ |
436 | class IDocSection : public IDoc␊ |
437 | {␊ |
438 | public:␊ |
439 | virtual const IString * id() const = 0; ␊ |
440 | virtual int level() const = 0;␊ |
441 | virtual IDocTitle *title() const = 0;␊ |
442 | virtual IDocIterator *paragraphs() const = 0;␊ |
443 | virtual IDocIterator *subSections() const = 0;␊ |
444 | virtual IDocInternal *internal() const = 0;␊ |
445 | };␊ |
446 | ␊ |
447 | class IDocInternal : public IDoc␊ |
448 | {␊ |
449 | public:␊ |
450 | virtual IDocIterator *paragraphs() const = 0;␊ |
451 | virtual IDocIterator *subSections() const = 0;␊ |
452 | };␊ |
453 | ␊ |
454 | class IDocTocList : public IDoc␊ |
455 | {␊ |
456 | public:␊ |
457 | virtual IDocIterator *elements() const = 0;␊ |
458 | };␊ |
459 | ␊ |
460 | class IDocTocItem : public IDoc␊ |
461 | {␊ |
462 | public:␊ |
463 | virtual const IString *id() const = 0; ␊ |
464 | virtual const IString *title() const = 0;␊ |
465 | };␊ |
466 | ␊ |
467 | class IDocCopy : public IDoc␊ |
468 | {␊ |
469 | public:␊ |
470 | virtual IDocIterator *contents() const = 0; ␊ |
471 | };␊ |
472 | ␊ |
473 | class IDocVerbatim : public IDoc␊ |
474 | {␊ |
475 | public:␊ |
476 | enum Types { Invalid = 0, HtmlOnly, LatexOnly, Verbatim };␊ |
477 | virtual const IString *text() const = 0; ␊ |
478 | virtual Types type() const = 0;␊ |
479 | };␊ |
480 | ␊ |
481 | class IDocAnchor : public IDoc␊ |
482 | {␊ |
483 | public:␊ |
484 | virtual const IString *id() const = 0; ␊ |
485 | };␊ |
486 | ␊ |
487 | class IDocSymbol : public IDoc␊ |
488 | {␊ |
489 | public:␊ |
490 | enum Types ␊ |
491 | { Invalid = 0,␊ |
492 | Umlaut, Acute, Grave, Circ, Tilde, Szlig, Cedil, Ring, Nbsp, Copy␊ |
493 | };␊ |
494 | virtual Types type() const = 0;␊ |
495 | virtual const IString * typeString() const = 0;␊ |
496 | virtual char letter() const = 0;␊ |
497 | };␊ |
498 | ␊ |
499 | class IDocRoot : public IDoc␊ |
500 | {␊ |
501 | public:␊ |
502 | virtual IDocIterator *contents() const = 0; ␊ |
503 | virtual IDocInternal *internal() const = 0; ␊ |
504 | };␊ |
505 | ␊ |
506 | class IDocIterator ␊ |
507 | {␊ |
508 | public:␊ |
509 | VIRTUAL_DESTRUCTOR(IDocIterator)␊ |
510 | virtual IDoc *toFirst() = 0;␊ |
511 | virtual IDoc *toLast() = 0;␊ |
512 | virtual IDoc *toNext() = 0;␊ |
513 | virtual IDoc *toPrev() = 0;␊ |
514 | virtual IDoc *current() const = 0;␊ |
515 | virtual void release() = 0;␊ |
516 | };␊ |
517 | ␊ |
518 | class IEdgeLabel␊ |
519 | {␊ |
520 | public:␊ |
521 | VIRTUAL_DESTRUCTOR(IEdgeLabel)␊ |
522 | virtual const IString * label() const = 0;␊ |
523 | };␊ |
524 | ␊ |
525 | class IEdgeLabelIterator ␊ |
526 | {␊ |
527 | public:␊ |
528 | VIRTUAL_DESTRUCTOR(IEdgeLabelIterator)␊ |
529 | virtual IEdgeLabel *toFirst() = 0;␊ |
530 | virtual IEdgeLabel *toLast() = 0;␊ |
531 | virtual IEdgeLabel *toNext() = 0;␊ |
532 | virtual IEdgeLabel *toPrev() = 0;␊ |
533 | virtual IEdgeLabel *current() const = 0;␊ |
534 | virtual void release() = 0;␊ |
535 | };␊ |
536 | ␊ |
537 | class IChildNode␊ |
538 | {␊ |
539 | public:␊ |
540 | VIRTUAL_DESTRUCTOR(IChildNode)␊ |
541 | enum NodeRelation { PublicInheritance, ProtectedInheritance,␊ |
542 | PrivateInheritance, Usage, TemplateInstance␊ |
543 | };␊ |
544 | virtual INode * node() const = 0;␊ |
545 | virtual NodeRelation relation() const = 0;␊ |
546 | virtual const IString * relationString() const = 0;␊ |
547 | virtual IEdgeLabelIterator *edgeLabels() const = 0;␊ |
548 | };␊ |
549 | ␊ |
550 | class IChildNodeIterator ␊ |
551 | {␊ |
552 | public:␊ |
553 | VIRTUAL_DESTRUCTOR(IChildNodeIterator)␊ |
554 | virtual IChildNode *toFirst() = 0;␊ |
555 | virtual IChildNode *toLast() = 0;␊ |
556 | virtual IChildNode *toNext() = 0;␊ |
557 | virtual IChildNode *toPrev() = 0;␊ |
558 | virtual IChildNode *current() const = 0;␊ |
559 | virtual void release() = 0;␊ |
560 | };␊ |
561 | ␊ |
562 | class INode␊ |
563 | {␊ |
564 | public:␊ |
565 | VIRTUAL_DESTRUCTOR(INode)␊ |
566 | virtual const IString * id() const = 0;␊ |
567 | virtual const IString * label() const = 0;␊ |
568 | virtual const IString * linkId() const = 0;␊ |
569 | virtual IChildNodeIterator *children() const = 0;␊ |
570 | };␊ |
571 | ␊ |
572 | class INodeIterator ␊ |
573 | {␊ |
574 | public:␊ |
575 | VIRTUAL_DESTRUCTOR(INodeIterator)␊ |
576 | virtual INode *toFirst() = 0;␊ |
577 | virtual INode *toLast() = 0;␊ |
578 | virtual INode *toNext() = 0;␊ |
579 | virtual INode *toPrev() = 0;␊ |
580 | virtual INode *current() const = 0;␊ |
581 | virtual void release() = 0;␊ |
582 | };␊ |
583 | ␊ |
584 | class IGraph␊ |
585 | {␊ |
586 | public:␊ |
587 | VIRTUAL_DESTRUCTOR(IGraph)␊ |
588 | virtual INodeIterator *nodes() const = 0;␊ |
589 | };␊ |
590 | ␊ |
591 | class IMember ␊ |
592 | {␊ |
593 | public:␊ |
594 | VIRTUAL_DESTRUCTOR(IMember)␊ |
595 | enum MemberKind { Invalid=0,␊ |
596 | Define, Property, Variable, Typedef, Enum,␊ |
597 | Function, Signal, Prototype, Friend, DCOP, Slot, ␊ |
598 | EnumValue␊ |
599 | };␊ |
600 | virtual ICompound *compound() const = 0;␊ |
601 | virtual ISection *section() const = 0;␊ |
602 | virtual MemberKind kind() const = 0;␊ |
603 | virtual const IString * kindString() const = 0;␊ |
604 | virtual const IString * id() const = 0;␊ |
605 | virtual const IString * protection() const = 0;␊ |
606 | virtual const IString * virtualness() const = 0;␊ |
607 | virtual ILinkedTextIterator *type() const = 0;␊ |
608 | virtual const IString * typeString() const = 0;␊ |
609 | virtual const IString * name() const = 0;␊ |
610 | virtual const IString * readAccessor() const = 0;␊ |
611 | virtual const IString * writeAccessor() const = 0;␊ |
612 | virtual const IString * definition() const = 0;␊ |
613 | virtual const IString * argsstring() const = 0;␊ |
614 | virtual bool isConst() const = 0;␊ |
615 | virtual bool isVolatile() const = 0;␊ |
616 | virtual bool isStatic() const = 0;␊ |
617 | virtual bool isExplicit() const = 0;␊ |
618 | virtual bool isInline() const = 0;␊ |
619 | virtual bool isMutable() const = 0;␊ |
620 | virtual bool isReadable() const = 0;␊ |
621 | virtual bool isWritable() const = 0;␊ |
622 | virtual IParamIterator *parameters() const = 0;␊ |
623 | virtual IParamIterator *templateParameters() const = 0;␊ |
624 | virtual ILinkedTextIterator *initializer() const = 0;␊ |
625 | virtual ILinkedTextIterator *exceptions() const = 0;␊ |
626 | virtual IMemberReferenceIterator *references() const = 0; ␊ |
627 | virtual IMemberReferenceIterator *referencedBy() const = 0;␊ |
628 | virtual const IString *bodyFile() const = 0;␊ |
629 | virtual int bodyStart() const = 0;␊ |
630 | virtual int bodyEnd() const = 0;␊ |
631 | virtual const IString * definitionFile() const = 0;␊ |
632 | virtual int definitionLine() const = 0;␊ |
633 | virtual IMemberReference *reimplements() const = 0;␊ |
634 | virtual IMemberReferenceIterator *reimplementedBy() const = 0;␊ |
635 | virtual IDocRoot *briefDescription() const = 0;␊ |
636 | virtual IDocRoot *detailedDescription() const = 0;␊ |
637 | virtual IDocRoot *inbodyDescription() const = 0;␊ |
638 | };␊ |
639 | ␊ |
640 | class IDefine : public IMember␊ |
641 | {␊ |
642 | public:␊ |
643 | };␊ |
644 | ␊ |
645 | class IProperty : public IMember␊ |
646 | {␊ |
647 | public:␊ |
648 | };␊ |
649 | ␊ |
650 | class IVariable : public IMember␊ |
651 | {␊ |
652 | public:␊ |
653 | };␊ |
654 | ␊ |
655 | class ITypedef : public IMember␊ |
656 | {␊ |
657 | public:␊ |
658 | };␊ |
659 | ␊ |
660 | class IFunction : public IMember␊ |
661 | {␊ |
662 | public:␊ |
663 | };␊ |
664 | ␊ |
665 | class ISignal : public IMember␊ |
666 | {␊ |
667 | public:␊ |
668 | };␊ |
669 | ␊ |
670 | class IPrototype : public IMember␊ |
671 | {␊ |
672 | public:␊ |
673 | };␊ |
674 | ␊ |
675 | class IFriend : public IMember␊ |
676 | {␊ |
677 | public:␊ |
678 | };␊ |
679 | ␊ |
680 | class IDCOP : public IMember␊ |
681 | {␊ |
682 | public:␊ |
683 | };␊ |
684 | ␊ |
685 | class ISlot : public IMember␊ |
686 | {␊ |
687 | public:␊ |
688 | };␊ |
689 | ␊ |
690 | class IEnumValue : public IMember␊ |
691 | {␊ |
692 | public:␊ |
693 | virtual const IString * name() const = 0;␊ |
694 | };␊ |
695 | ␊ |
696 | /*! \brief Include relation␊ |
697 | */␊ |
698 | class IInclude ␊ |
699 | {␊ |
700 | public:␊ |
701 | VIRTUAL_DESTRUCTOR(IInclude)␊ |
702 | virtual const IString * name() const = 0;␊ |
703 | virtual const IString * refId() const = 0;␊ |
704 | virtual bool isLocal() const = 0;␊ |
705 | };␊ |
706 | ␊ |
707 | class IIncludeIterator␊ |
708 | {␊ |
709 | public:␊ |
710 | VIRTUAL_DESTRUCTOR(IIncludeIterator)␊ |
711 | virtual IInclude *toFirst() = 0;␊ |
712 | virtual IInclude *toLast() = 0;␊ |
713 | virtual IInclude *toNext() = 0;␊ |
714 | virtual IInclude *toPrev() = 0;␊ |
715 | virtual IInclude *current() const = 0;␊ |
716 | virtual void release() = 0;␊ |
717 | };␊ |
718 | ␊ |
719 | class IMemberIterator ␊ |
720 | {␊ |
721 | public:␊ |
722 | VIRTUAL_DESTRUCTOR(IMemberIterator)␊ |
723 | virtual IMember *toFirst() = 0;␊ |
724 | virtual IMember *toLast() = 0;␊ |
725 | virtual IMember *toNext() = 0;␊ |
726 | virtual IMember *toPrev() = 0;␊ |
727 | virtual IMember *current() const = 0;␊ |
728 | virtual void release() = 0;␊ |
729 | };␊ |
730 | ␊ |
731 | class IEnum : public IMember␊ |
732 | {␊ |
733 | public:␊ |
734 | virtual IMemberIterator *enumValues() const = 0;␊ |
735 | };␊ |
736 | ␊ |
737 | /*! \brief The interface to a section in the object model. ␊ |
738 | *␊ |
739 | * A compound can have a number of sections, where each␊ |
740 | * section contains a set of members with the properties implied by␊ |
741 | * the section kind. The kind() method returns the kind of the section.␊ |
742 | * The members of the section can be accessed via members(). Apart␊ |
743 | * from using kind(), some of the individual properties of the section can ␊ |
744 | * also be inspected via isStatic(), isPublic(), isProtected() and ␊ |
745 | * isPrivate().␊ |
746 | */␊ |
747 | class ISection ␊ |
748 | {␊ |
749 | public:␊ |
750 | VIRTUAL_DESTRUCTOR(ISection)␊ |
751 | /*! Possible section types */␊ |
752 | enum SectionKind ␊ |
753 | { Invalid=0,␊ |
754 | UserDefined, //!< A user defined member group ␊ |
755 | PubTypes, //!< Public member typedefs␊ |
756 | PubFuncs, //!< Public member functions␊ |
757 | PubAttribs, //!< Public member attributes ␊ |
758 | PubSlots, //!< Public Qt Slots␊ |
759 | Signals, //!< Qt Signals␊ |
760 | DCOPFuncs, //!< KDE-DCOP interface functions␊ |
761 | Properties, //!< IDL properties␊ |
762 | Events, //!< C# events␊ |
763 | PubStatFuncs, //!< Public static member functions␊ |
764 | PubStatAttribs, //!< Public static attributes␊ |
765 | ProTypes, //!< Protected member typedefs␊ |
766 | ProFuncs, //!< Protected member functions␊ |
767 | ProAttribs, //!< Protected member attributes␊ |
768 | ProSlots, //!< Protected slots␊ |
769 | ProStatFuncs, //!< Protected static member functions␊ |
770 | ProStatAttribs, //!< Protected static member attributes␊ |
771 | PacTypes, //!< Package member typedefs␊ |
772 | PacFuncs, //!< Package member functions␊ |
773 | PacAttribs, //!< Package member attributes␊ |
774 | PacStatFuncs, //!< Package static member functions␊ |
775 | PacStatAttribs, //!< Package static member attributes␊ |
776 | PriTypes, //!< Private member typedefs␊ |
777 | PriFuncs, //!< Private member functions␊ |
778 | PriAttribs, //!< Private member attributes␊ |
779 | PriSlots, //!< Private Qt slots␊ |
780 | PriStatFuncs, //!< Private static member functions␊ |
781 | PriStatAttribs, //!< Private static member attributes␊ |
782 | Friend, //!< Friends␊ |
783 | Related, //!< Function marked as related␊ |
784 | Defines, //!< Preprocessor defines␊ |
785 | Prototypes, //!< Global function prototypes␊ |
786 | Typedefs, //!< Global typedefs␊ |
787 | Enums, //!< Enumerations␊ |
788 | Functions, //!< Global functions␊ |
789 | Variables //!< Global variables␊ |
790 | };␊ |
791 | ␊ |
792 | /*! Returns a string representation of the value returned by kind() */␊ |
793 | virtual const IString * kindString() const = 0;␊ |
794 | ␊ |
795 | /*! Returns what kind of section this is */␊ |
796 | virtual SectionKind kind() const = 0;␊ |
797 | ␊ |
798 | /*! Returns the description attached to this section (for user defined␊ |
799 | * sections, also known as member groups).␊ |
800 | */␊ |
801 | virtual IDocRoot *description() const = 0;␊ |
802 | ␊ |
803 | /*! Returns an iterator for the members of this section */␊ |
804 | virtual IMemberIterator *members() const = 0;␊ |
805 | ␊ |
806 | /*! Returns \c true if this section contains statics */␊ |
807 | virtual bool isStatic() const = 0;␊ |
808 | ␊ |
809 | /*! Returns \c true if this section belongs to a ␊ |
810 | * public section of a class ␊ |
811 | */␊ |
812 | virtual bool isPublic() const = 0;␊ |
813 | ␊ |
814 | /*! Returns \c true if this section belongs to a ␊ |
815 | * private section of a class ␊ |
816 | */␊ |
817 | virtual bool isPrivate() const = 0;␊ |
818 | ␊ |
819 | /*! Returns \c true if this section belongs to a ␊ |
820 | * protected section of a class ␊ |
821 | * */␊ |
822 | virtual bool isProtected() const = 0;␊ |
823 | };␊ |
824 | ␊ |
825 | class IUserDefined : public ISection␊ |
826 | {␊ |
827 | public:␊ |
828 | virtual const IString * header() const = 0;␊ |
829 | };␊ |
830 | ␊ |
831 | class ISectionIterator ␊ |
832 | {␊ |
833 | public:␊ |
834 | VIRTUAL_DESTRUCTOR(ISectionIterator)␊ |
835 | virtual ISection *toFirst() = 0;␊ |
836 | virtual ISection *toLast() = 0;␊ |
837 | virtual ISection *toNext() = 0;␊ |
838 | virtual ISection *toPrev() = 0;␊ |
839 | virtual ISection *current() const = 0;␊ |
840 | virtual void release() = 0;␊ |
841 | };␊ |
842 | ␊ |
843 | /*! \brief The interface to a compound in the object model. ␊ |
844 | *␊ |
845 | * A compound has a name which can be obtained via the name() method ␊ |
846 | * and a unique id, which is return via the id() method.␊ |
847 | * A compound consists zero or more members which are grouped into sections. ␊ |
848 | * The sections() method can be used to access the individual sections. ␊ |
849 | * Alternatively, members can be obtained by name or id. There are ␊ |
850 | * different types of compounds. The kind() method returns what kind of ␊ |
851 | * compound this is. Depending on the return value one can dynamically ␊ |
852 | * cast an interface pointer to an more specialised interface that provides ␊ |
853 | * additional methods.␊ |
854 | * Example:␊ |
855 | * \code␊ |
856 | * ICompound *comp=...;␊ |
857 | * if (comp->kind()==ICompound::Class)␊ |
858 | * {␊ |
859 | * IClass *cls = dynamic_cast<IClass*>(comp);␊ |
860 | * // use methods of IClass␊ |
861 | * }␊ |
862 | * \endcode␊ |
863 | * The documentation that is provided by a compound is available via␊ |
864 | * the briefDescription() and detailedDescription() methods.␊ |
865 | * To avoid excessive memory usage, release() should be called (once) on each ␊ |
866 | * compound interface pointer that is no longer needed.␊ |
867 | */␊ |
868 | class ICompound ␊ |
869 | {␊ |
870 | public:␊ |
871 | VIRTUAL_DESTRUCTOR(ICompound)␊ |
872 | /*! Represents the kind of compounds recognised by doxygen. */␊ |
873 | enum CompoundKind { Invalid=0,␊ |
874 | Class, Struct, Union, Interface, Protocol, Category,␊ |
875 | Exception, File, Namespace, Group, Page, Example, Dir␊ |
876 | };␊ |
877 | ␊ |
878 | /*! Returns the name of this compound */␊ |
879 | virtual const IString * name() const = 0;␊ |
880 | ␊ |
881 | /*! Returns the id of this compound. The id is a␊ |
882 | * unique string representing a specific compound object.␊ |
883 | */␊ |
884 | virtual const IString * id() const = 0;␊ |
885 | ␊ |
886 | /*! Returns the kind of compound. See #CompoundKind for possible␊ |
887 | * values.␊ |
888 | */␊ |
889 | virtual CompoundKind kind() const = 0;␊ |
890 | ␊ |
891 | /*! Returns a string representation of the compound kind.␊ |
892 | * @see kind()␊ |
893 | */␊ |
894 | virtual const IString * kindString() const = 0;␊ |
895 | ␊ |
896 | /*! Returns an iterator for the different member sections in this␊ |
897 | * compound.␊ |
898 | */␊ |
899 | virtual ISectionIterator *sections() const = 0;␊ |
900 | ␊ |
901 | /*! Returns a tree-structured representation of the brief␊ |
902 | * description that is attached to this compound.␊ |
903 | */␊ |
904 | virtual IDocRoot *briefDescription() const = 0;␊ |
905 | ␊ |
906 | /*! Returns a tree-structured representation of the detailed␊ |
907 | * description that is attached to this compound.␊ |
908 | */␊ |
909 | virtual IDocRoot *detailedDescription() const = 0;␊ |
910 | ␊ |
911 | /*! Returns an interface to a member given its id. ␊ |
912 | * @param id The member id.␊ |
913 | */␊ |
914 | virtual IMember *memberById(const char * id) const = 0;␊ |
915 | ␊ |
916 | /*! Returns a list of all members within the compound having a certain ␊ |
917 | * name. Member overloading is the reason why there can be more than ␊ |
918 | * one member. ␊ |
919 | * @param name The name of the member.␊ |
920 | */␊ |
921 | virtual IMemberIterator *memberByName(const char * name) const = 0;␊ |
922 | ␊ |
923 | /*! Decreases the reference counter for this compound. If it reaches␊ |
924 | * zero, the memory for the compound will be released.␊ |
925 | */␊ |
926 | virtual void release() = 0;␊ |
927 | };␊ |
928 | ␊ |
929 | class ICompoundIterator ␊ |
930 | {␊ |
931 | public:␊ |
932 | VIRTUAL_DESTRUCTOR(ICompoundIterator)␊ |
933 | virtual void toFirst() = 0;␊ |
934 | virtual void toLast() = 0;␊ |
935 | virtual void toNext() = 0;␊ |
936 | virtual void toPrev() = 0;␊ |
937 | virtual ICompound *current() const = 0;␊ |
938 | virtual void release() = 0;␊ |
939 | };␊ |
940 | ␊ |
941 | class IRelatedCompound␊ |
942 | {␊ |
943 | public:␊ |
944 | VIRTUAL_DESTRUCTOR(IRelatedCompound)␊ |
945 | enum Protection { Public, Protected, Private };␊ |
946 | enum Kind { Normal, Virtual };␊ |
947 | virtual ICompound *compound() const = 0;␊ |
948 | virtual Protection protection() const = 0;␊ |
949 | virtual Kind kind() const = 0;␊ |
950 | virtual const IString *name() const = 0;␊ |
951 | ␊ |
952 | };␊ |
953 | ␊ |
954 | class IRelatedCompoundIterator ␊ |
955 | {␊ |
956 | public:␊ |
957 | VIRTUAL_DESTRUCTOR(IRelatedCompoundIterator)␊ |
958 | virtual IRelatedCompound *toFirst() = 0;␊ |
959 | virtual IRelatedCompound *toLast() = 0;␊ |
960 | virtual IRelatedCompound *toNext() = 0;␊ |
961 | virtual IRelatedCompound *toPrev() = 0;␊ |
962 | virtual IRelatedCompound *current() const = 0;␊ |
963 | virtual void release() = 0;␊ |
964 | };␊ |
965 | ␊ |
966 | /*! \brief The interface to a class in the object model. ␊ |
967 | */␊ |
968 | class IClass : public ICompound␊ |
969 | {␊ |
970 | public:␊ |
971 | virtual IGraph *inheritanceGraph() const = 0;␊ |
972 | virtual IGraph *collaborationGraph() const = 0;␊ |
973 | virtual IRelatedCompoundIterator *baseCompounds() const = 0;␊ |
974 | virtual IRelatedCompoundIterator *derivedCompounds() const = 0;␊ |
975 | virtual ICompoundIterator *nestedCompounds() const = 0;␊ |
976 | virtual IParamIterator *templateParameters() const = 0;␊ |
977 | virtual const IString *locationFile() const = 0;␊ |
978 | virtual int locationLine() const = 0;␊ |
979 | virtual const IString *locationBodyFile() const = 0;␊ |
980 | virtual int locationBodyStartLine() const = 0;␊ |
981 | virtual int locationBodyEndLine() const = 0;␊ |
982 | ␊ |
983 | // TODO:␊ |
984 | // class:␊ |
985 | // listOfAllMembers()␊ |
986 | // protection()␊ |
987 | // isAbstract()␊ |
988 | };␊ |
989 | ␊ |
990 | /*! \brief The interface to a struct in the object model. ␊ |
991 | */␊ |
992 | class IStruct : public ICompound␊ |
993 | {␊ |
994 | public:␊ |
995 | virtual ICompoundIterator *nestedCompounds() const = 0;␊ |
996 | virtual IRelatedCompoundIterator *baseCompounds() const = 0;␊ |
997 | virtual IRelatedCompoundIterator *derivedCompounds() const = 0;␊ |
998 | virtual const IString *locationFile() const = 0;␊ |
999 | virtual int locationLine() const = 0;␊ |
1000 | virtual int locationBodyStartLine() const = 0;␊ |
1001 | virtual int locationBodyEndLine() const = 0;␊ |
1002 | };␊ |
1003 | ␊ |
1004 | /*! \brief The interface to a union in the object model. ␊ |
1005 | */␊ |
1006 | class IUnion : public ICompound␊ |
1007 | {␊ |
1008 | public:␊ |
1009 | virtual ICompoundIterator *nestedCompounds() const = 0;␊ |
1010 | };␊ |
1011 | ␊ |
1012 | /*! \brief The interface to a Java/IDL interface in the object model. ␊ |
1013 | */␊ |
1014 | class IInterface : public ICompound␊ |
1015 | {␊ |
1016 | public:␊ |
1017 | virtual IRelatedCompoundIterator *baseCompounds() const = 0;␊ |
1018 | virtual IRelatedCompoundIterator *derivedCompounds() const = 0;␊ |
1019 | };␊ |
1020 | ␊ |
1021 | ␊ |
1022 | /*! \brief The interface to a Java/IDL exception in the object model. ␊ |
1023 | */␊ |
1024 | class IException : public ICompound␊ |
1025 | {␊ |
1026 | };␊ |
1027 | ␊ |
1028 | /*! \brief The interface to a namespace in the object model. ␊ |
1029 | */␊ |
1030 | class INamespace : public ICompound␊ |
1031 | {␊ |
1032 | public:␊ |
1033 | virtual ICompoundIterator *nestedCompounds() const = 0;␊ |
1034 | };␊ |
1035 | ␊ |
1036 | /*! \brief The interface to a file in the object model. ␊ |
1037 | */␊ |
1038 | class IFile : public ICompound␊ |
1039 | {␊ |
1040 | public:␊ |
1041 | virtual IGraph *includeDependencyGraph() const = 0;␊ |
1042 | virtual IGraph *includedByDependencyGraph() const = 0;␊ |
1043 | virtual IDocProgramListing *source() const = 0;␊ |
1044 | virtual ICompoundIterator *nestedCompounds() const = 0;␊ |
1045 | ␊ |
1046 | virtual IIncludeIterator *includes() const = 0;␊ |
1047 | virtual IIncludeIterator *includedBy() const = 0;␊ |
1048 | ␊ |
1049 | // ICompound *innerNamespaces()␊ |
1050 | // ICompoundIterator *innerClasses()␊ |
1051 | };␊ |
1052 | ␊ |
1053 | /*! \brief The interface to a group in the object model. ␊ |
1054 | */␊ |
1055 | class IGroup : public ICompound␊ |
1056 | {␊ |
1057 | public:␊ |
1058 | virtual ICompoundIterator *nestedCompounds() const = 0;␊ |
1059 | // group:␊ |
1060 | // Title()␊ |
1061 | // innerFile()␊ |
1062 | // innerPage()␊ |
1063 | };␊ |
1064 | ␊ |
1065 | /*! \brief The interface to a page in the object model. ␊ |
1066 | */␊ |
1067 | class IPage : public ICompound␊ |
1068 | {␊ |
1069 | public:␊ |
1070 | virtual const IDocTitle *title() const = 0;␊ |
1071 | };␊ |
1072 | ␊ |
1073 | /*! Root node of the object model. */␊ |
1074 | class IDoxygen ␊ |
1075 | {␊ |
1076 | public:␊ |
1077 | VIRTUAL_DESTRUCTOR(IDoxygen)␊ |
1078 | ␊ |
1079 | /*! Returns an iterator that can be used to iterate over the list␊ |
1080 | * of compounds found in the project.␊ |
1081 | */␊ |
1082 | virtual ICompoundIterator *compounds() const = 0;␊ |
1083 | ␊ |
1084 | /*! Returns a compound given its unique \a id. If you have a␊ |
1085 | * compound id this function is much more efficient than iterating␊ |
1086 | * over the compound list. Returns 0 if the id is not valid.␊ |
1087 | */␊ |
1088 | virtual ICompound *compoundById(const char * id) const = 0;␊ |
1089 | ␊ |
1090 | /*! Returns a compound given its name (including the scope). ␊ |
1091 | * Returns 0 if the name is not found in the project.␊ |
1092 | */␊ |
1093 | virtual ICompound *compoundByName(const char * name) const = 0;␊ |
1094 | ␊ |
1095 | /*! Returns an interface to a compound containing a member given it the␊ |
1096 | * member's id. Given the ICompound interface one can use the same id␊ |
1097 | * to obtain the IMember interface.␊ |
1098 | * @param id The member id.␊ |
1099 | */␊ |
1100 | virtual ICompound *memberById(const char * id) const = 0;␊ |
1101 | ␊ |
1102 | /*! Returns a list of all compounds containing at least one members ␊ |
1103 | * with a certain name. Each compound can be asked to return the␊ |
1104 | * list of members with that name.␊ |
1105 | * @param name The name of the member.␊ |
1106 | */␊ |
1107 | virtual ICompoundIterator *memberByName(const char * name) const = 0;␊ |
1108 | ␊ |
1109 | /*! Releases the memory for the object hierarchy obtained by ␊ |
1110 | * createdObjecModelFromXML(). First release all iterators before calling␊ |
1111 | * this function.␊ |
1112 | */␊ |
1113 | virtual void release() = 0;␊ |
1114 | ␊ |
1115 | /*! Sets the debug level.␊ |
1116 | * - 0 all debugging messages are disabled (the default).␊ |
1117 | * - 1 display important messages only␊ |
1118 | * - 2 display any messages.␊ |
1119 | */␊ |
1120 | virtual void setDebugLevel(int level) = 0;␊ |
1121 | ␊ |
1122 | /*! Reads an XML directory produced by doxygen and builds up a data ␊ |
1123 | * structure representing the contents of the XML files in the directory. ␊ |
1124 | */␊ |
1125 | virtual bool readXMLDir(const char *xmlDirName) = 0;␊ |
1126 | };␊ |
1127 | ␊ |
1128 | /*! Factory method that creates an empty object model for a doxygen generated XML file.␊ |
1129 | * Use the readXMLDir() method to build the model from an XML output ␊ |
1130 | * directory containing doxygen output.␊ |
1131 | */␊ |
1132 | IDoxygen *createObjectModel();␊ |
1133 | ␊ |
1134 | #endif␊ |
1135 |