30 #ifndef ELECTRONEUM_DEBUG_LINK_H
31 #define ELECTRONEUM_DEBUG_LINK_H
34 #include "messages/messages-debug.pb.h"
49 std::shared_ptr<messages::debug::DebugLinkState>
state();
57 template<
class t_message=messages::debug::DebugLinkState>
58 std::shared_ptr<t_message>
call(
59 const google::protobuf::Message & req,
60 const boost::optional<messages::MessageType> &resp_type = boost::none,
63 BOOST_STATIC_ASSERT(boost::is_base_of<google::protobuf::Message, t_message>::value);
71 std::shared_ptr<google::protobuf::Message> msg_resp;
72 hw::trezor::messages::MessageType msg_resp_type;
75 messages::MessageType required_type = resp_type ? resp_type.get() : MessageMapper::get_message_wire_number<t_message>();
76 if (msg_resp_type == required_type) {
77 return message_ptr_retype<t_message>(msg_resp);
78 }
else if (msg_resp_type == messages::MessageType_Failure){
Definition: debug_link.hpp:40
void input_word(const std::string &word)
Definition: debug_link.cpp:62
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
void press_no()
Definition: debug_link.hpp:54
void stop()
Definition: debug_link.cpp:80
virtual ~DebugLink()
Definition: debug_link.cpp:39
void init(std::shared_ptr< Transport > &transport)
Definition: debug_link.cpp:45
DebugLink()
Definition: debug_link.cpp:35
void press_yes()
Definition: debug_link.hpp:53
void input_swipe(bool swipe)
Definition: debug_link.cpp:74
void close()
Definition: debug_link.cpp:51
void input_button(bool button)
Definition: debug_link.cpp:68
std::shared_ptr< Transport > m_transport
Definition: debug_link.hpp:83
std::shared_ptr< messages::debug::DebugLinkState > state()
Definition: debug_link.cpp:56
Definition: transport.hpp:330
void throw_failure_exception(const messages::common::Failure *failure)
Definition: transport.cpp:1217
std::shared_ptr< Transport > transport(const std::string &path)
Definition: transport.cpp:1204
Definition: device.cpp:38