#ifndef E2SIM_HPP #define E2SIM_HPP #include extern "C" { #include "E2AP-PDU.h" #include "OCTET_STRING.h" } typedef void (*SubscriptionCallback)(E2AP_PDU_t*); class E2Sim; class E2Sim { private: std::unordered_map ran_functions_registered; std::unordered_map subscription_callbacks; void wait_for_sctp_data(); public: SubscriptionCallback get_subscription_callback(long func_id); void register_e2sm(long func_id, OCTET_STRING_t* ostr); void register_subscription_callback(long func_id, SubscriptionCallback cb); void encode_and_send_sctp_data(E2AP_PDU_t* pdu); int run_loop(int argc, char* argv[]); }; #endif