--- /dev/null
+/*\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_REQUEST\r
+#define S_REQUEST\r
+\r
+#include <mdclog/mdclog.h>\r
+#include <vector>\r
+#include <subscription_helper.hpp>\r
+#include <sstream>\r
+\r
+#include <asn_application.h>\r
+#include <E2AP-PDU.h>\r
+#include <InitiatingMessage.h>\r
+#include <RICsubscriptionRequest.h>\r
+#include <RICsubscription.h>\r
+#include <ProtocolIE-Field.h>\r
+#include <ProtocolIE-Single-Container.h>\r
+#include <RICactions-ToBeSetup-List.h>\r
+\r
+#define NUM_SUBSCRIPTION_REQUEST_IES 3\r
+#define INITIAL_LIST_SIZE 4\r
+ \r
+class subscription_request{ \r
+public:\r
+\r
+ subscription_request(std::string name);\r
+ subscription_request(void);\r
+ ~subscription_request(void);\r
+ \r
+ bool encode_e2ap_subscription(unsigned char *, size_t *, E2AP_PDU_t *, subscription_helper &);\r
+ bool set_fields(InitiatingMessage_t *, subscription_helper &);\r
+ bool get_fields(InitiatingMessage_t *, subscription_helper &);\r
+ \r
+ std::string get_error_string(void) const{\r
+ return error_string;\r
+ }\r
+ \r
+private:\r
+ \r
+ InitiatingMessage_t *initMsg;\r
+ E2AP_PDU_t * e2ap_pdu_obj;\r
+\r
+ RICsubscriptionRequest_IEs_t * IE_array;\r
+ RICaction_ToBeSetup_ItemIEs_t * action_array;\r
+ unsigned int action_array_size; \r
+ char errbuf[128];\r
+ size_t errbuf_len = 128;\r
+ std::string _name;\r
+ std::string error_string;\r
+};\r
+\r
+\r
+\r
+#endif\r