/*
DO NOT MODIFY THIS FILE.  It is automatically generated and changes will be over-written
on the next generation.

It contains enumerations used by the {{stinger.name}} interface.

LICENSE: This generated code is not subject to any license restrictions from the generator itself.
TODO: Get license text from stinger file
*/

#pragma once
#include <string>
#include <cstddef>
#include <chrono>
#include <vector>
#include "utils.hpp"
#include <rapidjson/document.h>
#include "{{stinger.cpp.enum_header_file}}"
#include "conversions.hpp"

{%for istruct_name, istruct in stinger.structs.items() %}
struct {{istruct_name | UpperCamelCase }} {
    static {{istruct_name | UpperCamelCase }} FromRapidJsonObject(const rapidjson::Value& jsonObj);
    void AddToRapidJsonObject(rapidjson::Value& parent, rapidjson::Document::AllocatorType& allocator) const;
    {%-for value in istruct.members %}
    {{value.cpp_temp_type}} {{value.name|lowerCamelCase}};
    {%-endfor%}
};
{%endfor%}
