#pragma once
#include "Data.hpp"
#include "DB.hpp"
{{#if Include}}
#include "{{Include}}"
{{/if}}


namespace {{NameSpace}}
{
    class {{RunnableType}}Runnable
    {
    private:
        {{#each OutputPorts}}
        {{this.Type}} _{{this.Name}};
        {{/each}}
        
        {{#each InputPorts}}
        CData<{{this.Type}}> *p_{{this.Name}};
        {{/each}}

    public:
        void run();
        void init();
        void run_user();
        {{#each OutputPorts}}
        {{this.Type}} get_{{this.Name}}();
        {{/each}}
    };
}
