mux: support log handler

Signed-off-by: Wataru Ishida <ishida@nel-america.com>
This commit is contained in:
Wataru Ishida
2019-06-26 18:29:06 -07:00
committed by Wataru Ishida
parent 5c3e0c1611
commit 89fb966954
4 changed files with 9 additions and 8 deletions

View File

@@ -7,7 +7,7 @@
typedef tai_status_t (*tai_api_initialize_fn) (uint64_t, const tai_service_method_table_t *); typedef tai_status_t (*tai_api_initialize_fn) (uint64_t, const tai_service_method_table_t *);
typedef tai_status_t (*tai_api_uninitialize_fn) (void); typedef tai_status_t (*tai_api_uninitialize_fn) (void);
typedef tai_status_t (*tai_api_query_fn) (tai_api_t, void**); typedef tai_status_t (*tai_api_query_fn) (tai_api_t, void**);
typedef tai_status_t (*tai_log_set_fn) (tai_api_t, tai_log_level_t); typedef tai_status_t (*tai_log_set_fn) (tai_api_t, tai_log_level_t, tai_log_fn);
typedef tai_object_type_t (*tai_object_type_query_fn) (tai_object_id_t); typedef tai_object_type_t (*tai_object_type_query_fn) (tai_object_id_t);
typedef tai_object_id_t (*tai_module_id_query_fn) (tai_object_id_t); typedef tai_object_id_t (*tai_module_id_query_fn) (tai_object_id_t);
@@ -27,8 +27,8 @@ class ModuleAdapter {
tai_status_t tai_api_uninitialize(void) { tai_status_t tai_api_uninitialize(void) {
return m_tai_api_uninitialize(); return m_tai_api_uninitialize();
} }
tai_status_t tai_log_set(tai_api_t tai_api_id, tai_log_level_t log_level) { tai_status_t tai_log_set(tai_api_t tai_api_id, tai_log_level_t log_level, tai_log_fn log_fn) {
return m_tai_log_set(tai_api_id, log_level); return m_tai_log_set(tai_api_id, log_level, log_fn);
} }
tai_object_type_t tai_object_type_query(tai_object_id_t tai_object_id) { tai_object_type_t tai_object_type_query(tai_object_id_t tai_object_id) {
return m_tai_object_type_query(tai_object_id); return m_tai_object_type_query(tai_object_id);

View File

@@ -233,13 +233,13 @@ tai_object_id_t Multiplexier::module_id_query(_In_ tai_object_id_t id) {
return g_mux->get_reverse_mapping(m_adapter->tai_module_id_query(realid), m_adapter); return g_mux->get_reverse_mapping(m_adapter->tai_module_id_query(realid), m_adapter);
} }
tai_status_t Multiplexier::tai_log_set(_In_ tai_api_t api, _In_ tai_log_level_t level) { tai_status_t Multiplexier::tai_log_set(_In_ tai_api_t api, _In_ tai_log_level_t level, _In_ tai_log_fn log_fn) {
if ( g_mux == nullptr ) { if ( g_mux == nullptr ) {
return TAI_STATUS_UNINITIALIZED; return TAI_STATUS_UNINITIALIZED;
} }
auto set = m_pa->list_module_adapters(); auto set = m_pa->list_module_adapters();
for ( const auto& a : set ) { for ( const auto& a : set ) {
auto ret = a->tai_log_set(api, level); auto ret = a->tai_log_set(api, level, log_fn);
if ( ret != TAI_STATUS_SUCCESS ) { if ( ret != TAI_STATUS_SUCCESS ) {
return ret; return ret;
} }

View File

@@ -136,7 +136,8 @@ class Multiplexier {
tai_status_t tai_log_set( tai_status_t tai_log_set(
_In_ tai_api_t tai_api_id, _In_ tai_api_t tai_api_id,
_In_ tai_log_level_t log_level); _In_ tai_log_level_t log_level,
_In_ tai_log_fn log_fn);
private: private:
Multiplexier(const Multiplexier&){} Multiplexier(const Multiplexier&){}

View File

@@ -220,8 +220,8 @@ tai_status_t tai_api_query(_In_ tai_api_t tai_api_id,
return TAI_STATUS_SUCCESS; return TAI_STATUS_SUCCESS;
} }
tai_status_t tai_log_set(tai_api_t tai_api_id, tai_log_level_t log_level) { tai_status_t tai_log_set(tai_api_t tai_api_id, tai_log_level_t log_level, tai_log_fn log_fn) {
return g_mux->tai_log_set(tai_api_id, log_level); return g_mux->tai_log_set(tai_api_id, log_level, log_fn);
} }
tai_object_type_t tai_object_type_query(tai_object_id_t id) { tai_object_type_t tai_object_type_query(tai_object_id_t id) {