00001 // Copyright (c) 2004, Thomas Lochmatter, thl@lothosoft.ch 00002 00003 #ifndef classMipManager 00004 #define classMipManager 00005 00006 class MipManager; 00007 00008 #include <string> 00009 #include "MipBus.h" 00010 #include "MipDevice.h" 00011 #include "MipLogInterface.h" 00012 #include "IOInterfaceList.h" 00013 #include "EventInterfaceList.h" 00014 00016 00034 class MipManager { 00035 00036 private: 00038 static const int mMipBusMax=8; 00040 MipBus *mMipBus[mMipBusMax]; 00041 00043 IOInterfaceList *mIOInterfaceList; 00045 EventInterfaceList *mEventInterfaceList; 00046 00048 MipLogInterface *mMipLogInterface; 00049 00050 public: 00052 MipManager(IOInterfaceList *iolist=0, EventInterfaceList *evlist=0); 00054 ~MipManager(); 00055 00057 void SetLogInterface(MipLogInterface *miplog); 00059 MipLogInterface *GetLogInterface() {return mMipLogInterface;} 00061 IOInterfaceList *GetIOInterfaceList() {return mIOInterfaceList;} 00063 EventInterfaceList *GetEventInterfaceList() {return mEventInterfaceList;} 00064 00066 MipBus *FindMipBus(const std::string &device); 00067 00069 int GetMipBusMax() {return mMipBusMax;} 00071 MipBus *GetMipBus(int i) {return mMipBus[i];} 00072 00074 void Report(const std::string &name, std::ostream &out, int ccindent=0) const; 00075 }; 00076 00077 #endif