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,
65 m_transport->write(req);
71 std::shared_ptr<google::protobuf::Message> msg_resp;
72 hw::trezor::messages::MessageType msg_resp_type;
73 m_transport->read(msg_resp, &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){
86 std::shared_ptr<Transport> m_transport;
93 #endif //ELECTRONEUM_DEBUG_LINK_H
std::shared_ptr< t_message > call(const google::protobuf::Message &req, const boost::optional< messages::MessageType > &resp_type=boost::none, bool no_wait=false)
void init(std::shared_ptr< Transport > &transport)
void throw_failure_exception(const messages::common::Failure *failure)
void input_swipe(bool swipe)
const GenericPointer< typename T::ValueType > T2 value
void input_word(const std::string &word)
std::shared_ptr< messages::debug::DebugLinkState > state()
void input_button(bool button)
std::shared_ptr< Transport > transport(const std::string &path)