MCPcopy Create free account
hub / github.com/deskflow/deskflow / parseMessage

Method parseMessage

src/lib/client/ServerProxy.cpp:200–327  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

198}
199
200ServerProxy::ConnectionResult ServerProxy::parseMessage(const uint8_t *code)
201{
202 using enum ConnectionResult;
203
204 if (memcmp(code, kMsgDMouseMove, 4) == 0) {
205 mouseMove();
206 }
207
208 else if (memcmp(code, kMsgDMouseRelMove, 4) == 0) {
209 mouseRelativeMove();
210 }
211
212 else if (memcmp(code, kMsgDMouseWheel, 4) == 0) {
213 mouseWheel();
214 }
215
216 else if (memcmp(code, kMsgDKeyDown, 4) == 0) {
217 uint16_t id = 0;
218 uint16_t mask = 0;
219 uint16_t button = 0;
220 ProtocolUtil::readf(m_stream, kMsgDKeyDown + 4, &id, &mask, &button);
221 LOG_DEBUG1("recv key down id=0x%08x, mask=0x%04x, button=0x%04x", id, mask, button);
222
223 keyDown(id, mask, button, "");
224 }
225
226 else if (memcmp(code, kMsgDKeyDownLang, 4) == 0) {
227 std::string lang;
228 uint16_t id = 0;
229 uint16_t mask = 0;
230 uint16_t button = 0;
231
232 ProtocolUtil::readf(m_stream, kMsgDKeyDownLang + 4, &id, &mask, &button, &lang);
233 LOG_DEBUG1("recv key down id=0x%08x, mask=0x%04x, button=0x%04x, lang=\"%s\"", id, mask, button, lang.c_str());
234
235 keyDown(id, mask, button, lang);
236 }
237
238 else if (memcmp(code, kMsgDKeyUp, 4) == 0) {
239 keyUp();
240 }
241
242 else if (memcmp(code, kMsgDMouseDown, 4) == 0) {
243 mouseDown();
244 }
245
246 else if (memcmp(code, kMsgDMouseUp, 4) == 0) {
247 mouseUp();
248 }
249
250 else if (memcmp(code, kMsgDKeyRepeat, 4) == 0) {
251 keyRepeat();
252 }
253
254 else if (memcmp(code, kMsgCKeepAlive, 4) == 0) {
255 // echo keep alives and reset alarm
256 ProtocolUtil::writef(m_stream, kMsgCKeepAlive);
257 resetKeepAliveAlarm();

Callers

nothing calls this directly

Calls 1

disconnectMethod · 0.45

Tested by

no test coverage detected