#include "sysrepo.h"
#include "SessionHandler.hpp"
#include "InitConfig.hpp"
-#include <iostream>
+#include "NrCellCb.hpp"
+#include "NrCellDuCb.hpp"
+#include "RrmPolicyCb.hpp"
using namespace std;
/* Default constructor */
/* Destructor */
SessionHandler::~SessionHandler()
-{
+{
}
/**********************************************************************
{
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 )
{
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;
}