Adding initial code jy.oak@samsung.com
[ric-app/kpimon.git] / src / E2AP-c / subscription / subscription_response.hpp
diff --git a/src/E2AP-c/subscription/subscription_response.hpp b/src/E2AP-c/subscription/subscription_response.hpp
new file mode 100755 (executable)
index 0000000..6af149c
--- /dev/null
@@ -0,0 +1,82 @@
+/*\r
+==================================================================================\r
+        Copyright (c) 2018-2019 AT&T Intellectual Property.\r
+\r
+   Licensed under the Apache License, Version 2.0 (the "License");\r
+   you may not use this file except in compliance with the License.\r
+   You may obtain a copy of the License at\r
+\r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+   Unless required by applicable law or agreed to in writing, software\r
+   distributed under the License is distributed on an "AS IS" BASIS,\r
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+   See the License for the specific language governing permissions and\r
+   limitations under the License.\r
+==================================================================================\r
+*/\r
+\r
+#pragma once\r
+\r
+#ifndef S_RESPONSE_\r
+#define S_RESPONSE_\r
+\r
+#include <mdclog/mdclog.h>\r
+#include <vector>\r
+#include <iostream>\r
+#include <sstream>\r
+#include <response_helper.hpp>\r
+  \r
+#include <asn_application.h>\r
+#include <E2AP-PDU.h>\r
+#include<SuccessfulOutcome.h>\r
+#include<UnsuccessfulOutcome.h>\r
+#include <ProtocolIE-Field.h>\r
+#include <ProtocolIE-Single-Container.h>\r
+#include <ProcedureCode.h>\r
+\r
+#define NUM_SUBSCRIPTION_RESPONSE_IES 4\r
+#define NUM_SUBSCRIPTION_FAILURE_IES 3\r
+#define INITIAL_LIST_SIZE 4\r
+  \r
+class subscription_response{   \r
+public:\r
+    \r
+  subscription_response(void);\r
+  ~subscription_response(void);\r
+    \r
+  bool encode_e2ap_subscription_response(unsigned char *, size_t *, E2AP_PDU_t *, subscription_response_helper &, bool);\r
+  void set_fields(SuccessfulOutcome_t *, subscription_response_helper &);\r
+  void get_fields(SuccessfulOutcome_t *, subscription_response_helper &);\r
+    \r
+  void set_fields(UnsuccessfulOutcome_t *, subscription_response_helper &);\r
+  void get_fields(UnsuccessfulOutcome_t *, subscription_response_helper &);\r
+  \r
+  std::string get_error_string(void) const{\r
+    return error_string;\r
+  }\r
+    \r
+private:\r
+\r
+  E2AP_PDU_t * e2ap_pdu_obj;\r
+  SuccessfulOutcome_t * successMsg;\r
+  UnsuccessfulOutcome_t * unsuccessMsg;\r
+    \r
+\r
+  RICsubscriptionResponse_IEs_t *IE_array;\r
+  RICsubscriptionFailure_IEs_t *IE_Failure_array;\r
+  \r
+\r
+  RICaction_Admitted_ItemIEs_t * ie_admitted_list;\r
+  RICaction_NotAdmitted_ItemIEs_t * ie_not_admitted_list;\r
+  unsigned int ie_admitted_list_size, ie_not_admitted_list_size;\r
+  \r
+  char errbuf[128];\r
+  size_t errbuf_len = 128;\r
+  std::string error_string;\r
+};\r
+\r
+\r
+\r
+\r
+#endif\r