From ff72fbc6bcaf916eb177e0ef40cb3630bdbbfc8e Mon Sep 17 00:00:00 2001
From: Xenofon Foukas <x.foukas@sms.ed.ac.uk>
Date: Tue, 9 Feb 2016 13:33:48 +0000
Subject: [PATCH] Integrated progRAN config messages to OAI agent and created
 stubs for handler and destructor functions

---
 openair2/ENB_APP/MESSAGES/V2/progran.proto | 12 +++---
 openair2/ENB_APP/enb_agent_common.c        | 45 ++++++++++++++++++++++
 openair2/ENB_APP/enb_agent_common.h        | 15 ++++++++
 openair2/ENB_APP/enb_agent_handler.c       | 16 +++++++-
 4 files changed, 80 insertions(+), 8 deletions(-)

diff --git a/openair2/ENB_APP/MESSAGES/V2/progran.proto b/openair2/ENB_APP/MESSAGES/V2/progran.proto
index f1178c0f57..2bcf9bbc95 100644
--- a/openair2/ENB_APP/MESSAGES/V2/progran.proto
+++ b/openair2/ENB_APP/MESSAGES/V2/progran.proto
@@ -17,12 +17,12 @@ message progran_message {
 	      prp_stats_reply stats_reply_msg = 5;
 	      prp_sf_trigger sf_trigger_msg = 6;
 	      prp_ul_sr_info ul_sr_info_msg = 7;
-	      prp_enb_config_request enb_config_request = 8;
-	      prp_enb_config_reply enb_config_reply = 9;
-	      prp_ue_config_request ue_config_request = 10;
-	      prp_ue_config_reply ue_config_reply = 11;
-	      prp_lc_config_request lc_config_request = 12;
-	      prp_lc_config_reply lc_config_reply = 13;
+	      prp_enb_config_request enb_config_request_msg = 8;
+	      prp_enb_config_reply enb_config_reply_msg = 9;
+	      prp_ue_config_request ue_config_request_msg = 10;
+	      prp_ue_config_reply ue_config_reply_msg = 11;
+	      prp_lc_config_request lc_config_request_msg = 12;
+	      prp_lc_config_reply lc_config_reply_msg = 13;
 	      prp_dl_mac_config dl_mac_config_msg = 14;
 	}
 }
diff --git a/openair2/ENB_APP/enb_agent_common.c b/openair2/ENB_APP/enb_agent_common.c
index ab9546036f..7c820bfa5c 100644
--- a/openair2/ENB_APP/enb_agent_common.c
+++ b/openair2/ENB_APP/enb_agent_common.c
@@ -261,6 +261,51 @@ int enb_agent_destroy_echo_reply(Protocol__ProgranMessage *msg) {
   return -1;
 }
 
+int enb_agent_enb_config_reply(mid_t mod_id, const void *params, Protocol__ProgranMessage **msg) {
+  /* TODO: Create a reply progRAN message with the current eNB configuration */
+  return 0;
+}
+
+int enb_agent_destroy_enb_config_reply(Protocol__ProgranMessage *msg) {
+  /* TODO: Deallocate memory for a dynamically allocated eNB config message */
+  return 0;
+}
+
+int enb_agent_ue_config_reply(mid_t mod_id, const void *params, Protocol__ProgranMessage **msg) {
+  /* TODO: Create a reply progRAN message with the current UE configurations */
+  return 0;
+}
+
+int enb_agent_destroy_ue_config_reply(Protocol__ProgranMessage *msg) {
+  /*TODO: Deallocate memory for a dynamically allocated UE config message */
+  return 0;
+}
+
+int enb_agent_lc_config_reply(mid_t mod_id, const void *params, Protocol__ProgranMessage **msg) {
+  /* TODO: Create a reply progRAN message with the current LC configurations */
+  return 0;
+}
+
+int enb_agent_destroy_lc_config_reply(Protocol__ProgranMessage *msg) {
+  /* TODO: Deallocate memory for a dynamically allocated LC config message */
+  return 0;
+}
+
+int enb_agent_destroy_enb_config_request(Protocol__ProgranMessage *msg) {
+  /* TODO: Deallocate memory for a dynamically allocated eNB config message */
+  return 0;
+}
+
+int enb_agent_destroy_ue_config_request(Protocol__ProgranMessage *msg) {
+  /* TODO: Deallocate memory for a dynamically allocated UE config message */
+  return 0;
+}
+
+int enb_agent_destroy_lc_config_request(Protocol__ProgranMessage *msg) {
+  /* TODO: Deallocate memory for a dynamically allocated LC config message */
+  return 0;
+}
+
 /*
  * get generic info from RAN
  */
