#ifndef CONEXION_SSL_H
#define CONEXION_SSL_H
#include "conexion.h"

#include <openssl/ssl.h>

class conexion_ssl : public conexion
{
public:
  /**
   * @brief conexion
   * Object that launch the secure server and start the secure sessions
   * @param conf Configuration file
   */
    conexion_ssl(config_reader &conf);
    void start_server();
private:
    /**
     * @brief create_context
     * Create the SSL context
     * @return SSL context
     */
    SSL_CTX *create_context();
    /**
     * @brief configure_context
     * Configure the SSL context
     * @param ctx Contest to configure
     */
    void configure_context(SSL_CTX *ctx);
};

#endif // CONEXION_SSL_H