CMS 3D CMS Logo

IgPluginInfo.h

Go to the documentation of this file.
00001 #ifndef IGUANA_FRAMEWORK_IG_PLUGIN_DB_ITEM_H
00002 # define IGUANA_FRAMEWORK_IG_PLUGIN_DB_ITEM_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "Iguana/Framework/interface/config.h"
00007 # include <string>
00008 
00009 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00010 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00011 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00012 
00013 class IgModule;
00014 class IgModuleDescriptor;
00015 
00016 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00017 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00018 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00019 
00044 class IgPluginInfo
00045 {
00046 public:
00047     // FIXME: Derived class must provide...
00048     IgPluginInfo (IgModule *module,
00049                   const std::string &name,
00050                   const std::string &category);
00051     virtual ~IgPluginInfo (void);
00052 
00053     IgModule *          module (void) const;
00054     const std::string & name (void) const;
00055     const std::string & category (void) const;
00056 
00057     virtual void        cache (IgModuleDescriptor *to) const;
00058     virtual void        detach (void);
00059 
00060 protected:
00061     void                finish (bool needCache);
00062     void                noFactory (void) const;
00063 
00064 private:
00065     IgModule            *m_module;      //< Provider module.
00066     std::string         m_name;         //< Object name.
00067     const std::string   &m_category;    //< Cache category label.
00068 };
00069 
00070 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00071 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00072 
00073 #endif // IGUANA_FRAMEWORK_IG_PLUGIN_DB_ITEM_H

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