Added IndicationMessage
[ric-app/hw.git] / src / xapp-asn / e2sm / e2sm_indication.hpp
index a7fcdd7..00c2a23 100644 (file)
 /* Classes to handle E2 service model based on e2sm-HelloWorld-v001.asn */
 #ifndef SRC_XAPP_ASN_E2SM_E2SM_INDICATION_HPP_
 #define SRC_XAPP_ASN_E2SM_E2SM_INDICATION_HPP_
-
 #include <sstream>
-#include <e2sm_helpers.hpp>
 #include <mdclog/mdclog.h>
 #include <vector>
-
+#include<iostream>
 #include <E2SM-HelloWorld-IndicationHeader.h>
 #include <E2SM-HelloWorld-IndicationMessage.h>
 #include <E2SM-HelloWorld-IndicationHeader-Format1.h>
 #include <E2SM-HelloWorld-IndicationMessage-Format1.h>
 #include <HW-Header.h>
 #include <HW-Message.h>
-
-class e2sm_indication {
+class HWIndicationHeader {
 public:
-       e2sm_indication(void);
-  ~e2sm_indication(void);
+       HWIndicationHeader(void);
+       HWIndicationHeader(unsigned char*, size_t *);
+  ~HWIndicationHeader(void);
+   std::string  get_error (void) const {return _error_string ;};
+
+  long int get_hw_header(){return this->_hw_header;};
+
+  HWIndicationHeader& set_ricIndicationHeader(int param_header){
+                               _hw_header = param_header; return *this;
+                       }
+  bool decode(unsigned char*, size_t *);
+  bool encode(unsigned char*, size_t *);
 
-  bool set_fields(E2SM_HelloWorld_IndicationHeader_t *, e2sm_indication_helper &);
-  bool set_fields(E2SM_HelloWorld_IndicationMessage_t *, e2sm_indication_helper &);
 
-  bool get_fields(E2SM_HelloWorld_IndicationHeader_t *, e2sm_indication_helper &);
-  bool get_fields(E2SM_HelloWorld_IndicationMessage_t *, e2sm_indication_helper &);
+private:
 
-  bool encode_indication_header(unsigned char *, size_t *, e2sm_indication_helper &);
-  bool encode_indication_message(unsigned char*, size_t *, e2sm_indication_helper &);
+  long int _hw_header;
+  E2SM_HelloWorld_IndicationHeader_t * _header; // used for encoding
+  E2SM_HelloWorld_IndicationHeader_Format1_t _header_fmt1;
 
+  bool setfields(E2SM_HelloWorld_IndicationHeader_t *);
 
-  std::string  get_error (void) const {return error_string ;};
+  size_t _errbuf_len = 128;
+  char _errbuf[128];
+  std::string _error_string;
+};
 
+class HWIndicationMessage {
+public:
+       HWIndicationMessage(void);
+       HWIndicationMessage(unsigned char*, size_t *);
+  ~HWIndicationMessage(void);
+
+  std::string  get_error (void) const {return _error_string ;};
+  bool decode(unsigned char*, size_t *);
+  bool encode(unsigned char*, size_t *);
+
+  size_t get_hw_message_size(){return this->_hw_msg_size;};
+  unsigned char* get_hw_message(){return this->_hw_msg;};
+  HWIndicationMessage& set_hw_message(std::string msg)
+  {
+         _hw_msg_size=strlen(msg.c_str());
+          strncpy((char*)_hw_msg,msg.c_str(),_hw_msg_size);
+          return *this;
+  }
 private:
 
-  E2SM_HelloWorld_IndicationHeader_t * indication_head; // used for encoding
-  E2SM_HelloWorld_IndicationMessage_t* indication_msg;
-  E2SM_HelloWorld_IndicationHeader_Format1_t head_fmt1;
-  E2SM_HelloWorld_IndicationMessage_Format1_t msg_fmt1;
+  size_t _hw_msg_size;
+  unsigned char _hw_msg[30];
 
+  E2SM_HelloWorld_IndicationMessage_t* _message;
+  E2SM_HelloWorld_IndicationMessage_Format1_t _message_fmt1;
 
-  size_t errbuf_len;
-  char errbuf[128];
-  std::string error_string;
-};
+  bool setfields(E2SM_HelloWorld_IndicationMessage_t *);
 
+  size_t _errbuf_len = 128;
+  char _errbuf[128];
+  std::string _error_string;
+};
 
+#endif
 
 
-#endif /* SRC_XAPP_ASN_E2SM_E2SM_INDICATION_HPP_ */