|
- #pragma once
-
- #include <cppcore/conversion/convert_cast.h>
-
- #include "daemon.h"
-
- namespace cppmicrohttpd
- {
-
- /* daemon */
-
- MHD_Daemon * daemon::handle() const
- { return _handle.get(); }
-
- void daemon::run()
- {
- if (MHD_run(_handle.get()) != MHD_YES)
- throw exception("Unable to execute MHD_run");
- }
-
- void daemon::run(
- const ::cppcore::fdset& p_read,
- const ::cppcore::fdset& p_write,
- const ::cppcore::fdset& p_except)
- {
- if (MHD_run_from_select(_handle.get(), &p_read, &p_write, &p_except) != MHD_YES)
- throw exception("Unable to execute MHD_run_from_select");
- }
-
- int daemon::prepare_fdsets(
- ::cppcore::fdset& p_read,
- ::cppcore::fdset& p_write,
- ::cppcore::fdset& p_except) const
- {
- int ret = 0;
- if (MHD_get_fdset(_handle.get(), &p_read, &p_write, &p_except, &ret) != MHD_YES)
- throw exception("Unable to execute MHD_get_fdset");
- return ret;
- }
-
- long long daemon::get_timeout() const
- {
- unsigned long long timeout = 0;
- if (MHD_get_timeout(_handle.get(), &timeout) != MHD_YES)
- return -1;
- return cppcore::convert_cast<long long>(timeout);
- }
-
- }
|