/* * BaseIURecordMaker.hh * * Created on: February 18, 2014 * Author: Hovanes Egiyan */ #ifndef _BASEIURECORDMAKER_HH_ #define _BASEIURECORDMAKER_HH_ /************/ /* Includes */ /************/ #include #include #include #include #include #include /* EPICS includes */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #include "BaseIUVirtBus.hh" #include "BaseIUMgr.hh" //! This class is to make EPICS records based on the content //! read from the busses. class BaseIURecordMaker { protected: BaseIURecordMaker(); //! Default constructor is protected BaseIURecordMaker(const BaseIURecordMaker& inst); //! Copy constructor is protected BaseIURecordMaker& operator=(const BaseIURecordMaker& inst); //! Assignment operator is protected private: public: static string brmDirDB; //! Directory where DB file templates located static string brmCfgFileNameDB; //! DB file name for EPICS records referring to configuration of the bus static string brmBaseFileNameDB; //! DB file name for EPICS records referring to bases static string brmChassisFileNameDB; //! DB file name for EPICS records referring to chassis static map brmMbbPrefixMap; //! Map to keep mbbi/mbbo string number assignment for buses static vector brmMbbPrefixVec; //! Vector to keep track of insertion order for dmMbbPrefixVec static map brmBoardFileNameMap; //! Map to map the board type names to DB file names //! Make EPICS records for a CAN bus using connection number static void LoadRecords( const string prefix, const string crateName, string busName ); static void LoadRecords( const string prefix, const string portName ); static void LoadBusRecords(const string prefix, BaseIUVirtBus* bus); static void LoadBaseRecords(const string prefix, BaseIUVirtBus* bus); }; #endif /* _BASEIURECORDMAKER_HH_ */