diff options
Diffstat (limited to 'src/context.h')
-rw-r--r-- | src/context.h | 172 |
1 files changed, 171 insertions, 1 deletions
diff --git a/src/context.h b/src/context.h index cb20313..77a3a95 100644 --- a/src/context.h +++ b/src/context.h @@ -52,7 +52,10 @@ class MemberGroup; class MemberGroupSDict; class MemberGroupList; class DotNode; -class DotGfxHierarchyTable; +class DotGfxHierarchyTable; +struct SearchIndexInfo; +class SearchIndexList; +class SearchDefinitionList; //---------------------------------------------------- @@ -1154,6 +1157,173 @@ class ArgumentListContext : public RefCountedContext, public TemplateListIntf //---------------------------------------------------- +class SymbolContext : public RefCountedContext, public TemplateStructIntf +{ + public: + static SymbolContext *alloc(const Definition *def,const Definition *prev,const Definition *next) + { return new SymbolContext(def,prev,next); } + + // TemplateStructIntf methods + virtual TemplateVariant get(const char *name) const; + virtual int addRef() { return RefCountedContext::addRef(); } + virtual int release() { return RefCountedContext::release(); } + + private: + SymbolContext(const Definition *def,const Definition *prev,const Definition *next); + ~SymbolContext(); + class Private; + Private *p; +}; + +//---------------------------------------------------- + +class SymbolListContext : public RefCountedContext, public TemplateListIntf +{ + public: + static SymbolListContext *alloc(const SearchDefinitionList *sdl) + { return new SymbolListContext(sdl); } + + // TemplateListIntf + virtual int count() const; + virtual TemplateVariant at(int index) const; + virtual TemplateListIntf::ConstIterator *createIterator() const; + virtual int addRef() { return RefCountedContext::addRef(); } + virtual int release() { return RefCountedContext::release(); } + + private: + SymbolListContext(const SearchDefinitionList *sdl); + ~SymbolListContext(); + class Private; + Private *p; +}; + +//---------------------------------------------------- + +class SymbolGroupContext : public RefCountedContext, public TemplateStructIntf +{ + public: + static SymbolGroupContext *alloc(const SearchDefinitionList *sdl) + { return new SymbolGroupContext(sdl); } + + // TemplateStructIntf methods + virtual TemplateVariant get(const char *name) const; + virtual int addRef() { return RefCountedContext::addRef(); } + virtual int release() { return RefCountedContext::release(); } + + private: + SymbolGroupContext(const SearchDefinitionList *sdl); + ~SymbolGroupContext(); + class Private; + Private *p; +}; + +//---------------------------------------------------- + +class SymbolGroupListContext : public RefCountedContext, public TemplateListIntf +{ + public: + static SymbolGroupListContext *alloc(const SearchIndexList *sil) + { return new SymbolGroupListContext(sil); } + + // TemplateListIntf + virtual int count() const; + virtual TemplateVariant at(int index) const; + virtual TemplateListIntf::ConstIterator *createIterator() const; + virtual int addRef() { return RefCountedContext::addRef(); } + virtual int release() { return RefCountedContext::release(); } + + private: + SymbolGroupListContext(const SearchIndexList *sil); + ~SymbolGroupListContext(); + class Private; + Private *p; +}; + +//---------------------------------------------------- + +class SymbolIndexContext : public RefCountedContext, public TemplateStructIntf +{ + public: + static SymbolIndexContext *alloc(const SearchIndexList *sl,const QCString &name) + { return new SymbolIndexContext(sl,name); } + + // TemplateStructIntf methods + virtual TemplateVariant get(const char *name) const; + virtual int addRef() { return RefCountedContext::addRef(); } + virtual int release() { return RefCountedContext::release(); } + + private: + SymbolIndexContext(const SearchIndexList *sl,const QCString &name); + ~SymbolIndexContext(); + class Private; + Private *p; +}; + +//---------------------------------------------------- + +class SymbolIndicesContext : public RefCountedContext, public TemplateListIntf +{ + public: + static SymbolIndicesContext *alloc(const SearchIndexInfo *info) + { return new SymbolIndicesContext(info); } + + // TemplateListIntf + virtual int count() const; + virtual TemplateVariant at(int index) const; + virtual TemplateListIntf::ConstIterator *createIterator() const; + virtual int addRef() { return RefCountedContext::addRef(); } + virtual int release() { return RefCountedContext::release(); } + + private: + SymbolIndicesContext(const SearchIndexInfo *info); + ~SymbolIndicesContext(); + class Private; + Private *p; +}; + +//---------------------------------------------------- + +class SearchIndexContext : public RefCountedContext, public TemplateStructIntf +{ + public: + static SearchIndexContext *alloc(const SearchIndexInfo *info) + { return new SearchIndexContext(info); } + + // TemplateStructIntf methods + virtual TemplateVariant get(const char *name) const; + virtual int addRef() { return RefCountedContext::addRef(); } + virtual int release() { return RefCountedContext::release(); } + + private: + SearchIndexContext(const SearchIndexInfo *info); + ~SearchIndexContext(); + class Private; + Private *p; +}; + +//---------------------------------------------------- + +class SearchIndicesContext : public RefCountedContext, public TemplateListIntf +{ + public: + static SearchIndicesContext *alloc() { return new SearchIndicesContext; } + + // TemplateListIntf + virtual int count() const; + virtual TemplateVariant at(int index) const; + virtual TemplateListIntf::ConstIterator *createIterator() const; + virtual int addRef() { return RefCountedContext::addRef(); } + virtual int release() { return RefCountedContext::release(); } + + private: + SearchIndicesContext(); + ~SearchIndicesContext(); + class Private; + Private *p; +}; + +//---------------------------------------------------- + void generateOutputViaTemplate(); #endif |