+#ifndef XAPP_MODEL_SubsequentAction_H
+#define XAPP_MODEL_SubsequentAction_H
+#include "ModelBase.h"
+
+namespace xapp {
+namespace model {
+
+struct SubsequentAction: ModelBase {
+ std::string SubsequentActionType;
+ std::string TimeToWait;
+ json validator_schema = R"(
+ {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "SubsequentAction",
+ "properties": {
+ "SubsequentActionType": {
+ "description": "Type of Subsequent Action",
+ "type": "string",
+ "enum": ["wait", "continue"]
+
+ },
+ "TimeToWait": {
+ "description": "Time to waiting",
+ "type": "string",
+ "enum": ["zero", "w1ms", "w2ms", "w5ms", "w10ms", "w20ms", "w30ms",
+ "w40ms", "w50ms", "w100ms", "w200ms", "w500ms", "w1s",
+ "w2s", "w5s", "w10s", "w20s", "w60s"]
+ }
+ },
+ "required": [
+ "SubsequentActionType",
+ "TimeToWait"
+ ],
+ "type": "object"
+ })"_json;
+
+ virtual json get_validator_schema() const { return validator_schema; }
+};
+
+void from_json(const json& j, SubsequentAction& ref) {
+
+ std::cout << __PRETTY_FUNCTION__ << "\n";
+ ref.validate_json(j);
+
+ j.at("SubsequentActionType").get_to(ref.SubsequentActionType);
+ j.at("TimeToWait").get_to(ref.TimeToWait);
+}
+
+void to_json(json& j, const SubsequentAction& ref) {
+
+ j = json {
+ {"SubsequentActionType",ref.SubsequentActionType},
+ {"TimeToWait", ref.TimeToWait}
+ };
+}
+
+} /*model*/
+} /*xapp*/
+#endif /*XAPP_MODEL_SubsequentAction_H*/