Electroneum
Toggle main menu visibility
Loading...
Searching...
No Matches
debug_link.cpp
Go to the documentation of this file.
1
// Copyright (c) 2017-Present, Electroneum
2
//
3
// All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without modification, are
6
// permitted provided that the following conditions are met:
7
//
8
// 1. Redistributions of source code must retain the above copyright notice, this list of
9
// conditions and the following disclaimer.
10
//
11
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
12
// of conditions and the following disclaimer in the documentation and/or other
13
// materials provided with the distribution.
14
//
15
// 3. Neither the name of the copyright holder nor the names of its contributors may be
16
// used to endorse or promote products derived from this software without specific
17
// prior written permission.
18
//
19
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
20
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
22
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
27
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
//
29
30
#include "
debug_link.hpp
"
31
32
namespace
hw
{
33
namespace
trezor
{
34
35
DebugLink::DebugLink
(){
36
37
}
38
39
DebugLink::~DebugLink
(){
40
if
(m_transport){
41
close
();
42
}
43
}
44
45
void
DebugLink::init
(std::shared_ptr<Transport> &
transport
){
46
CHECK_AND_ASSERT_THROW_MES
(!m_transport,
"Already initialized"
);
47
m_transport =
transport
;
48
m_transport->open();
49
}
50
51
void
DebugLink::close
(){
52
CHECK_AND_ASSERT_THROW_MES
(m_transport,
"Not initialized"
);
53
if
(m_transport) m_transport->close();
54
}
55
56
std::shared_ptr<messages::debug::DebugLinkState>
DebugLink::state
(){
57
return
call<messages::debug::DebugLinkState>
(
58
messages::debug::DebugLinkGetState(),
59
boost::make_optional(messages::MessageType_DebugLinkGetState));
60
}
61
62
void
DebugLink::input_word
(
const
std::string & word){
63
messages::debug::DebugLinkDecision decision;
64
decision.set_input(word);
65
call
(decision, boost::none,
true
);
66
}
67
68
void
DebugLink::input_button
(
bool
button){
69
messages::debug::DebugLinkDecision decision;
70
decision.set_yes_no(button);
71
call
(decision, boost::none,
true
);
72
}
73
74
void
DebugLink::input_swipe
(
bool
swipe){
75
messages::debug::DebugLinkDecision decision;
76
decision.set_up_down(swipe);
77
call
(decision, boost::none,
true
);
78
}
79
80
void
DebugLink::stop
(){
81
messages::debug::DebugLinkStop msg;
82
call
(msg, boost::none,
true
);
83
}
84
85
86
87
88
89
}
90
}
hw::trezor::DebugLink::input_word
void input_word(const std::string &word)
Definition
debug_link.cpp:62
hw::trezor::DebugLink::stop
void stop()
Definition
debug_link.cpp:80
hw::trezor::DebugLink::~DebugLink
virtual ~DebugLink()
Definition
debug_link.cpp:39
hw::trezor::DebugLink::init
void init(std::shared_ptr< Transport > &transport)
Definition
debug_link.cpp:45
hw::trezor::DebugLink::DebugLink
DebugLink()
Definition
debug_link.cpp:35
hw::trezor::DebugLink::input_swipe
void input_swipe(bool swipe)
Definition
debug_link.cpp:74
hw::trezor::DebugLink::call
std::shared_ptr< t_message > call(const google::protobuf::Message &req, const boost::optional< messages::MessageType > &resp_type=boost::none, bool no_wait=false)
Definition
debug_link.hpp:58
hw::trezor::DebugLink::close
void close()
Definition
debug_link.cpp:51
hw::trezor::DebugLink::input_button
void input_button(bool button)
Definition
debug_link.cpp:68
hw::trezor::DebugLink::state
std::shared_ptr< messages::debug::DebugLinkState > state()
Definition
debug_link.cpp:56
debug_link.hpp
CHECK_AND_ASSERT_THROW_MES
#define CHECK_AND_ASSERT_THROW_MES(expr, message)
Definition
misc_log_ex.h:173
hw::trezor
Definition
device_trezor.cpp:33
hw::trezor::transport
std::shared_ptr< Transport > transport(const std::string &path)
Definition
transport.cpp:1204
hw
Definition
device.cpp:38
src
device_trezor
trezor
debug_link.cpp
Generated on
for Electroneum by
1.17.0