00001
00002
00003
00004
00005
00006
00007
00008 #include "otsdaq-core/ConfigurationDataFormats/RegisterView.h"
00009
00010 using namespace ots;
00011
00012 RegisterView::RegisterView(std::string name):
00013 name_ (name),
00014 version_(-1),
00015 comment_(""),
00016 author_ (""),
00017 creationTime_ (time(0))
00018 {}
00019
00020 RegisterView::~RegisterView() {
00021
00022 }
00023
00024 unsigned int RegisterView::findRow(unsigned int col, const std::string value) const
00025 {
00026 for(unsigned int row=0; row<theDataView_.size(); row++)
00027 {
00028 if(theDataView_[row][col] == value)
00029 return row;
00030 }
00031
00032 assert(0);
00033 return 0;
00034 }
00035
00036
00037 unsigned int RegisterView::findRow(unsigned int col, const unsigned int value) const
00038 {
00039 std::stringstream s;
00040 s << value;
00041 return findRow(col,s.str());
00042 }
00043
00044
00045 std::string RegisterView::getName(void) const
00046 {
00047 return name_;
00048 }
00049
00050
00051 int RegisterView::getVersion(void) const
00052 {
00053 return version_;
00054 }
00055
00056
00057 std::string RegisterView::getComment(void) const
00058 {
00059 return comment_;
00060 }
00061
00062
00063 std::string RegisterView::getAuthor(void) const
00064 {
00065 return author_;
00066 }
00067
00068 time_t RegisterView::getCreationTime(void) const
00069 {
00070 return creationTime_;
00071 }
00072
00073 const std::vector<ViewRegisterInfo>& RegisterView::getRegistersInfo (void) const
00074 {
00075 return registersInfo_;
00076 }
00077
00078 std::vector<ViewRegisterInfo>* RegisterView::getRegistersInfoPointer(void)
00079 {
00080 return ®istersInfo_;
00081 }
00082
00083 const std::vector<ViewRegisterSequencerInfo>& RegisterView::getRegistersSequencerInfo (void) const
00084 {
00085 return registersSequencerInfo_;
00086 }
00087
00088 std::vector<ViewRegisterSequencerInfo>* RegisterView::getRegistersSequencerInfoPointer(void)
00089 {
00090 return ®istersSequencerInfo_;
00091 }
00092
00093 unsigned int RegisterView::getNumberOfRows(void) const
00094 {
00095 return theDataView_.size();
00096 }
00097
00098
00099 unsigned int RegisterView::getNumberOfColumns(void) const
00100 {
00101
00102 return 1;
00103 }
00104
00105
00106 void RegisterView::setName(std::string name)
00107 {
00108 name_ = name;
00109 }
00110
00111
00112 void RegisterView::setVersion(int version)
00113 {
00114 version_ = version;
00115 }
00116
00117
00118 void RegisterView::setVersion(char* version)
00119 {
00120 version_ = atoi(version);
00121 }
00122
00123
00124 void RegisterView::setComment(std::string comment)
00125 {
00126 comment_ = comment;
00127 }
00128
00129
00130 void RegisterView::setAuthor(std::string author)
00131 {
00132 author_ = author;
00133 }
00134
00135 void RegisterView::setCreationTime(time_t t)
00136 {
00137 creationTime_ = t;
00138 }
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151 int RegisterView::addRow (void)
00152 {
00153 int row = getNumberOfRows();
00154 theDataView_.resize(getNumberOfRows()+1,std::vector<std::string>(getNumberOfColumns()));
00155
00156
00157 for(unsigned int col=0;col<getNumberOfColumns();++col){
00158 theDataView_[row][col] = "DEFAULT";
00159 }
00160
00161 return row;
00162 }
00163
00164
00165
00166
00167 bool RegisterView::deleteRow(int r)
00168 {
00169 if(r >= (int)getNumberOfRows()) return false;
00170
00171 theDataView_.erase(theDataView_.begin()+r);
00172 return true;
00173 }