#ifndef ROOT_TGMimeTypes #define ROOT_TGMimeTypes //+SEQ,CopyRight,T=NOINCLUDE. ////////////////////////////////////////////////////////////////////////// // // // TGMimeTypes and TGMime // // // // This class handles mime types, used by browsers to map file types // // to applications and icons. TGMime is internally used by TGMimeTypes. // // // ////////////////////////////////////////////////////////////////////////// #ifndef ROOT_TGClient //*KEEP,TGClient. #include "TGClient.h" //*KEND. #endif #ifndef ROOT_TGPicture //*KEEP,TGPicture. #include "TGPicture.h" //*KEND. #endif class TOrdCollection; class TRegexp; class TGMime : public TObject { friend class TGMimeTypes; private: TString fType; // mime type TString fPattern; // filename pattern TString fAction; // associated action TString fIcon; // associated icon (32x32) TString fSIcon; // associated small icon (16x16) TRegexp *fReg; // pattern regular expression public: ~TGMime(); }; class TGMimeTypes : public TObject { protected: TGClient *fClient; // client to which mime types belong (display server) TString fFilename; // file name of mime type file Bool_t fChanged; // true if file has changed TOrdCollection *fList; // list of mime types TGMime *Find(const char *filename); public: TGMimeTypes(TGClient *client, const char *file); virtual ~TGMimeTypes(); void SaveMimes(); Bool_t HasChanged() const { return fChanged; } void AddType(const char *type, const char *pat, const char *icon, const char *sicon, const char *action); void Print(Option_t *option=""); Bool_t GetAction(const char *filename, char *action); Bool_t GetType(const char *filename, char *type); const TGPicture *GetIcon(const char *filename, Bool_t small_icon); ClassDef(TGMimeTypes,0) // Pool of mime type objects }; #endif