* Copyright (c) Huawei Technologies Co., Ltd. 2026-2026. All rights reserved.
* ubs-engine is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
#include "ubse_node_mgr_module.h"
#include "conf_mode/ubse_node_discovery_config_mode.h"
#include "root_mode/ubse_node_discovery_common.h"
#include "root_mode/ubse_node_discovery_root.h"
#include "static_mode/ubse_node_discovery_static_mode.h"
#include "ubse_error.h"
#include "ubse_node_static_info_mgr.h"
#include "ubse_urma_uvs_module.h"
namespace ubse::nodeMgr {
using namespace ubse::urma;
OPTIONAL_MODULE_IMPL(UbseNodeMgrModule, UbseUrmaUvsModule);
UbseResult UbseNodeMgrModule::Initialize()
{
return UbseNodeStaticInfoMgr::GetInstance().Init();
}
UbseResult UbseNodeMgrModule::Start()
{
NodeDiscoveryMode mode = UbseNodeStaticInfoMgr::GetInstance().GetNodeDiscoveryMode();
switch (mode) {
case NodeDiscoveryMode::TCP_CONFIG_CLOS_MODE:
case NodeDiscoveryMode::TCP_CONFIG_FULL_MESH_MODE:
return UbseNodeDiscoveryConfigMode::GetInstance().Init();
case NodeDiscoveryMode::TCP_ROOT_MODE: {
auto ret = UbseNodeDiscoveryCommon::GetInstance().Init();
if (ret != UBSE_OK) {
return ret;
}
return UbseNodeDiscoveryRoot::GetInstance().Init();
}
case NodeDiscoveryMode::URMA_CLOS_MODE:
case NodeDiscoveryMode::URMA_FULL_MESH_MODE:
return UbseNodeDiscoveryStaticMode::GetInstance().Init();
default:
return UBSE_ERROR_INVAL;
}
}
void UbseNodeMgrModule::Stop()
{
NodeDiscoveryMode mode = UbseNodeStaticInfoMgr::GetInstance().GetNodeDiscoveryMode();
if (mode == NodeDiscoveryMode::TCP_ROOT_MODE) {
UbseNodeDiscoveryRoot::Destroy();
UbseNodeDiscoveryCommon::Destroy();
}
}
void UbseNodeMgrModule::UnInitialize()
{
}
}