Commit 9a860304 authored by Tien-Thinh Nguyen's avatar Tien-Thinh Nguyen

Add skeleton for Event Exposure: UE Reachability For Data Report

parent eaee0c46
......@@ -76,7 +76,10 @@ udm_app::udm_app(const std::string& config_file) : event_sub() {
// Subscribe to UE Loss of Connectivity Status signal
loss_of_connectivity_connection = event_sub.subscribe_loss_of_connectivity(
boost::bind(&udm_app::handle_ee_lost_of_connectivity, this, _1, _2, _3));
boost::bind(&udm_app::handle_ee_loss_of_connectivity, this, _1, _2, _3));
ue_reachability_for_data_connection =
event_sub.subscribe_ue_reachability_for_data(boost::bind(
&udm_app::handle_ee_ue_reachability_for_data, this, _1, _2, _3));
Logger::udm_app().startup("Started");
}
......@@ -86,6 +89,8 @@ udm_app::~udm_app() {
// Disconnect the boost connection
if (loss_of_connectivity_connection.connected())
loss_of_connectivity_connection.disconnect();
if (ue_reachability_for_data_connection.connected())
ue_reachability_for_data_connection.disconnect();
Logger::udm_app().debug("Delete UDM APP instance...");
}
......@@ -1052,5 +1057,13 @@ bool udm_app::remove_ee_subscription_item(const std::string& path) {
}
//------------------------------------------------------------------------------
void udm_app::handle_ee_lost_of_connectivity(
const std::string& ue_id, uint8_t status, uint8_t http_version) {}
void udm_app::handle_ee_loss_of_connectivity(
const std::string& ue_id, uint8_t status, uint8_t http_version) {
// TODO:
}
//------------------------------------------------------------------------------
void udm_app::handle_ee_ue_reachability_for_data(
const std::string& ue_id, uint8_t status, uint8_t http_version) {
// TODO:
}
......@@ -144,13 +144,23 @@ class udm_app {
bool remove_ee_subscription_item(const std::string& path);
/*
* Handle Loss of Connectivity
* Handle Loss of Connectivity Event
* @param [const std::string&] ue_id: UE's identity (e.g., SUPI)
* @param [uint8_t] status: Connectivity status
* @param [uint8_t] http_version: HTTP version
* @return void
*/
void handle_ee_lost_of_connectivity(
void handle_ee_loss_of_connectivity(
const std::string& ue_id, uint8_t status, uint8_t http_version);
/*
* Handle UE Reachability For Data Event
* @param [const std::string&] ue_id: UE's identity (e.g., SUPI)
* @param [uint8_t] status: UE Reachability For Data status
* @param [uint8_t] http_version: HTTP version
* @return void
*/
void handle_ee_ue_reachability_for_data(
const std::string& ue_id, uint8_t status, uint8_t http_version);
private:
......@@ -163,6 +173,7 @@ class udm_app {
// for Event Handling
udm_event event_sub;
bs2::connection loss_of_connectivity_connection;
bs2::connection ue_reachability_for_data_connection;
};
} // namespace app
} // namespace udm
......
......@@ -29,8 +29,15 @@
#include "udm_event.hpp"
using namespace oai::udm::app;
//------------------------------------------------------------------------------
bs2::connection udm_event::subscribe_loss_of_connectivity(
const loss_of_connectivity_sig_t::slot_type& sig) {
return loss_of_connectivity.connect(sig);
}
//------------------------------------------------------------------------------
bs2::connection udm_event::subscribe_ue_reachability_for_data(
const ue_reachability_for_data_sig_t::slot_type& sig) {
return ue_reachability_for_data.connect(sig);
}
......@@ -58,8 +58,20 @@ class udm_event {
bs2::connection subscribe_loss_of_connectivity(
const loss_of_connectivity_sig_t::slot_type& sig);
/*
* Subscribe to UE Reachability for Data signal
* @param [const ue_reachability_for_data_sig_t::slot_type&] sig: slot_type
* parameter
* @return boost::signals2::connection: the connection between the signal and
* the slot
*/
bs2::connection subscribe_ue_reachability_for_data(
const ue_reachability_for_data_sig_t::slot_type& sig);
private:
loss_of_connectivity_sig_t
loss_of_connectivity; // Signal for Loss of Connectivity Report
ue_reachability_for_data_sig_t
ue_reachability_for_data; // Signal for UE Reachability for Data Report
};
} // namespace oai::udm::app
......@@ -37,7 +37,6 @@ namespace bs2 = boost::signals2;
namespace oai::udm::app {
// LOSS_OF_CONNECTIVITY
// Signal for Loss of Connectivity
// SUPI, Connectivity status, HTTP version
typedef bs2::signal_type<
......@@ -45,7 +44,13 @@ typedef bs2::signal_type<
bs2::keywords::mutex_type<bs2::dummy_mutex>>::type
loss_of_connectivity_sig_t;
// UE_REACHABILITY_FOR_DATA
// Signal for UE Reachability for Data
// SUPI, Reachability status, HTTP version
typedef bs2::signal_type<
void(std::string, uint8_t, uint8_t),
bs2::keywords::mutex_type<bs2::dummy_mutex>>::type
ue_reachability_for_data_sig_t;
// UE_REACHABILITY_FOR_SMS
// LOCATION_REPORTING
// CHANGE_OF_SUPI_PEI_ASSOCIATION
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment