template<typename Root, typename Managers = detail::DefaultManagers, size_t N = 64>
aes70::static_device::device class

Contents

Class for static devices.

Public functions

auto get_parent_ono(uint32_t ono) -> uint32_t virtual
void init()
auto has_event(const OcaEvent event) const -> bool virtual
auto add_connection(aes70::device::connection* connection) -> bool virtual
auto remove_connection(aes70::device::connection* connection) -> bool virtual
auto find_connection(size_t id) -> aes70::device::connection* virtual
auto first_connection() const -> aes70::device::connection* virtual
auto allocate_notifications(const OcaEvent& id, size_t len, uint8_t parameterCount) -> uint8_t* override
void send_notifications(const OcaEvent& id, size_t len, uint8_t parameterCount) override
void cork() virtual
void uncork() virtual
void close() virtual

Function documentation

template<typenameRoot, typenameManagers, size_tN>
uint32_t aes70::static_device::device<Root, Managers, N>::get_parent_ono(uint32_t ono) virtual

Returns the object number of the parent of a given object. Returns 0 for managers and the root block.

template<typenameRoot, typenameManagers, size_tN>
void aes70::static_device::device<Root, Managers, N>::init()

Initializes the object tree structure. This methods needs to be called exactly once before this device is ready to be used.

template<typenameRoot, typenameManagers, size_tN>
bool aes70::static_device::device<Root, Managers, N>::has_event(const OcaEvent event) const virtual

Returns true of this device has the given event.

template<typenameRoot, typenameManagers, size_tN>
bool aes70::static_device::device<Root, Managers, N>::add_connection(aes70::device::connection* connection) virtual

Adds a new connection to this device. Returns true on success and false if the connection could not be added, e.g. due to resource limits having been reached.

template<typenameRoot, typenameManagers, size_tN>
bool aes70::static_device::device<Root, Managers, N>::remove_connection(aes70::device::connection* connection) virtual

Removes a connection. Returns true if the connection has been removed and false if not, e.g. because it was not found.

template<typenameRoot, typenameManagers, size_tN>
aes70::device::connection* aes70::static_device::device<Root, Managers, N>::find_connection(size_t id) virtual

Find a connection given its id.

template<typenameRoot, typenameManagers, size_tN>
aes70::device::connection* aes70::static_device::device<Root, Managers, N>::first_connection() const virtual

Returns one connection. Returns nullptr if there is no connected connection, anymore. Useful for closing all connections.

template<typenameRoot, typenameManagers, size_tN>
uint8_t* aes70::static_device::device<Root, Managers, N>::allocate_notifications(const OcaEvent& id, size_t len, uint8_t parameterCount) override

Allocate send buffer space for sending notifications. Returns nullptr if no connection has subscribed to the given event.

template<typenameRoot, typenameManagers, size_tN>
void aes70::static_device::device<Root, Managers, N>::send_notifications(const OcaEvent& id, size_t len, uint8_t parameterCount) override

Allocate send buffer space for sending notifications. Returns nullptr if no connection has subscribed to the given event.

template<typenameRoot, typenameManagers, size_tN>
void aes70::static_device::device<Root, Managers, N>::cork() virtual

Calls connection::cork on all active connections.

template<typenameRoot, typenameManagers, size_tN>
void aes70::static_device::device<Root, Managers, N>::uncork() virtual

Calls connection::uncork on all active connections.

template<typenameRoot, typenameManagers, size_tN>
void aes70::static_device::device<Root, Managers, N>::close() virtual

Close all AES70 connections to this device.