X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fo1%2FSessionHandler.cpp;h=4fbe39007cad313e02f77a802a1ebdede9febba3;hb=0c4403cc2355cc38d01c6645b1dad36dd4c1daa7;hp=bc6ec9f98e07325b2066d26d11073e2c717ef44b;hpb=0bdf00d1edf579ee8b5841e1a80d48d9bb91c7e8;p=o-du%2Fl2.git diff --git a/src/o1/SessionHandler.cpp b/src/o1/SessionHandler.cpp index bc6ec9f98..4fbe39007 100644 --- a/src/o1/SessionHandler.cpp +++ b/src/o1/SessionHandler.cpp @@ -24,7 +24,9 @@ #include "sysrepo.h" #include "SessionHandler.hpp" #include "InitConfig.hpp" -#include +#include "NrCellCb.hpp" +#include "NrCellDuCb.hpp" +#include "RrmPolicyCb.hpp" using namespace std; /* Default constructor */ @@ -35,7 +37,7 @@ SessionHandler::SessionHandler() /* Destructor */ SessionHandler::~SessionHandler() -{ +{ } /********************************************************************** @@ -50,15 +52,46 @@ bool SessionHandler::init() { try { - O1_LOG("\nO1 SessionHandler : Initialization done"); mConn = createConnection(); - O1_LOG("\nO1 SessionHandler : Initialization done"); - mSess = createSession(mConn); - mSub = createSubscribe(mSess); - O1_LOG("\nO1 SessionHandler : Initialization done"); - //InitConfig initConf; - InitConfig::instance().init(mSess); - return true; + if(mConn != NULL) + { + O1_LOG("\nO1 SessionHandler : Connection created"); + //removing nacm module temperary for auth issue resolve + //mConn.remove_module("ietf-netconf-acm"); + mSess = createSession(mConn); + if(mSess != NULL) + { + O1_LOG("\nO1 SessionHandler : Session created"); + mSub = createSubscribe(mSess); + if(mSub != NULL) + { + O1_LOG("\nO1 SessionHandler : Subscription created"); + if(InitConfig::instance().init(mSess)) + { + return true; + } + else + { + return false; + } + } + else + { + O1_LOG("\nO1 SessionHandler : Subscription failed"); + return false; + } + } + else + { + O1_LOG("\nO1 SessionHandler : Session failed"); + return false; + } + } + else + { + O1_LOG("\nO1 SessionHandler : connection failed"); + return false; + } } catch( const std::exception& e ) { @@ -124,6 +157,26 @@ bool SessionHandler::subscribeModule(sysrepo::S_Subscribe subscrb) subscrb->oper_get_items_subscribe(ALARM_MODULE_NAME_ORAN, \ ALARM_MODULE_PATH_ORAN, \ alarmOranCb); + + sysrepo::S_Callback nrCellCb(new NrCellCb()); + + subscrb->oper_get_items_subscribe(CELL_STATE_MODULE_NAME, \ + CELL_STATE_MODULE_PATH, \ + nrCellCb); + subscrb->module_change_subscribe(CELL_STATE_MODULE_NAME, nrCellCb); + + sysrepo::S_Callback nrCellDuCb(new NrCellDuCb()); + subscrb->oper_get_items_subscribe(MANAGED_ELEMENT_MODULE_NAME, \ + MANAGED_ELEMENT_MODULE_PATH, \ + nrCellDuCb); + subscrb->module_change_subscribe(MANAGED_ELEMENT_MODULE_NAME, nrCellDuCb); + + sysrepo::S_Callback rrmPolicyCb(new RrmPolicyCb()); + subscrb->oper_get_items_subscribe(RRMPOLICY_MODULE_NAME, \ + RRMPOLICY_MODULE_PATH, \ + rrmPolicyCb); + subscrb->module_change_subscribe(RRMPOLICY_MODULE_NAME, rrmPolicyCb); + return true; }