综合平台编程器项目的远程存储
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

20 lines
651 B

  1. #pragma once
  2. #include "register_repository.h"
  3. class ActiveRegisterRepository final : public RegisterRepository
  4. {
  5. public:
  6. explicit ActiveRegisterRepository(RegisterRepository &initial_repository);
  7. void use(RegisterRepository &repository);
  8. BitReadResult readBit(const RegisterAddress &address) const override;
  9. RegisterWriteResult writeBit(const RegisterAddress &address, bool value) override;
  10. WordReadResult readWord(const RegisterAddress &address) const override;
  11. RegisterWriteResult writeWord(
  12. const RegisterAddress &address, std::int16_t value) override;
  13. private:
  14. RegisterRepository *repository_ = nullptr;
  15. };