CMS 3D CMS Logo

IgFileFetcher.h

Go to the documentation of this file.
00001 #ifndef STUDIO_IG_FILE_FETCHER_H
00002 # define STUDIO_IG_FILE_FETCHER_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "Iguana/Studio/interface/config.h"
00007 # include "Iguana/Framework/interface/IgStateElement.h"
00008 # include <string>
00009 # include <map>
00010 
00011 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00012 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00013 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00014 
00015 class IgFileProxy;
00016 
00017 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00018 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00019 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00020 
00021 class IGUANA_STUDIO_API IgFileFetcher: public IgStateElement
00022 {
00023     IG_DECLARE_STATE_ELEMENT (IgFileFetcher);
00024 public:
00025     IgFileFetcher (IgState *state);
00026     // implicit copy constructor
00027     // implicit assignment operator
00028     // implicit destructor
00029     ~IgFileFetcher (void);
00030     
00031     std::string         fetch (const std::string &file);
00032 
00033 private:
00034     typedef std::map<std::string, IgFileProxy *> ProxyTable;
00035     IgFileProxy *       getProxy (const std::string& protocol);
00036     
00037     IgState             *m_state;
00038     ProxyTable          m_proxies;
00039 };
00040 
00041 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00042 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00043 
00044 #endif // STUDIO_IG_FILE_FETCHER_H

Generated on Tue Jun 9 17:38:48 2009 for CMSSW by  doxygen 1.5.4