X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fmodel%2FSubscriptionInstance.cpp;fp=src%2Fmodel%2FSubscriptionInstance.cpp;h=3be4b206e0af916b48e018fb5e1acbaa7692a428;hb=e64778dac480d66d93449efd3e9767cea4f980f9;hp=0000000000000000000000000000000000000000;hpb=56044b79a2282e50a8c271b36289b1724cb40cd8;p=ric-plt%2Fxapp-frame-cpp.git diff --git a/src/model/SubscriptionInstance.cpp b/src/model/SubscriptionInstance.cpp new file mode 100644 index 0000000..3be4b20 --- /dev/null +++ b/src/model/SubscriptionInstance.cpp @@ -0,0 +1,97 @@ +/* +# ================================================================================== +# Copyright (c) 2020 HCL Technologies Limited. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ================================================================================== +*/ +#include"SubscriptionInstance.h" +namespace xapp { + namespace model { + void from_json(const nlohmann::json& j, SubscriptionInstance& ref) { + + std::cout << __PRETTY_FUNCTION__ << std::endl; + ref.validate_json(j); + + j.at("XappEventInstanceId").get_to(ref.XappEventInstanceId); + j.at("E2EventInstanceId").get_to(ref.E2EventInstanceId); + j.at("ErrorCause").get_to(ref.ErrorCause); + j.at("ErrorSource").get_to(ref.ErrorSource); + j.at("TimeoutType").get_to(ref.TimeoutType); + } + void from_json(const nlohmann::json& j, std::vector& ref) { + + std::cout << __PRETTY_FUNCTION__ << std::endl; + for (auto& element : j) { + SubscriptionInstance tmp; + tmp.validate_json(element); + for (auto& val : element.items()) + { + + + if (val.key() == "XappEventInstanceId") { + + tmp.XappEventInstanceId = val.value(); + + } + else if (val.key() == "E2EventInstanceId") { + tmp.E2EventInstanceId = val.value(); + } + else if (val.key() == "ErrorCause") { + tmp.ErrorCause = val.value(); + } + else if (val.key() == "ErrorSource") { + tmp.ErrorSource = val.value(); + } + else if (val.key() == "TimeoutType") { + tmp.TimeoutType = val.value(); + } + + + } + ref.push_back(tmp); + + + } + + + } + + void to_json(nlohmann::json& j, const SubscriptionInstance& ref) { + + j = nlohmann::json{ + {"XappEventInstanceId", ref.XappEventInstanceId}, + {"E2EventInstanceId", ref.E2EventInstanceId}, + {"ErrorCause", ref.ErrorCause}, + {"ErrorSource", ref.ErrorSource}, + {"TimeoutType", ref.TimeoutType} + }; + } + void to_json(nlohmann::json& j, const std::vector& ref) { + + + for (int i = 0; i < ref.size(); i++) + { + + nlohmann::json tmp = nlohmann::json{ + {"XappEventInstanceId", ref[i].XappEventInstanceId}, + {"E2EventInstanceId", ref[i].E2EventInstanceId}, + {"ErrorCause", ref[i].ErrorCause}, + {"ErrorSource", ref[i].ErrorSource}, + {"TimeoutType", ref[i].TimeoutType} + }; + j.push_back(tmp); + } + } + } +} \ No newline at end of file