text: /**
  * helloworld API
  * Helloworld Service
  *
  * OpenAPI spec version: 2.0
  *
  * NOTE: This class is auto generated by the swagger code generator program.
  * https://github.com/polycube-network/swagger-codegen.git
  * branch polycube
  */
  
  
  /* Do not edit this file manually */
  
  /*
  * HelloworldApiImpl.h
  *
  *
  */
  
  #pragma once
  
  #include "HelloworldApi.h"
  
  
  #include <memory>
  #include <map>
  #include <mutex>
  #include "../Helloworld.h"
  
  #include "HelloworldJsonObject.h"
  #include "PortsJsonObject.h"
  #include <vector>
  
  namespace io {
  namespace swagger {
  namespace server {
  namespace api {
  
  using namespace io::swagger::server::model;
  
  class HelloworldApiImpl : public io::swagger::server::api::HelloworldApi {
  public:
    HelloworldApiImpl();
    ~HelloworldApiImpl() { };
  
    void create_helloworld_by_id(const std::string &name, const HelloworldJsonObject &value);
    void create_helloworld_ports_by_id(const std::string &name, const std::string &portsName, const PortsJsonObject &value);
    void create_helloworld_ports_list_by_id(const std::string &name, const std::vector<PortsJsonObject> &value);
    void delete_helloworld_by_id(const std::string &name);
    void delete_helloworld_ports_by_id(const std::string &name, const std::string &portsName);
    void delete_helloworld_ports_list_by_id(const std::string &name);
    HelloworldActionEnum read_helloworld_action_by_id(const std::string &name);
    HelloworldJsonObject read_helloworld_by_id(const std::string &name);
    std::vector<HelloworldJsonObject> read_helloworld_list_by_id();
    std::vector<nlohmann::fifo_map<std::string, std::string>> read_helloworld_list_by_id_get_list();
    HelloworldLoglevelEnum read_helloworld_loglevel_by_id(const std::string &name);
    PortsJsonObject read_helloworld_ports_by_id(const std::string &name, const std::string &portsName);
    std::vector<PortsJsonObject> read_helloworld_ports_list_by_id(const std::string &name);
    std::vector<nlohmann::fifo_map<std::string, std::string>> read_helloworld_ports_list_by_id_get_list(const std::string &name);
    std::string read_helloworld_ports_peer_by_id(const std::string &name, const std::string &portsName);
    PortsStatusEnum read_helloworld_ports_status_by_id(const std::string &name, const std::string &portsName);
    std::string read_helloworld_ports_uuid_by_id(const std::string &name, const std::string &portsName);
    CubeType read_helloworld_type_by_id(const std::string &name);
    std::string read_helloworld_uuid_by_id(const std::string &name);
    void replace_helloworld_by_id(const std::string &name, const HelloworldJsonObject &value);
    void replace_helloworld_ports_by_id(const std::string &name, const std::string &portsName, const PortsJsonObject &value);
    void replace_helloworld_ports_list_by_id(const std::string &name, const std::vector<PortsJsonObject> &value);
    void update_helloworld_action_by_id(const std::string &name, const HelloworldActionEnum &value);
    void update_helloworld_by_id(const std::string &name, const HelloworldJsonObject &value);
    void update_helloworld_list_by_id(const std::vector<HelloworldJsonObject> &value);
    void update_helloworld_loglevel_by_id(const std::string &name, const HelloworldLoglevelEnum &value);
    void update_helloworld_ports_by_id(const std::string &name, const std::string &portsName, const PortsJsonObject &value);
    void update_helloworld_ports_list_by_id(const std::string &name, const std::vector<PortsJsonObject> &value);
    void update_helloworld_ports_peer_by_id(const std::string &name, const std::string &portsName, const std::string &value);
  
  private:
    std::unordered_map<std::string, std::shared_ptr<Helloworld>> cubes;
    std::shared_ptr<Helloworld> get_cube(const std::string &name);
    std::mutex cubes_mutex;
  };
  
  }
  }
  }
  }
  
  