Updating RMR version
[ric-app/hw.git] / src / hw_xapp_main.cc
index 655f452..a4a5eef 100644 (file)
@@ -60,41 +60,36 @@ int main(int argc, char *argv[]){
 
 
        //Create Subscription Handler if Xapp deals with Subscription.
-       bool sub_required = true;
-       std::unique_ptr<SubscriptionHandler> sub_handler = std::make_unique<SubscriptionHandler>();
+       //std::unique_ptr<SubscriptionHandler> sub_handler = std::make_unique<SubscriptionHandler>();
+
+       SubscriptionHandler sub_handler;
 
        //create HelloWorld Xapp Instance.
        std::unique_ptr<Xapp> hw_xapp;
-       if(sub_required)
-               hw_xapp = std::make_unique<Xapp>(std::ref(config),std::ref(*rmr), std::ref(*sub_handler));
-       else
-               hw_xapp = std::make_unique<Xapp>(std::ref(config),std::ref(*rmr));
+       hw_xapp = std::make_unique<Xapp>(std::ref(config),std::ref(*rmr));
 
        mdclog_write(MDCLOG_INFO, "Created Hello World Xapp Instance");
-
-       sleep(1);
        //Startup E2 subscription and A1 policy
-       hw_xapp->startup();
+       hw_xapp->startup(sub_handler);
+
+       sleep(10);
 
 
        //start listener threads and register message handlers.
        int num_threads = std::stoi(config[XappSettings::SettingName::THREADS]);
-       for(int j=0; j < num_threads; j++) {
-               std::unique_ptr<XappMsgHandler> mp_handler;
-               if(sub_required)
-                       mp_handler = std::make_unique<XappMsgHandler>(config[XappSettings::SettingName::XAPP_ID], std::ref(*sub_handler));
-               else
-                       mp_handler = std::make_unique<XappMsgHandler>(config[XappSettings::SettingName::XAPP_ID]);
+       mdclog_write(MDCLOG_INFO, "Starting Listener Threads. Number of Workers = %d", num_threads);
+
+       std::unique_ptr<XappMsgHandler> mp_handler = std::make_unique<XappMsgHandler>(config[XappSettings::SettingName::XAPP_ID], sub_handler);
+
+       hw_xapp->start_xapp_receiver(std::ref(*mp_handler));
+
+       sleep(1);
 
-               hw_xapp->register_handler(std::ref(*mp_handler));
-       }
 
-       mdclog_write(MDCLOG_INFO, "Starting Listener Threads. Number of Workers = %d", num_threads);
 
-       hw_xapp->Run();
+    //hw_xapp->Run() //for spinning multiple receiving threads.
 
-       //Delete all subscriptions if any based on Xapp Mode.
-       //xapp->shutdown();
+       //hw_xapp->shutdown();
 
        while(1){
                                sleep(1);