Cell down alarm notification [Issue-Id: ODUHIGH-430]
[o-du/l2.git] / src / o1 / O1App.cpp
index 05bdf7e..0d2ba2e 100644 (file)
 #include "O1App.hpp"
 #include "GlobalDefs.hpp"
 #include "SessionHandler.hpp"
-#include "ConfigInterface.h"
+#include "CmInterface.h"
 #include <unistd.h>
 
 #include "VesUtils.hpp"
 #include "VesEventHandler.hpp"
+
+
 /*******************************************************************
  *
  * @brief Constructor
@@ -71,7 +73,7 @@ O1App::~O1App()
 
 /*******************************************************************
  *
- * @brief Runs the O1 modules as a thread 
+ * @brief Runs the O1 modules as a thread
  *
  * @details
  *
@@ -89,51 +91,48 @@ O1App::~O1App()
 
 bool O1App::run()
 {
-    
+   const int SLEEP_INTERVAL = 2;
+   const int DEFAUL_CELL_ID = 1;
    SessionHandler sessHdlr;
-   /*send ves PNF registration request*/
-   VesEventHandler vesEvtHdr;
-   O1_LOG("\nO1 O1App : Sending VES Event");
-   if(!vesEvtHdr.send(VesEventType::PNF_REGISTRATION))
-   {
-      O1_LOG("\nO1 O1App : Could not send VES Request");
-      return false;
-   }
+
+   /*setting default cell state disabled*/
+   setCellOpState(DEFAUL_CELL_ID, DISABLED, INACTIVE);
 
    /* Start Netconf session and subscribe to yang modules */
    try
    {
       if( !sessHdlr.init() )
       {
-         O1_LOG("\nO1 O1App : SessionHandler initialization failed ");         
+         O1_LOG("\nO1 O1App : SessionHandler initialization failed ");
          return false;
       }
    }
-   catch( const std::exception& e ) 
+   catch( const std::exception& e )
    {
       O1_LOG("\nO1 O1App : Exception : %s", e.what());
       return false;
    }
-   
+
    /* Start the Unix Socket Server to listen for alarm messages */
+   AlarmManager::instance().subscribe(&mUxSocketServer);
    if( mUxSocketServer.start() )
-   {  
-      
+   {
+
       if(mUxSocketServer.setAffinity(O1::CPU_CORE))
       {
-         O1_LOG("\nO1 O1App : CPU affinity set " );
+         O1_LOG("\nO1 O1App : CPU affinity set for UnixSocketServer thread to " );
          mUxSocketServer.printAffinity();
       }
-      
-      sleep(2);
-      if( mUxSocketServer.isRunning() )  
+
+      sleep(SLEEP_INTERVAL);
+      if( mUxSocketServer.isRunning() )
       {
          mStartupStatus = true;
-         O1_LOG("\nO1 O1App : Unix Socket server started\n");
+         O1_LOG("\nO1 O1App : Unix Socket server started");
       }
       else
       {
-         O1_LOG("\nO1 O1App : Unix Socket server failed to start\n");
+         O1_LOG("\nO1 O1App : Unix Socket server failed to start");
          return false;
       }
       /* Wait for the Unix Socket Server thread to end*/
@@ -141,7 +140,7 @@ bool O1App::run()
    }
    else
    {
-      O1_LOG("\nO1 O1App : Unix Socket server failed to start\n");
+      O1_LOG("\nO1 O1App : Unix Socket server failed to start");
       return false;
    }
    return true;