Bitstream Interpretation Library (BIL)  0.1
V5IDCODERegister.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 #ifndef BIL_V5IDCODEREGISTER_HPP
8 #define BIL_V5IDCODEREGISTER_HPP
9 
10 #include <deviceinfo/DeviceID.hpp>
12 
13 
14 namespace bil {
15 
16  class V5FDRIRegister;
17  class V5AddressLayoutRegistry;
18 
19 
28  class V5IDCODERegister: public Register {
29  public:
30 
31  /**********************************************************************/
32  /* CONSTRUCTION / DESTRUCTION */
33  /**********************************************************************/
34 
44  V5IDCODERegister(V5FDRIRegister& fdriReg, const V5AddressLayoutRegistry& registry);
45 
46 
47  /**********************************************************************/
48  /* REGISTER I/O */
49  /**********************************************************************/
50 
58  virtual void write(const boost::uint32_t* words, size_t wordCount);
59 
66  virtual void read(boost::uint32_t* words, size_t wordCount) const;
67 
68 
69  /**********************************************************************/
70  /* ID CODE INTERFACE */
71  /**********************************************************************/
72 
79  void idCode(DeviceID::ID_t id);
80 
85  DeviceID::ID_t idCode() const;
86 
87 
88  /**********************************************************************/
89  /* LINK TO OTHER REGISTERS */
90  /**********************************************************************/
91 
97 
98 
99  /**********************************************************************/
100  /* LINK TO ADDRESS LAYOUT REGISTRY */
101  /**********************************************************************/
102 
108 
109 
110  private:
111 
113  V5IDCODERegister& operator=(const V5IDCODERegister&);
114 
115  DeviceID::ID_t m_idCode;
116  V5FDRIRegister& m_fdriRegister;
117  const V5AddressLayoutRegistry& m_addressLayoutRegistry;
118 
119  };
120 
121 }
122 
123 #endif