#ifndef ROOT_TDocInfo
#define ROOT_TDocInfo
#ifndef ROOT_THashList
#include "THashList.h"
#endif
#ifndef ROOT_TClassRef
#include "TClassRef.h"
#endif
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
#include <string>
#include <set>
class TClass;
class TModuleDocInfo;
class TClassDocInfo: public TObject {
public:
   
   TClassDocInfo(TClass* cl,
      const char* htmlfilename = "",
      const char* fsdecl = "", const char* fsimpl = "",
      const char* decl = 0, const char* impl = 0): 
      fClass(cl), fModule(0), fHtmlFileName(htmlfilename),
      fDeclFileName(decl ? decl : cl->GetDeclFileName()),
      fImplFileName(impl ? impl : cl->GetImplFileName()),
      fDeclFileSysName(fsdecl), fImplFileSysName(fsimpl),
      fSelected(kTRUE) { }
   virtual ~TClassDocInfo() {}
           TClass*         GetClass() const { return fClass; }
   virtual const char*     GetName() const;
           const char*     GetHtmlFileName() const { return fHtmlFileName; }
           const char*     GetDeclFileName() const { return fDeclFileName; }
           const char*     GetImplFileName() const { return fImplFileName; }
           const char*     GetDeclFileSysName() const { return fDeclFileSysName; }
           const char*     GetImplFileSysName() const { return fImplFileSysName; }
           void            SetModule(TModuleDocInfo* module) { fModule = module; }
           TModuleDocInfo* GetModule() const { return fModule; }
           void            SetSelected(Bool_t sel = kTRUE) { fSelected = sel; }
           Bool_t          IsSelected() const { return fSelected; }
           Bool_t          HaveSource() const { return fDeclFileSysName.Length(); }
   
           void            SetHtmlFileName(const char* name) { fHtmlFileName = name; }
           void            SetDeclFileName(const char* name) { fDeclFileName = name; }
           void            SetImplFileName(const char* name) { fImplFileName = name; }
           void            SetDeclFileSysName(const char* fsname) { fDeclFileSysName = fsname; }
           void            SetImplFileSysName(const char* fsname) { fImplFileSysName = fsname; }
           ULong_t         Hash() const;
   virtual Bool_t          IsSortable() const { return kTRUE; }
   virtual Int_t           Compare(const TObject* obj) const;
private:
   TClassDocInfo();
   TClassRef               fClass; 
   TModuleDocInfo*         fModule; 
   TString                 fHtmlFileName; 
   TString                 fDeclFileName; 
   TString                 fImplFileName; 
   TString                 fDeclFileSysName; 
   TString                 fImplFileSysName; 
   Bool_t                  fSelected; 
   ClassDef(TClassDocInfo,0); 
};
class TModuleDocInfo: public TNamed {
public:
   TModuleDocInfo(const char* name, TModuleDocInfo* super, const char* doc = ""): 
      TNamed(name, doc), fSuper(super), fSub(0), fSelected(kTRUE) {
         if (super) super->GetSub().Add(this);
      }
   virtual ~TModuleDocInfo() {}
   void        SetDoc(const char* doc) { SetTitle(doc); }
   const char* GetDoc() const { return GetTitle(); }
   void        SetSelected(Bool_t sel = kTRUE) { fSelected = sel; }
   Bool_t      IsSelected() const { return fSelected; }
   void        AddClass(TClassDocInfo* cl) { fClasses.Add(cl); }
   TList*      GetClasses() { return &fClasses; }
   TModuleDocInfo* GetSuper() const { return fSuper; }
   THashList&  GetSub() { return fSub; }
private:
   TModuleDocInfo* fSuper; 
   THashList   fSub; 
   TList       fClasses;
   Bool_t      fSelected; 
   ClassDef(TModuleDocInfo,0); 
};
class TLibraryDocInfo: public TNamed {
 public:
   TLibraryDocInfo() {}
   TLibraryDocInfo(const char* lib): TNamed(lib, "") {}
   std::set<std::string>& GetDependencies() {return fDependencies;}
   std::set<std::string>& GetModules() {return fModules;}
   void AddDependency(const std::string& lib) {fDependencies.insert(lib);}
   void AddModule(const std::string& module) {fModules.insert(module);}
 private:
   std::set<std::string> fDependencies; 
   std::set<std::string> fModules; 
   ClassDef(TLibraryDocInfo,0); 
};
#endif // ROOT_TDocInfo
Last change: Tue May 13 17:19:53 2008
Last generated: 2008-05-13 17:19
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.