Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F13711250
ui_interface.cpp
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
4 KB
Subscribers
None
ui_interface.cpp
View Options
// Copyright (c) 2010-2016 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include
<ui_interface.h>
#include
<util/translation.h>
#include
<boost/signals2/last_value.hpp>
#include
<boost/signals2/signal.hpp>
CClientUIInterface
uiInterface
;
struct
UISignals
{
boost
::
signals2
::
signal
<
CClientUIInterface
::
ThreadSafeMessageBoxSig
,
boost
::
signals2
::
last_value
<
bool
>>
ThreadSafeMessageBox
;
boost
::
signals2
::
signal
<
CClientUIInterface
::
ThreadSafeQuestionSig
,
boost
::
signals2
::
last_value
<
bool
>>
ThreadSafeQuestion
;
boost
::
signals2
::
signal
<
CClientUIInterface
::
InitMessageSig
>
InitMessage
;
boost
::
signals2
::
signal
<
CClientUIInterface
::
NotifyNumConnectionsChangedSig
>
NotifyNumConnectionsChanged
;
boost
::
signals2
::
signal
<
CClientUIInterface
::
NotifyNetworkActiveChangedSig
>
NotifyNetworkActiveChanged
;
boost
::
signals2
::
signal
<
CClientUIInterface
::
NotifyAlertChangedSig
>
NotifyAlertChanged
;
boost
::
signals2
::
signal
<
CClientUIInterface
::
ShowProgressSig
>
ShowProgress
;
boost
::
signals2
::
signal
<
CClientUIInterface
::
NotifyBlockTipSig
>
NotifyBlockTip
;
boost
::
signals2
::
signal
<
CClientUIInterface
::
NotifyHeaderTipSig
>
NotifyHeaderTip
;
boost
::
signals2
::
signal
<
CClientUIInterface
::
BannedListChangedSig
>
BannedListChanged
;
};
static
UISignals
g_ui_signals
;
#define ADD_SIGNALS_IMPL_WRAPPER(signal_name) \
boost::signals2::connection CClientUIInterface::signal_name##_connect( \
std::function<signal_name##Sig> fn) { \
return g_ui_signals.signal_name.connect(fn); \
}
ADD_SIGNALS_IMPL_WRAPPER
(
ThreadSafeMessageBox
);
ADD_SIGNALS_IMPL_WRAPPER
(
ThreadSafeQuestion
);
ADD_SIGNALS_IMPL_WRAPPER
(
InitMessage
);
ADD_SIGNALS_IMPL_WRAPPER
(
NotifyNumConnectionsChanged
);
ADD_SIGNALS_IMPL_WRAPPER
(
NotifyNetworkActiveChanged
);
ADD_SIGNALS_IMPL_WRAPPER
(
NotifyAlertChanged
);
ADD_SIGNALS_IMPL_WRAPPER
(
ShowProgress
);
ADD_SIGNALS_IMPL_WRAPPER
(
NotifyBlockTip
);
ADD_SIGNALS_IMPL_WRAPPER
(
NotifyHeaderTip
);
ADD_SIGNALS_IMPL_WRAPPER
(
BannedListChanged
);
bool
CClientUIInterface
::
ThreadSafeMessageBox
(
const
bilingual_str
&
message
,
const
std
::
string
&
caption
,
unsigned
int
style
)
{
return
g_ui_signals
.
ThreadSafeMessageBox
(
message
,
caption
,
style
);
}
bool
CClientUIInterface
::
ThreadSafeQuestion
(
const
bilingual_str
&
message
,
const
std
::
string
&
non_interactive_message
,
const
std
::
string
&
caption
,
unsigned
int
style
)
{
return
g_ui_signals
.
ThreadSafeQuestion
(
message
,
non_interactive_message
,
caption
,
style
);
}
void
CClientUIInterface
::
InitMessage
(
const
std
::
string
&
message
)
{
return
g_ui_signals
.
InitMessage
(
message
);
}
void
CClientUIInterface
::
NotifyNumConnectionsChanged
(
int
newNumConnections
)
{
return
g_ui_signals
.
NotifyNumConnectionsChanged
(
newNumConnections
);
}
void
CClientUIInterface
::
NotifyNetworkActiveChanged
(
bool
networkActive
)
{
return
g_ui_signals
.
NotifyNetworkActiveChanged
(
networkActive
);
}
void
CClientUIInterface
::
NotifyAlertChanged
()
{
return
g_ui_signals
.
NotifyAlertChanged
();
}
void
CClientUIInterface
::
ShowProgress
(
const
std
::
string
&
title
,
int
nProgress
,
bool
resume_possible
)
{
return
g_ui_signals
.
ShowProgress
(
title
,
nProgress
,
resume_possible
);
}
void
CClientUIInterface
::
NotifyBlockTip
(
SynchronizationState
s
,
const
CBlockIndex
*
i
)
{
return
g_ui_signals
.
NotifyBlockTip
(
s
,
i
);
}
void
CClientUIInterface
::
NotifyHeaderTip
(
SynchronizationState
s
,
const
CBlockIndex
*
i
)
{
return
g_ui_signals
.
NotifyHeaderTip
(
s
,
i
);
}
void
CClientUIInterface
::
BannedListChanged
()
{
return
g_ui_signals
.
BannedListChanged
();
}
bool
InitError
(
const
bilingual_str
&
str
)
{
uiInterface
.
ThreadSafeMessageBox
(
str
,
""
,
CClientUIInterface
::
MSG_ERROR
);
return
false
;
}
void
InitWarning
(
const
std
::
string
&
str
)
{
uiInterface
.
ThreadSafeMessageBox
(
Untranslated
(
str
),
""
,
CClientUIInterface
::
MSG_WARNING
);
}
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Sun, Apr 27, 11:10 (1 d, 10 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5573369
Default Alt Text
ui_interface.cpp (4 KB)
Attached To
rABC Bitcoin ABC
Event Timeline
Log In to Comment