42 const char* log_file = getenv(
"JAMI_LOG_FILE");
45 jami::Logger::setFileLog(log_file);
60 manager.isIOSExtension =
true;
63 manager.syncOnRegister =
false;
85 static bool gnutlsInitialized =
false;
86 if (!gnutlsInitialized) {
87 setenv(
"GNUTLS_SYSTEM_PRIORITY_FILE",
"/dev/null", 1);
91 gnutls_global_deinit();
92 if (gnutls_global_init() < 0) {
96 gnutlsInitialized =
true;
104start(
const std::filesystem::path& config_file)
noexcept
124 jami::Logger::fini();
128logging(
const std::string& whom,
const std::string& action)
noexcept
130 if (
"syslog" == whom) {
131 jami::Logger::setSysLog(not action.empty());
132 }
else if (
"console" == whom) {
133 jami::Logger::setConsoleLog(not action.empty());
134 }
else if (
"monitor" == whom) {
135 jami::Logger::setMonitorLog(not action.empty());
136 }
else if (
"file" == whom) {
137 jami::Logger::setFileLog(action);
139 JAMI_ERR(
"Bad log handler %s", whom.c_str());
147 asio::post(*
io, std::move(cb));
static LIBJAMI_TEST_EXPORT Manager & instance()
static std::atomic_bool initialized
void init(const std::filesystem::path &config_file, libjami::InitFlag flags)
Initialisation of thread (sound) and map.
void post(std::function< void()> cb)
#define JAMI_ERROR(formatstr,...)
SignalHandlerMap & getSignalHandlers()
@ LIBJAMI_FLAG_CONSOLE_LOG
@ LIBJAMI_FLAG_IOS_EXTENSION
@ LIBJAMI_FLAG_AUTOANSWER
@ LIBJAMI_FLAG_NO_AUTOSYNC
void logging(const std::string &whom, const std::string &action) noexcept
Control log handlers.
bool initialized() noexcept
void fini() noexcept
Stop and freeing any resource allocated by daemon.
bool init(enum InitFlag flags) noexcept
Initialize globals, create underlaying daemon.
enum LIBJAMI_PUBLIC enum LIBJAMI_PUBLIC io
static InitFlag initFlags
bool start(const std::filesystem::path &config_file) noexcept
Start asynchronously daemon created by init().