libe3 0.2.5
C++ library for E3AP RAN vendor integration
Loading...
Searching...
No Matches
libe3::SmRegistry Class Reference

SM Registry for managing registered Service Models. More...

#include <sm_interface.hpp>

Public Member Functions

ErrorCode register_sm (std::unique_ptr< ServiceModel > sm)
 Register a Service Model.
ErrorCode register_sm_factory (uint32_t ran_function_id, SmFactory factory)
 Register a Service Model factory.
ErrorCode unregister_sm (uint32_t ran_function_id)
 Unregister a Service Model by RAN function ID.
ServiceModel * get_by_ran_function (uint32_t ran_function_id)
 Get SM by RAN function ID.
std::vector< uint32_t > get_available_ran_functions () const
 Get all available RAN function IDs.
ErrorCode start_sm (uint32_t ran_function_id)
 Start SM for a RAN function.
ErrorCode stop_sm (uint32_t ran_function_id)
 Stop SM for a RAN function.
bool is_sm_running (uint32_t ran_function_id) const
 Check if SM is running.
void clear ()
 Clear all registered SMs.

Static Public Member Functions

static SmRegistry & instance ()
 Get the singleton instance.

Detailed Description

SM Registry for managing registered Service Models.

This class provides a central registry for Service Models. It's used by the E3Agent to find and manage SMs.

Definition at line 227 of file sm_interface.hpp.

Member Function Documentation

◆ clear()

void libe3::SmRegistry::clear ( )

Clear all registered SMs.

Definition at line 213 of file sm_registry.cpp.

◆ get_available_ran_functions()

std::vector< uint32_t > libe3::SmRegistry::get_available_ran_functions ( ) const

Get all available RAN function IDs.

Definition at line 138 of file sm_registry.cpp.

◆ get_by_ran_function()

ServiceModel * libe3::SmRegistry::get_by_ran_function ( uint32_t ran_function_id)

Get SM by RAN function ID.

Parameters
ran_function_idRAN function ID to look up
Returns
Pointer to SM, nullptr if not found

Definition at line 110 of file sm_registry.cpp.

◆ instance()

SmRegistry & libe3::SmRegistry::instance ( )
static

Get the singleton instance.

Definition at line 19 of file sm_registry.cpp.

◆ is_sm_running()

bool libe3::SmRegistry::is_sm_running ( uint32_t ran_function_id) const

Check if SM is running.

Definition at line 202 of file sm_registry.cpp.

◆ register_sm()

ErrorCode libe3::SmRegistry::register_sm ( std::unique_ptr< ServiceModel > sm)

Register a Service Model.

Parameters
smService Model to register
Returns
ErrorCode::SUCCESS on success
ErrorCode::SM_ALREADY_REGISTERED if SM for this RAN function exists

Definition at line 24 of file sm_registry.cpp.

◆ register_sm_factory()

ErrorCode libe3::SmRegistry::register_sm_factory ( uint32_t ran_function_id,
SmFactory factory )

Register a Service Model factory.

Use this to defer SM creation until needed.

Definition at line 68 of file sm_registry.cpp.

◆ start_sm()

ErrorCode libe3::SmRegistry::start_sm ( uint32_t ran_function_id)

Start SM for a RAN function.

Definition at line 156 of file sm_registry.cpp.

◆ stop_sm()

ErrorCode libe3::SmRegistry::stop_sm ( uint32_t ran_function_id)

Stop SM for a RAN function.

Definition at line 183 of file sm_registry.cpp.

◆ unregister_sm()

ErrorCode libe3::SmRegistry::unregister_sm ( uint32_t ran_function_id)

Unregister a Service Model by RAN function ID.

Definition at line 87 of file sm_registry.cpp.


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