return s;
}
-void CWebHelperAgentWebSocket::on_init()
+static void send_ise_message(std::queue<ISE_MESSAGE> *message_queue, ISE_MESSAGE message)
{
- ISE_MESSAGE message;
- message.type = ISE_MESSAGE_TYPE_STRINGS[ISE_MESSAGE_TYPE_PLAIN];
- message.command = ISE_MESSAGE_COMMAND_STRINGS[ISE_MESSAGE_COMMAND_INIT];
-
pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
+ message_queue->push(message);
pthread_mutex_unlock(&g_ws_server_mutex);
if (g_ws_server_context) {
}
}
+void CWebHelperAgentWebSocket::on_init()
+{
+ ISE_MESSAGE message;
+ message.type = ISE_MESSAGE_TYPE_STRINGS[ISE_MESSAGE_TYPE_PLAIN];
+ message.command = ISE_MESSAGE_COMMAND_STRINGS[ISE_MESSAGE_COMMAND_INIT];
+
+ send_ise_message(&m_send_message_queue, message);
+}
+
void CWebHelperAgentWebSocket::on_exit()
{
ISE_MESSAGE message;
message.type = ISE_MESSAGE_TYPE_STRINGS[ISE_MESSAGE_TYPE_PLAIN];
message.command = ISE_MESSAGE_COMMAND_STRINGS[ISE_MESSAGE_COMMAND_EXIT];
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
}
void CWebHelperAgentWebSocket::on_focus_in(int ic)
message.command = ISE_MESSAGE_COMMAND_STRINGS[ISE_MESSAGE_COMMAND_FOCUS_IN];
message.values.push_back(to_string(ic));
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
}
void CWebHelperAgentWebSocket::on_focus_out(int ic)
message.command = ISE_MESSAGE_COMMAND_STRINGS[ISE_MESSAGE_COMMAND_FOCUS_OUT];
message.values.push_back(to_string(ic));
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
}
void CWebHelperAgentWebSocket::on_show(int ic)
message.command = ISE_MESSAGE_COMMAND_STRINGS[ISE_MESSAGE_COMMAND_SHOW];
message.values.push_back(to_string(ic));
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
LOGD("put into send message buffer");
}
message.command = ISE_MESSAGE_COMMAND_STRINGS[ISE_MESSAGE_COMMAND_HIDE];
message.values.push_back(to_string(ic));
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
}
void CWebHelperAgentWebSocket::on_set_rotation(int degree)
message.command = ISE_MESSAGE_COMMAND_STRINGS[ISE_MESSAGE_COMMAND_SET_ROTATION];
message.values.push_back(to_string(degree));
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
}
void CWebHelperAgentWebSocket::on_update_cursor_position(int ic, int cursor_pos)
message.values.push_back(to_string(ic));
message.values.push_back(to_string(cursor_pos));
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
}
void CWebHelperAgentWebSocket::on_update_surrounding_text(int ic, const char *text, int cursor)
message.values.push_back(to_string(cursor));
message.values.push_back(text);
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
}
void CWebHelperAgentWebSocket::on_update_selection(int ic, const char *text)
message.command = ISE_MESSAGE_COMMAND_STRINGS[ISE_MESSAGE_COMMAND_UPDATE_SELECTION];
message.values.push_back(text);
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
}
void CWebHelperAgentWebSocket::on_set_language(unsigned int language)
}
if (found) {
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
}
}
message.command = ISE_MESSAGE_COMMAND_STRINGS[ISE_MESSAGE_COMMAND_SET_IMDATA];
message.values.push_back(buf);
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
}
void CWebHelperAgentWebSocket::on_get_imdata(char **buf, unsigned int *len)
message.type = ISE_MESSAGE_TYPE_STRINGS[ISE_MESSAGE_TYPE_QUERY];
message.command = ISE_MESSAGE_COMMAND_STRINGS[ISE_MESSAGE_COMMAND_GET_IMDATA];
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
wait_for_reply_message();
}
if (found) {
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
}
}
message.type = ISE_MESSAGE_TYPE_STRINGS[ISE_MESSAGE_TYPE_QUERY];
message.command = ISE_MESSAGE_COMMAND_STRINGS[ISE_MESSAGE_COMMAND_GET_RETURN_KEY_TYPE];
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
wait_for_reply_message();
}
if (found) {
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
}
}
message.type = ISE_MESSAGE_TYPE_STRINGS[ISE_MESSAGE_TYPE_QUERY];
message.command = ISE_MESSAGE_COMMAND_STRINGS[ISE_MESSAGE_COMMAND_GET_RETURN_KEY_DISABLE];
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
wait_for_reply_message();
}
if (found) {
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
}
}
message.type = ISE_MESSAGE_TYPE_STRINGS[ISE_MESSAGE_TYPE_QUERY];
message.command = ISE_MESSAGE_COMMAND_STRINGS[ISE_MESSAGE_COMMAND_GET_LAYOUT];
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
wait_for_reply_message();
message.command = ISE_MESSAGE_COMMAND_STRINGS[ISE_MESSAGE_COMMAND_RESET_INPUT_CONTEXT];
message.values.push_back(to_string(ic));
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
}
void CWebHelperAgentWebSocket::on_process_key_event(unsigned int code, unsigned int mask, unsigned int layout, unsigned int *ret)
message.values.push_back(to_string(mask));
message.values.push_back(to_string(layout));
- pthread_mutex_lock(&g_ws_server_mutex);
- m_send_message_queue.push(message);
- pthread_mutex_unlock(&g_ws_server_mutex);
-
- if (g_ws_server_context) {
- lws_callback_on_writable_all_protocol(g_ws_server_context, &protocols[PROTOCOL_KEYBOARD]);
- } else {
- LOGD("WARNING : g_ws_server_context is NULL");
- }
+ send_ise_message(&m_send_message_queue, message);
wait_for_reply_message();