mirror of
https://github.com/Telecominfraproject/oopt-tai-implementations.git
synced 2025-10-30 17:47:48 +00:00
mux: support tai_log_set()
Signed-off-by: Wataru Ishida <ishida@nel-america.com>
This commit is contained in:
committed by
Wataru Ishida
parent
1373f9867f
commit
54155f66f7
@@ -220,6 +220,20 @@ tai_object_type_t Multiplexier::object_type_query(_In_ tai_object_id_t id) {
|
|||||||
return m_adapter->tai_object_type_query(realid);
|
return m_adapter->tai_object_type_query(realid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tai_status_t Multiplexier::tai_log_set(_In_ tai_api_t api, _In_ tai_log_level_t level) {
|
||||||
|
if ( g_mux == nullptr ) {
|
||||||
|
return TAI_STATUS_UNINITIALIZED;
|
||||||
|
}
|
||||||
|
auto set = m_pa->list_module_adapters();
|
||||||
|
for ( const auto& a : set ) {
|
||||||
|
auto ret = a->tai_log_set(api, level);
|
||||||
|
if ( ret != TAI_STATUS_SUCCESS ) {
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return TAI_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
tai_status_t Multiplexier::set_attributes( std::function<tai_status_t(ModuleAdapter*, tai_object_id_t, uint32_t, const tai_attribute_t*)> f, tai_object_id_t oid, uint32_t attr_count, const tai_attribute_t *attr_list) {
|
tai_status_t Multiplexier::set_attributes( std::function<tai_status_t(ModuleAdapter*, tai_object_id_t, uint32_t, const tai_attribute_t*)> f, tai_object_id_t oid, uint32_t attr_count, const tai_attribute_t *attr_list) {
|
||||||
tai_object_id_t id;
|
tai_object_id_t id;
|
||||||
ModuleAdapter *m_adapter;
|
ModuleAdapter *m_adapter;
|
||||||
|
|||||||
@@ -113,6 +113,10 @@ class Multiplexier {
|
|||||||
tai_object_type_t object_type_query(
|
tai_object_type_t object_type_query(
|
||||||
_In_ tai_object_id_t id);
|
_In_ tai_object_id_t id);
|
||||||
|
|
||||||
|
tai_status_t tai_log_set(
|
||||||
|
_In_ tai_api_t tai_api_id,
|
||||||
|
_In_ tai_log_level_t log_level);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Multiplexier(const Multiplexier&){}
|
Multiplexier(const Multiplexier&){}
|
||||||
void operator = (const Multiplexier&){}
|
void operator = (const Multiplexier&){}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#define __PLATFORM_ADAPTER_HPP__
|
#define __PLATFORM_ADAPTER_HPP__
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <unordered_set>
|
||||||
|
|
||||||
class ModuleAdapter;
|
class ModuleAdapter;
|
||||||
|
|
||||||
@@ -13,6 +14,9 @@ enum platform_adapter_t {
|
|||||||
class PlatformAdapter {
|
class PlatformAdapter {
|
||||||
public:
|
public:
|
||||||
virtual ModuleAdapter* get_module_adapter(const std::string& location) = 0;
|
virtual ModuleAdapter* get_module_adapter(const std::string& location) = 0;
|
||||||
|
|
||||||
|
/** @brief return the set of loaded module adapters. */
|
||||||
|
virtual const std::unordered_set<ModuleAdapter * > list_module_adapters() = 0;
|
||||||
PlatformAdapter(){}
|
PlatformAdapter(){}
|
||||||
private:
|
private:
|
||||||
PlatformAdapter(const PlatformAdapter&){}
|
PlatformAdapter(const PlatformAdapter&){}
|
||||||
|
|||||||
@@ -24,6 +24,13 @@ class StaticPlatformAdapter : public PlatformAdapter {
|
|||||||
ModuleAdapter* get_module_adapter(const std::string& location) {
|
ModuleAdapter* get_module_adapter(const std::string& location) {
|
||||||
return m_ma_map[location];
|
return m_ma_map[location];
|
||||||
};
|
};
|
||||||
|
const std::unordered_set<ModuleAdapter*> list_module_adapters() {
|
||||||
|
std::unordered_set<ModuleAdapter*> set;
|
||||||
|
for ( auto m : m_ma_map ) {
|
||||||
|
set.emplace(m.second);
|
||||||
|
}
|
||||||
|
return set;
|
||||||
|
};
|
||||||
private:
|
private:
|
||||||
std::map<std::string, ModuleAdapter*> m_ma_map;
|
std::map<std::string, ModuleAdapter*> m_ma_map;
|
||||||
std::thread m_th;
|
std::thread m_th;
|
||||||
|
|||||||
@@ -221,7 +221,7 @@ tai_status_t tai_api_query(_In_ tai_api_t tai_api_id,
|
|||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
||||||
return TAI_STATUS_SUCCESS;
|
return g_mux->tai_log_set(tai_api_id, log_level);
|
||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user