// Copyright 2019 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CUPS_PROXY_MHD_UTIL_H_
#define CUPS_PROXY_MHD_UTIL_H_

#include <memory>

#include <base/files/file_util.h>
#include <microhttpd.h>

#include "cups_proxy/mojo_handler.h"

namespace printing {

struct MHDResponseDeleter {
  void operator()(MHD_Response* response) { MHD_destroy_response(response); }
};

// Smart ptr wrapper for MHD_Response
using ScopedMHDResponse = std::unique_ptr<MHD_Response, MHDResponseDeleter>;

struct MHDDaemonDeleter {
  void operator()(MHD_Daemon* daemon) { MHD_stop_daemon(daemon); }
};

// Smart ptr wrapper for MHD_daemon
using ScopedMHDDaemon = std::unique_ptr<MHD_Daemon, MHDDaemonDeleter>;

ScopedMHDDaemon StartMHDDaemon(base::ScopedFD fd, MojoHandler* mojo_handler);

}  // namespace printing

#endif  // CUPS_PROXY_MHD_UTIL_H_
