aes70::dynamic_device::device class

Contents

Device class for building dynamic devices.

Public functions

auto count_objects() const -> size_t
auto count_connections() const -> size_t
auto get_root() const -> std::shared_ptr<block>
template<typename Type, typename... TN>
auto create_child(TN && ... args) -> std::shared_ptr<Type>
template<typename String>
auto create_block(const String& role) -> std::shared_ptr<block>
auto remove(std::shared_ptr<aes70::device::object> child) -> bool
auto add(std::shared_ptr<aes70::device::object> child) -> bool
auto find_object(uint32_t object_number) -> std::shared_ptr<aes70::device::object>
template<typename Type, typename... TN>
auto create_manager(TN && ... args) -> std::shared_ptr<Type>
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 get_parent_ono(uint32_t object_number) -> uint32_t virtual
void cork() virtual
void uncork() virtual
auto has_event(const OcaEvent event) const -> bool virtual
auto allocate_notifications(const OcaEvent& id, size_t len, uint8_t parameterCount) -> uint8_t* virtual
void send_notifications(const OcaEvent& id, size_t len, uint8_t parameterCount) virtual
void close() virtual

Function documentation

size_t aes70::dynamic_device::device::count_objects() const

Returns the number of objects in this device.

size_t aes70::dynamic_device::device::count_connections() const

Returns the number of objects in this device.

std::shared_ptr<block> aes70::dynamic_device::device::get_root() const

Return the root block.

template<typename Type, typename... TN>
std::shared_ptr<Type> aes70::dynamic_device::device::create_child(TN && ... args)

Create a child object in the root block. This calls aes70::dynamic_device::block::create_child on the root block object.

template<typename String>
std::shared_ptr<block> aes70::dynamic_device::device::create_block(const String& role)

Create a block object in the root block. This calls aes70::dynamic_device::block::create_block on the root block object.

bool aes70::dynamic_device::device::remove(std::shared_ptr<aes70::device::object> child)

Removes a child from the root block.

bool aes70::dynamic_device::device::add(std::shared_ptr<aes70::device::object> child)

Adds an object to the root block. Returns true if the child was added.

std::shared_ptr<aes70::device::object> aes70::dynamic_device::device::find_object(uint32_t object_number)

Returns the object with the given object number. If no such object exists, the nullptr is returned.

template<typename Type, typename... TN>
std::shared_ptr<Type> aes70::dynamic_device::device::create_manager(TN && ... args)

Create a manager object.

bool aes70::dynamic_device::device::add_connection(aes70::device::connection* connection) virtual

Add a connection object. This usually happens automatically when using aes70::port.

bool aes70::dynamic_device::device::remove_connection(aes70::device::connection* connection) virtual

Remove a connection object. This usually happens automatically when using aes70::port.

aes70::device::connection* aes70::dynamic_device::device::find_connection(size_t id) virtual

Find a connection given its id.

aes70::device::connection* aes70::dynamic_device::device::first_connection() const virtual

Return the first connection. This can be used in a loop to close all connected connection.

uint32_t aes70::dynamic_device::device::get_parent_ono(uint32_t object_number) virtual

Return the object number of the parent of a given object.

void aes70::dynamic_device::device::cork() virtual

Cork all connections.

void aes70::dynamic_device::device::uncork() virtual

Uncork all connections.

bool aes70::dynamic_device::device::has_event(const OcaEvent event) const virtual

Returns true of this device has the given event.

uint8_t* aes70::dynamic_device::device::allocate_notifications(const OcaEvent& id, size_t len, uint8_t parameterCount) virtual

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

void aes70::dynamic_device::device::send_notifications(const OcaEvent& id, size_t len, uint8_t parameterCount) virtual

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

void aes70::dynamic_device::device::close() virtual

Close all AES70 connections to this device.