template<typename Root, typename Managers = detail::DefaultManagers, size_t N = 64>
device class
Contents
- Reference
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>:: 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::
template<typenameRoot, typenameManagers, size_tN>
void aes70:: static_device:: device<Root, Managers, N>:: uncork() virtual
Calls connection::
template<typenameRoot, typenameManagers, size_tN>
void aes70:: static_device:: device<Root, Managers, N>:: close() virtual
Close all AES70 connections to this device.