mirror of https://github.com/PentHertz/srsLTE.git
turn usim object into a unique_ptr
This commit is contained in:
parent
4ce8d84339
commit
dcb04c6461
|
@ -114,7 +114,7 @@ private:
|
||||||
srsue::rrc rrc;
|
srsue::rrc rrc;
|
||||||
srsue::nas nas;
|
srsue::nas nas;
|
||||||
srsue::gw gw;
|
srsue::gw gw;
|
||||||
srsue::usim_base* usim;
|
std::unique_ptr<usim_base> usim;
|
||||||
|
|
||||||
srslte::logger* logger;
|
srslte::logger* logger;
|
||||||
|
|
||||||
|
|
|
@ -58,7 +58,7 @@ class usim_base
|
||||||
public:
|
public:
|
||||||
usim_base();
|
usim_base();
|
||||||
virtual ~usim_base();
|
virtual ~usim_base();
|
||||||
static usim_base* get_instance(usim_args_t* args);
|
static std::unique_ptr<usim_base> get_instance(usim_args_t* args);
|
||||||
|
|
||||||
virtual int init(usim_args_t *args, srslte::log *usim_log_) = 0;
|
virtual int init(usim_args_t *args, srslte::log *usim_log_) = 0;
|
||||||
virtual void stop() = 0;
|
virtual void stop() = 0;
|
||||||
|
|
|
@ -103,9 +103,9 @@ int ue_stack_lte::init(const stack_args_t& args_, srslte::logger* logger_)
|
||||||
mac.init(phy, &rlc, &rrc, &mac_log);
|
mac.init(phy, &rlc, &rrc, &mac_log);
|
||||||
rlc.init(&pdcp, &rrc, NULL, &rlc_log, &mac, 0 /* RB_ID_SRB0 */);
|
rlc.init(&pdcp, &rrc, NULL, &rlc_log, &mac, 0 /* RB_ID_SRB0 */);
|
||||||
pdcp.init(&rlc, &rrc, &gw, &pdcp_log, 0 /* RB_ID_SRB0 */, SECURITY_DIRECTION_UPLINK);
|
pdcp.init(&rlc, &rrc, &gw, &pdcp_log, 0 /* RB_ID_SRB0 */, SECURITY_DIRECTION_UPLINK);
|
||||||
nas.init(usim, &rrc, &gw, &nas_log, args.nas);
|
nas.init(usim.get(), &rrc, &gw, &nas_log, args.nas);
|
||||||
gw.init(&pdcp, &nas, &gw_log, args.gw);
|
gw.init(&pdcp, &nas, &gw_log, args.gw);
|
||||||
rrc.init(phy, &mac, &rlc, &pdcp, &nas, usim, &gw, &mac, &rrc_log, args.rrc);
|
rrc.init(phy, &mac, &rlc, &pdcp, &nas, usim.get(), &gw, &mac, &rrc_log, args.rrc);
|
||||||
|
|
||||||
running = true;
|
running = true;
|
||||||
|
|
||||||
|
|
|
@ -28,22 +28,16 @@
|
||||||
|
|
||||||
namespace srsue {
|
namespace srsue {
|
||||||
|
|
||||||
usim_base* usim_base::get_instance(usim_args_t* args)
|
std::unique_ptr<usim_base> usim_base::get_instance(usim_args_t* args)
|
||||||
{
|
{
|
||||||
usim_base* instance = NULL;
|
|
||||||
if (args->mode == "soft") {
|
|
||||||
instance = new usim();
|
|
||||||
}
|
|
||||||
#if HAVE_PCSC
|
#if HAVE_PCSC
|
||||||
else if (args->mode == "pcsc") {
|
if (args->mode == "pcsc") {
|
||||||
instance = new pcsc_usim();
|
return std::unique_ptr<usim_base>(new pcsc_usim());
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
else {
|
|
||||||
// default to soft USIM
|
// default to soft USIM
|
||||||
instance = new usim();
|
return std::unique_ptr<usim_base>(new usim());
|
||||||
}
|
|
||||||
return(instance);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
usim_base::usim_base() {
|
usim_base::usim_base() {
|
||||||
|
|
Loading…
Reference in New Issue