Deskflow 1.22.0.197
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
ProtocolUtil Class Reference

Deskflow protocol utilities. More...

#include <ProtocolUtil.h>

Static Public Member Functions

static void writef (deskflow::IStream *, const char *fmt,...)
 Write formatted data.
static bool readf (deskflow::IStream *, const char *fmt,...)
 Read formatted data.

Detailed Description

Deskflow protocol utilities.

This class provides various functions for implementing the deskflow protocol.

Member Function Documentation

◆ readf()

bool ProtocolUtil::readf ( deskflow::IStream * stream,
const char * fmt,
... )
static

Read formatted data.

Read formatted binary data from a buffer. This performs the reverse operation of writef(). Returns true if the entire format was successfully parsed, false otherwise.

Format specifiers are:

  • %% – read (and discard) a literal ‘%’
  • %1i – reads a 1 byte integer; argument is a int32_t* or uint32_t*
  • %2i – reads an NBO 2 byte integer; arg is int32_t* or uint32_t*
  • %4i – reads an NBO 4 byte integer; arg is int32_t* or uint32_t*
  • %1I – reads 1 byte integers; arg is std::vector<uint8_t>*
  • %2I – reads NBO 2 byte integers; arg is std::vector<uint16_t>*
  • %4I – reads NBO 4 byte integers; arg is std::vector<uint32_t>*
  • %s – reads bytes; argument must be a std::string*, not a char*

◆ writef()

void ProtocolUtil::writef ( deskflow::IStream * stream,
const char * fmt,
... )
static

Write formatted data.

Write formatted binary data to a stream. fmt consists of regular characters and format specifiers. Format specifiers begin with %. All characters not part of a format specifier are regular and are transmitted unchanged.

Format specifiers are:

  • %% – literal ‘%’
  • %1i – converts integer argument to 1 byte integer
  • %2i – converts integer argument to 2 byte integer in NBO
  • %4i – converts integer argument to 4 byte integer in NBO
  • %1I – converts std::vector<uint8_t>* to 1 byte integers
  • %2I – converts std::vector<uint16_t>* to 2 byte integers in NBO
  • %4I – converts std::vector<uint32_t>* to 4 byte integers in NBO
  • %s – converts std::string* to stream of bytes
  • %S – converts integer N and const uint8_t* to stream of N bytes

The documentation for this class was generated from the following files: