55std::optional<teeui::UIOption>
ToUiOption(
const std::string&);
66 constexpr static const auto kConfirm =
"user_confirm";
67 constexpr static const auto kCancel =
"user_cancel";
72 constexpr static const auto kUnknown =
"user_unknown";
88 template <
typename...
Args>
92 template <
typename...
Args>
94 const std::string& session_id,
Args&&... args) {
96 std::forward<Args>(args)...);
100template <ConfUiCmd cmd>
118 const std::string&
status)
123 std::string
ToString()
const override;
139 const std::vector<std::uint8_t>& sign = {},
140 const std::vector<std::uint8_t>& msg = {})
146 std::string
ToString()
const override;
163 const std::string& prompt_text =
"",
164 const std::vector<std::uint8_t>& extra_data = {},
165 const std::string& locale =
"C",
166 const std::vector<teeui::UIOption> ui_opts = {})
173 std::string
ToString()
const override;
198 std::string
ToString()
const override;
216 std::string
ToString()
const override;
Definition: shared_fd.h:129
Definition: protocol_types.h:115
bool is_success_
Definition: protocol_types.h:130
std::string status_message_
Definition: protocol_types.h:131
bool SendOver(SharedFD fd) override
Definition: protocol_types.cpp:118
ConfUiAckMessage(const std::string &session_id, const bool is_success, const std::string &status)
Definition: protocol_types.h:117
bool IsSuccess() const
Definition: protocol_types.h:126
ConfUiCmd GetType() const override
Definition: protocol_types.h:124
virtual ~ConfUiAckMessage()=default
std::string GetStatusMessage() const
Definition: protocol_types.h:127
std::string ToString() const override
Definition: protocol_types.cpp:113
Definition: protocol_types.h:135
auto GetSign() const
Definition: protocol_types.h:150
auto GetMessage() const
Definition: protocol_types.h:149
std::vector< std::uint8_t > sign_
Definition: protocol_types.h:155
std::vector< std::uint8_t > message_
Definition: protocol_types.h:157
virtual ~ConfUiCliResponseMessage()=default
UserResponse::type response_
Definition: protocol_types.h:154
std::string ToString() const override
Definition: protocol_types.cpp:123
ConfUiCliResponseMessage(const std::string &session_id, const UserResponse::type &response, const std::vector< std::uint8_t > &sign={}, const std::vector< std::uint8_t > &msg={})
Definition: protocol_types.h:137
bool SendOver(SharedFD fd) override
Definition: protocol_types.cpp:128
auto GetResponse() const
Definition: protocol_types.h:148
ConfUiCmd GetType() const override
Definition: protocol_types.h:147
Definition: protocol_types.h:101
ConfUiGenericMessage(const std::string &session_id)
Definition: protocol_types.h:103
virtual ~ConfUiGenericMessage()=default
std::string ToString() const override
Definition: protocol_types.h:106
ConfUiCmd GetType() const override
Definition: protocol_types.h:109
bool SendOver(SharedFD fd) override
Definition: protocol_types.h:110
Definition: protocol_types.h:75
static std::string CreateString(Args &&... args)
Definition: protocol_types.h:89
virtual ConfUiCmd GetType() const =0
std::string session_id_
Definition: protocol_types.h:87
bool IsUserInput() const
Definition: protocol_types.cpp:103
void SetSessionId(const std::string session_id)
Definition: protocol_types.h:80
virtual bool SendOver(SharedFD fd)=0
virtual ~ConfUiMessage()=default
static bool Send_(SharedFD fd, const ConfUiCmd cmd, const std::string &session_id, Args &&... args)
Definition: protocol_types.h:93
ConfUiMessage(const std::string &session_id)
Definition: protocol_types.h:77
virtual std::string ToString() const =0
std::string GetSessionId() const
Definition: protocol_types.h:81
Definition: protocol_types.h:160
bool SendOver(SharedFD fd) override
Definition: protocol_types.cpp:151
std::string GetPromptText() const
Definition: protocol_types.h:175
virtual ~ConfUiStartMessage()=default
ConfUiStartMessage(const std::string session_id, const std::string &prompt_text="", const std::vector< std::uint8_t > &extra_data={}, const std::string &locale="C", const std::vector< teeui::UIOption > ui_opts={})
Definition: protocol_types.h:162
std::string ToString() const override
Definition: protocol_types.cpp:144
std::vector< teeui::UIOption > GetUiOpts() const
Definition: protocol_types.h:178
std::string GetLocale() const
Definition: protocol_types.h:177
ConfUiCmd GetType() const override
Definition: protocol_types.h:174
std::string prompt_text_
Definition: protocol_types.h:182
std::vector< teeui::UIOption > ui_opts_
Definition: protocol_types.h:185
std::string UiOptsToString() const
Definition: protocol_types.cpp:132
std::string locale_
Definition: protocol_types.h:184
std::vector< std::uint8_t > GetExtraData() const
Definition: protocol_types.h:176
std::vector< std::uint8_t > extra_data_
Definition: protocol_types.h:183
Definition: protocol_types.h:192
bool SendOver(SharedFD fd) override
Definition: protocol_types.cpp:160
std::string ToString() const override
Definition: protocol_types.cpp:156
auto GetResponse() const
Definition: protocol_types.h:200
UserResponse::type response_
Definition: protocol_types.h:204
virtual ~ConfUiUserSelectionMessage()=default
ConfUiUserSelectionMessage(const std::string &session_id, const UserResponse::type &response)
Definition: protocol_types.h:194
ConfUiCmd GetType() const override
Definition: protocol_types.h:199
Definition: protocol_types.h:207
auto GetResponse() const
Definition: protocol_types.h:218
std::pair< int, int > GetLocation() const
Definition: protocol_types.h:220
UserResponse::type response_
Definition: protocol_types.h:225
ConfUiUserTouchMessage(const std::string &session_id, const int x, const int y)
Definition: protocol_types.h:209
int y_
Definition: protocol_types.h:224
ConfUiCmd GetType() const override
Definition: protocol_types.h:217
bool SendOver(SharedFD fd) override
Definition: protocol_types.cpp:171
std::string ToString() const override
Definition: protocol_types.cpp:164
virtual ~ConfUiUserTouchMessage()=default
int x_
Definition: protocol_types.h:223
int status()
Definition: health.cpp:42
constexpr const ssize_t kMaxPayloadLength
Definition: packet_types.h:37
bool WritePayload(SharedFD d, const std::string &cmd_str, const std::string &session_id, Args &&... args)
Definition: packet.h:110
ConfUiCmd
Definition: protocol_types.h:35
constexpr const ssize_t kMaxMessageLength
Definition: protocol_types.h:47
std::string ArgsToStringWithDelim(Delim &&delim, Args &&... args)
Definition: utils.h:36
ConfUiCmd ToCmd(std::uint32_t i)
Definition: protocol_types.cpp:54
std::string ToString(const ConfUiMessage &msg)
Definition: protocol.cpp:85
std::optional< teeui::UIOption > ToUiOption(const std::string &src)
Definition: protocol_types.cpp:89
std::string ToDebugString(const ConfUiCmd &cmd, const bool is_verbose)
Definition: protocol_types.cpp:30
Definition: alloc_utils.cpp:23
std::vector< std::string_view > Args
Definition: incremental.h:28
UIOption
Definition: common_message_types.h:37
lowest-level packet for communication between host & guest
Definition: protocol_types.h:57
static constexpr char kUIError[]
Definition: protocol_types.h:59
static constexpr char kIncorrectUTF8[]
Definition: protocol_types.h:61
static constexpr char kMessageTooLongError[]
Definition: protocol_types.h:60
static constexpr char kSystemError[]
Definition: protocol_types.h:58
Definition: protocol_types.h:64
static constexpr const auto kUserAbort
Definition: protocol_types.h:71
static constexpr const auto kConfirm
Definition: protocol_types.h:66
static constexpr const auto kCancel
Definition: protocol_types.h:67
std::string type
Definition: protocol_types.h:65
static constexpr const auto kUnknown
Definition: protocol_types.h:72
static constexpr const auto kTouchEvent
Definition: protocol_types.h:68