AVDECC Controller  v0.4.8
 All Classes Namespaces Files Functions Enumerations Enumerator Macros
Public Member Functions | List of all members
avdecc_lib::descriptor_base Class Referenceabstract

#include <descriptor_base.h>

Inheritance diagram for avdecc_lib::descriptor_base:
avdecc_lib::audio_cluster_descriptor avdecc_lib::audio_map_descriptor avdecc_lib::audio_unit_descriptor avdecc_lib::avb_interface_descriptor avdecc_lib::clock_domain_descriptor avdecc_lib::clock_source_descriptor avdecc_lib::configuration_descriptor avdecc_lib::entity_descriptor avdecc_lib::jack_input_descriptor avdecc_lib::jack_output_descriptor avdecc_lib::locale_descriptor avdecc_lib::stream_input_descriptor avdecc_lib::stream_output_descriptor avdecc_lib::stream_port_input_descriptor avdecc_lib::stream_port_output_descriptor avdecc_lib::strings_descriptor

Public Member Functions

virtual
AVDECC_CONTROLLER_LIB32_API
uint16_t STDCALL 
descriptor_type () const =0
 
virtual
AVDECC_CONTROLLER_LIB32_API
uint16_t STDCALL 
descriptor_index () const =0
 
virtual
AVDECC_CONTROLLER_LIB32_API
uint8_t *STDCALL 
object_name ()=0
 
virtual
AVDECC_CONTROLLER_LIB32_API
uint16_t STDCALL 
localized_description ()=0
 
virtual
AVDECC_CONTROLLER_LIB32_API
uint32_t STDCALL 
acquire_entity_flags ()=0
 
virtual
AVDECC_CONTROLLER_LIB32_API
uint64_t STDCALL 
acquire_entity_owner_entity_id ()=0
 
virtual
AVDECC_CONTROLLER_LIB32_API
uint32_t STDCALL 
lock_entity_flags ()=0
 
virtual
AVDECC_CONTROLLER_LIB32_API
uint64_t STDCALL 
lock_entity_locked_entity_id ()=0
 
virtual
AVDECC_CONTROLLER_LIB32_API
int STDCALL 
send_acquire_entity_cmd (void *notification_id, uint32_t acquire_entity_flag)=0
 
virtual
AVDECC_CONTROLLER_LIB32_API
int STDCALL 
send_lock_entity_cmd (void *notification_id, uint32_t lock_entity_flag)=0
 
virtual
AVDECC_CONTROLLER_LIB32_API
int STDCALL 
send_set_name_cmd (void *notification_id, uint16_t name_index, uint16_t config_index, char *new_name)=0
 
virtual
AVDECC_CONTROLLER_LIB32_API
int STDCALL 
send_get_name_cmd (void *notification_id, uint16_t name_index, uint16_t config_index)=0
 

Member Function Documentation

virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL avdecc_lib::descriptor_base::acquire_entity_flags ( )
pure virtual
Returns
The flags after sending a ACQUIRE_ENTITY command and receiving a response back for the command.
virtual AVDECC_CONTROLLER_LIB32_API uint64_t STDCALL avdecc_lib::descriptor_base::acquire_entity_owner_entity_id ( )
pure virtual
Returns
The owner id after sending a ACQUIRE_ENTITY command and receiving a response back for the command.
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL avdecc_lib::descriptor_base::descriptor_index ( ) const
pure virtual
Returns
The index of the descriptor.
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL avdecc_lib::descriptor_base::descriptor_type ( ) const
pure virtual
Returns
The type of the descriptor.
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL avdecc_lib::descriptor_base::localized_description ( )
pure virtual
Returns
The localized string reference pointing to the localized descriptor name.
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL avdecc_lib::descriptor_base::lock_entity_flags ( )
pure virtual
Returns
The flags after sending a LOCK_ENTITY command and receiving a response back for the command.
virtual AVDECC_CONTROLLER_LIB32_API uint64_t STDCALL avdecc_lib::descriptor_base::lock_entity_locked_entity_id ( )
pure virtual
Returns
The locked entity id after sending a LOCK_ENTITY command and receiving a response back for the command.
virtual AVDECC_CONTROLLER_LIB32_API uint8_t* STDCALL avdecc_lib::descriptor_base::object_name ( )
pure virtual
Returns
The name of the descriptor object. This may be user set through the use of a SET_NAME command. The object name should be left blank (all zeros) by the manufacturer, with the manufacturer defined value being provided in a localized form via the localized descripton field. By leaving this field blank an AVDECC Controller can determine if the user has overridden the name and can use this name rather than the localized name.
virtual AVDECC_CONTROLLER_LIB32_API int STDCALL avdecc_lib::descriptor_base::send_acquire_entity_cmd ( void *  notification_id,
uint32_t  acquire_entity_flag 
)
pure virtual

Send a ACQURE_ENTITY command to obtain exclusive access to an entire Entity or a sub-tree of objects.

Parameters
notification_idA void pointer to the unique identifier associated with the command.
acquire_entity_flagThe flag to be set for the command. Valid flags are 0, 1 (PERSISTENT), and 0x80000000 (RELEASE).

The flags and owner id can be retrieved by calling the following function after successfully receiving a response back for the ACQURE_ENTITY command sent.

See Also
acquire_entity_flags(), acquire_entity_owner_entity_id()
virtual AVDECC_CONTROLLER_LIB32_API int STDCALL avdecc_lib::descriptor_base::send_get_name_cmd ( void *  notification_id,
uint16_t  name_index,
uint16_t  config_index 
)
pure virtual

Send a GET_NAME command to get the value of a name field within a descriptor. For descriptors with multiple names, this sets only one specified name.

Parameters
notification_idA void pointer to the unique identifier associated with the command.
name_indexThe index of the name within the descriptor, with the first name being index 0 and so on.
config_indexThe descriptor index of the configuration, which contains the descriptor whose name is being set. If the descriptor type field is either ENTITY or CONFIGURATION, then this field is set to 0.
virtual AVDECC_CONTROLLER_LIB32_API int STDCALL avdecc_lib::descriptor_base::send_lock_entity_cmd ( void *  notification_id,
uint32_t  lock_entity_flag 
)
pure virtual

Send a LOCK_ENTITY command to provide short term exclusive access to the AVDECC Entity to perform atomic operations.

Parameters
notification_idA void pointer to the unique identifier associated with the command.
lock_entity_flagThe flag to be set for the command. Valid flags are 0 and 1 (UNLOCK).

The flags and locked entity id can be retrieved by calling the following function after successfully receiving a response back for the LOCK_ENTITY command sent.

See Also
lock_entity_flags(), lock_entity_locked_entity_id()
virtual AVDECC_CONTROLLER_LIB32_API int STDCALL avdecc_lib::descriptor_base::send_set_name_cmd ( void *  notification_id,
uint16_t  name_index,
uint16_t  config_index,
char *  new_name 
)
pure virtual

Send a SET_NAME command to change the value of a name field within a descriptor. For descriptors with multiple names, this sets only one specified name per command.

Parameters
notification_idA void pointer to the unique identifier associated with the command.
name_indexThe index of the name within the descriptor, with the first name being index 0 and so on.
config_indexThe descriptor index of the configuration, which contains the descriptor whose name is being set. If the descriptor type field is either ENTITY or CONFIGURATION, then this field is set to 0.
new_nameThe new name to be set. The name does not contain a trailing NULL, but if the name is less than 64 bytes in length, then it is zero padded.

The documentation for this class was generated from the following file: