Bitcoin Core 31.99.0
P2P Digital Currency
noui.cpp
Go to the documentation of this file.
1// Copyright (c) 2010 Satoshi Nakamoto
2// Copyright (c) 2009-present The Bitcoin Core developers
3// Distributed under the MIT software license, see the accompanying
4// file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
6#include <noui.h>
7
8#include <btcsignals.h>
9#include <logging.h>
10#include <node/interface_ui.h>
11#include <util/translation.h>
12
13#include <string>
14
19
20bool noui_ThreadSafeMessageBox(const bilingual_str& message, unsigned int style)
21{
22 bool fSecure = style & CClientUIInterface::SECURE;
23 style &= ~CClientUIInterface::SECURE;
24
25 std::string strCaption;
26 switch (style) {
28 strCaption = "Error: ";
29 if (!fSecure) LogError("%s\n", message.original);
30 break;
32 strCaption = "Warning: ";
33 if (!fSecure) LogWarning("%s\n", message.original);
34 break;
36 strCaption = "Information: ";
37 if (!fSecure) LogInfo("%s\n", message.original);
38 break;
39 default:
40 if (!fSecure) LogInfo("%s%s\n", strCaption, message.original);
41 }
42
43 tfm::format(std::cerr, "%s%s\n", strCaption, message.original);
44 return false;
45}
46
47bool noui_ThreadSafeQuestion(const bilingual_str& /* ignored interactive message */, const std::string& message, unsigned int style)
48{
49 return noui_ThreadSafeMessageBox(Untranslated(message), style);
50}
51
52void noui_InitMessage(const std::string& message)
53{
54 LogInfo("init message: %s", message);
55}
56
58{
62}
63
64bool noui_ThreadSafeMessageBoxRedirect(const bilingual_str& message, unsigned int style)
65{
66 LogInfo("%s", message.original);
67 return false;
68}
69
70bool noui_ThreadSafeQuestionRedirect(const bilingual_str& /* ignored interactive message */, const std::string& message, unsigned int style)
71{
72 LogInfo("%s", message);
73 return false;
74}
75
76void noui_InitMessageRedirect(const std::string& message)
77{
78 LogInfo("init message: %s", message);
79}
80
82{
89}
90
92{
97}
Signals for UI communication.
Definition: interface_ui.h:24
@ MSG_INFORMATION
Predefined combinations for certain default usage cases.
Definition: interface_ui.h:64
@ SECURE
Do not print contents of message to debug log.
Definition: interface_ui.h:61
void disconnect()
If a callback is associated with this connection, prevent it from being called in the future.
Definition: btcsignals.h:98
CClientUIInterface uiInterface
#define LogWarning(...)
Definition: log.h:98
#define LogInfo(...)
Definition: log.h:97
#define LogError(...)
Definition: log.h:99
void format(std::ostream &out, FormatStringCheck< sizeof...(Args)> fmt, const Args &... args)
Format list of arguments to the stream according to given format string.
Definition: tinyformat.h:1079
btcsignals::connection noui_InitMessageConn
Definition: noui.cpp:18
bool noui_ThreadSafeQuestion(const bilingual_str &, const std::string &message, unsigned int style)
Non-GUI handler, which logs and prints questions.
Definition: noui.cpp:47
btcsignals::connection noui_ThreadSafeMessageBoxConn
Store connections so we can disconnect them when suppressing output.
Definition: noui.cpp:16
btcsignals::connection noui_ThreadSafeQuestionConn
Definition: noui.cpp:17
bool noui_ThreadSafeMessageBoxRedirect(const bilingual_str &message, unsigned int style)
Definition: noui.cpp:64
void noui_InitMessageRedirect(const std::string &message)
Definition: noui.cpp:76
bool noui_ThreadSafeQuestionRedirect(const bilingual_str &, const std::string &message, unsigned int style)
Definition: noui.cpp:70
void noui_test_redirect()
Redirect all bitcoind signal handlers to LogInfo.
Definition: noui.cpp:81
void noui_InitMessage(const std::string &message)
Non-GUI handler, which only logs a message.
Definition: noui.cpp:52
void noui_reconnect()
Reconnects the regular Non-GUI handlers after having used noui_test_redirect.
Definition: noui.cpp:91
void noui_connect()
Connect all bitcoind signal handlers.
Definition: noui.cpp:57
bool noui_ThreadSafeMessageBox(const bilingual_str &message, unsigned int style)
Non-GUI handler, which logs and prints messages.
Definition: noui.cpp:20
Bilingual messages:
Definition: translation.h:24
std::string original
Definition: translation.h:25
bilingual_str Untranslated(std::string original)
Mark a bilingual_str as untranslated.
Definition: translation.h:82