Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

DisplayManager.h

00001 #ifndef SCTDATADISPLAY_DISPLAYMANAGER_H
00002 #define SCTDATADISPLAY_DISPLAYMANAGER_H
00003 
00004 #include <boost/shared_ptr.hpp>
00005 #include <map>
00006 #include <string>
00007 #include <vector>
00008 
00009 using std::map;
00010 using std::vector;
00011 using std::string;
00012 using boost::shared_ptr;
00013 
00014 namespace Sct {
00015     class Serializable;
00016 }
00017 
00018 namespace SctDataDisplay {
00019     
00020 class Displayer;
00021 class GenericDisplayer;
00022 class DisplayInfo;
00023 class DisplayData;
00024  
00029 class DisplayManager {
00030 public:
00034     static DisplayManager& instance();
00035     
00040     static bool addToMap(string className, shared_ptr<Displayer> displayer);
00041     
00046     static shared_ptr<DisplayData> display(shared_ptr<const Sct::Serializable> ob, const DisplayInfo& info, std::ostream& os);
00047     
00048 
00054     static bool addGeneric(shared_ptr<GenericDisplayer> generic);
00055     
00059     static bool batchMode();
00063     static void setBatchMode(bool b=true);
00067     static void OutputCanvases();
00068 private:
00069     DisplayManager();
00070     map<string, shared_ptr<Displayer> > displayerMap;
00071     vector<shared_ptr<GenericDisplayer> > genericList;
00072     bool m_batchMode;
00073 };
00074 
00075 }
00076 
00077 #endif //SCTDATADISPLAY_DISPLAYMANAGER_H

Generated on Thu Jul 15 09:50:45 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5