danicoin/src/daemonizer/daemonizer.h
Thomas Winget 9193d6fb5b
Daemonize changes pulled in -- daemon builds
many RPC functions added by the daemonize changes
(and related changes on the upstream dev branch that were not merged)
were commented out (apart from return).  Other than that, this *should*
work...at any rate, it builds, and that's something.
2015-02-24 00:05:19 -05:00

39 lines
1.1 KiB
C++

#pragma once
#include <boost/filesystem/path.hpp>
#include <boost/program_options/options_description.hpp>
#include <boost/program_options/variables_map.hpp>
namespace daemonizer
{
void init_options(
boost::program_options::options_description & hidden_options
, boost::program_options::options_description & normal_options
);
boost::filesystem::path get_default_data_dir();
boost::filesystem::path get_relative_path_base(
boost::program_options::variables_map const & vm
);
/**
* @arg create_before_detach - this indicates that the daemon should be
* created before the fork, giving it a chance to report initialization
* errors. At the time of this writing, this is not possible in the primary
* daemon (likely due to the size of the blockchain in memory).
*/
template <typename T_executor>
bool daemonize(
int argc, char const * argv[]
, T_executor && executor // universal ref
, boost::program_options::variables_map const & vm
);
}
#ifdef WIN32
# include "daemonizer/windows_daemonizer.inl"
#else
# include "daemonizer/posix_daemonizer.inl"
#endif