ChimeraTK-DeviceAccess  03.18.00
DummyMuxedInterruptDistributor.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Deutsches Elektronen-Synchrotron DESY, MSK, ChimeraTK Project <chimeratk-support@desy.de>
2 // SPDX-License-Identifier: LGPL-3.0-or-later
3 #pragma once
4 #include "../NDRegisterAccessor.h"
5 #include "../RegisterPath.h"
7 
8 namespace ChimeraTK::async {
9 
11  public:
13  boost::shared_ptr<SubDomain<std::nullptr_t>> parent, RegisterPath const& module);
14  ~DummyMuxedInterruptDistributor() override = default;
15 
16  void handle(VersionNumber version) override;
17 
18  static std::unique_ptr<DummyMuxedInterruptDistributor> create(
19  std::string const& desrciption, boost::shared_ptr<SubDomain<std::nullptr_t>> parent);
20 
21  protected:
22  boost::shared_ptr<NDRegisterAccessor<uint32_t>> _activeInterrupts;
24  };
25 
26 } // namespace ChimeraTK::async
ChimeraTK::async::DummyMuxedInterruptDistributor::~DummyMuxedInterruptDistributor
~DummyMuxedInterruptDistributor() override=default
ChimeraTK::async::SubDomain
Send backend-specific asynchronous data to different distributors:
Definition: MuxedInterruptDistributor.h:23
ChimeraTK::async
Definition: design_AsyncNDRegisterAcessor_and_NumericAddressedBackend.dox:1
MuxedInterruptDistributor.h
ChimeraTK::async::DummyMuxedInterruptDistributor::DummyMuxedInterruptDistributor
DummyMuxedInterruptDistributor(boost::shared_ptr< SubDomain< std::nullptr_t >> parent, RegisterPath const &module)
Definition: DummyMuxedInterruptDistributor.cc:11
ChimeraTK::async::DummyMuxedInterruptDistributor::create
static std::unique_ptr< DummyMuxedInterruptDistributor > create(std::string const &desrciption, boost::shared_ptr< SubDomain< std::nullptr_t >> parent)
Definition: DummyMuxedInterruptDistributor.cc:48
ChimeraTK::async::DummyMuxedInterruptDistributor::handle
void handle(VersionNumber version) override
The interrupt handling functions implements the handshake with the interrupt controller.
Definition: DummyMuxedInterruptDistributor.cc:23
ChimeraTK::async::DummyMuxedInterruptDistributor::_module
RegisterPath _module
Definition: DummyMuxedInterruptDistributor.h:23
ChimeraTK::async::MuxedInterruptDistributor
Interface base class for interrupt controller handlers.
Definition: MuxedInterruptDistributor.h:56
ChimeraTK::RegisterPath
Class to store a register path name.
Definition: RegisterPath.h:16
ChimeraTK::VersionNumber
Class for generating and holding version numbers without exposing a numeric representation.
Definition: VersionNumber.h:23
ChimeraTK::async::DummyMuxedInterruptDistributor
Definition: DummyMuxedInterruptDistributor.h:10
ChimeraTK::async::DummyMuxedInterruptDistributor::_activeInterrupts
boost::shared_ptr< NDRegisterAccessor< uint32_t > > _activeInterrupts
Definition: DummyMuxedInterruptDistributor.h:22