diff --git a/openair2/ENB_APP/enb_agent_common.h b/openair2/ENB_APP/enb_agent_common.h
index 4762637b66..afa2179ff4 100644
--- a/openair2/ENB_APP/enb_agent_common.h
+++ b/openair2/ENB_APP/enb_agent_common.h
@@ -91,6 +91,21 @@ int enb_agent_destroy_echo_request(Protocol__ProgranMessage *msg);
 int enb_agent_echo_reply(mid_t mod_id, const void *params, Protocol__ProgranMessage **msg);
 int enb_agent_destroy_echo_reply(Protocol__ProgranMessage *msg);
 
+int enb_agent_enb_config_reply(mid_t mod_id, const void *params, Protocol__ProgranMessage **msg);
+int enb_agent_destroy_enb_config_reply(Protocol__ProgranMessage *msg);
+
+int enb_agent_ue_config_reply(mid_t mod_id, const void *params, Protocol__ProgranMessage **msg);
+int enb_agent_destroy_ue_config_reply(Protocol__ProgranMessage *msg);
+
+int enb_agent_lc_config_reply(mid_t mod_id, const void *params, Protocol__ProgranMessage **msg);
+int enb_agent_destroy_lc_config_reply(Protocol__ProgranMessage *msg);
+
+int enb_agent_destroy_enb_config_request(Protocol__ProgranMessage *msg);
+
+int enb_agent_destroy_ue_config_request(Protocol__ProgranMessage *msg);
+
+int enb_agent_destroy_lc_config_request(Protocol__ProgranMessage *msg);
+
 
 Protocol__ProgranMessage* enb_agent_handle_message (mid_t mod_id, 
 						    uint8_t *data, 
diff --git a/openair2/ENB_APP/enb_agent_handler.c b/openair2/ENB_APP/enb_agent_handler.c
index 4894683723..9815732088 100644
--- a/openair2/ENB_APP/enb_agent_handler.c
+++ b/openair2/ENB_APP/enb_agent_handler.c
@@ -48,8 +48,14 @@ enb_agent_message_decoded_callback agent_messages_callback[][3] = {
   {enb_agent_mac_handle_stats, 0, 0}, /*PROTOCOL__PROGRAN_MESSAGE__MSG_STATS_REQUEST_MSG*/
   {0, 0, 0}, /*PROTOCOL__PROGRAN_MESSAGE__MSG_STATS_REPLY_MSG*/
   {0, 0, 0}, /*PROTOCOK__PROGRAN_MESSAGE__MSG_SF_TRIGGER_MSG*/
-  {0, 0, 0}, /*SR_INFO*/
-  {0, 0, 0}, /*DL_MAC_CONFIG*/
+  {0, 0, 0}, /*PROTOCOL__PROGRAN_MESSAGE__MSG_UL_SR_INFO_MSG*/
+  {enb_agent_enb_config_reply, 0, 0}, /*PROTOCOL__PROGRAN_MESSAGE__MSG_ENB_CONFIG_REQUEST_MSG*/
+  {0, 0, 0}, /*PROTOCOL__PROGRAN_MESSAGE__MSG_ENB_CONFIG_REPLY_MSG*/
+  {enb_agent_ue_config_reply, 0, 0}, /*PROTOCOL__PROGRAN_MESSAGE__MSG_UE_CONFIG_REQUEST_MSG*/
+  {0, 0, 0}, /*PROTOCOL__PROGRAN_MESSAGE__MSG_UE_CONFIG_REPLY_MSG*/
+  {enb_agent_lc_config_reply, 0, 0}, /*PROTOCOL__PROGRAN_MESSAGE__MSG_LC_CONFIG_REQUEST_MSG*/
+  {0, 0, 0}, /*PROTOCOL__PROGRAN_MESSAGE__MSG_LC_CONFIG_REPLY_MSG*/
+  {0, 0, 0}, /*PROTOCOL__PROGRAN_MESSAGE__MSG_DL_MAC_CONFIG_MSG*/
 
 };
 
@@ -61,6 +67,12 @@ enb_agent_message_destruction_callback message_destruction_callback[] = {
   enb_agent_mac_destroy_stats_reply,
   enb_agent_mac_destroy_sf_trigger,
   enb_agent_mac_destroy_sr_info,
+  enb_agent_destroy_enb_config_request,
+  enb_agent_destroy_enb_config_reply,
+  enb_agent_destroy_ue_config_request,
+  enb_agent_destroy_ue_config_reply,
+  enb_agent_destroy_lc_config_request,
+  enb_agent_destroy_lc_config_reply,
   enb_agent_mac_destroy_dl_config,
 };
 
-- 
GitLab