A simple POSIX whiteboard library.
You need a posix system a C/C++ compiler, cmake, and a build system supported by cmake, such as Ninja or gmake. You also need to install the following pre-requisite packages. Follow the links below for instructions:
To build, you simply create a build directory (e.g. build.ninja
)
using cmake, then use your build system to
build and install. Here is an example using
Ninja:
mkdir ../build.ninja
cd ../build.ninja
cmake -G Ninja ../gusimplewhiteboard
ninja
ninja install
If you require root permissions, run ninja install
as root,
e.g. by using sudo:
sudo ninja install
#include <guwhiteboardtypelist_generated.h>
int main()
{
using namespace guWhiteboard;
Print_t print; // slot definition
print("Hello, world!"); // post a message
return 0;
}
#include <string.h>
#include <stdio.h>
#include <guwhiteboardtypelist_c_generated.h>
int main(int argc, char **argv)
{
gu_simple_whiteboard_descriptor *wbd = get_local_singleton_whiteboard();
gu_simple_whiteboard *wb = wbd->wb;
wb_types print = kwb_Print_v; /* slot for the 'print' message */
/* Read the current whiteboard message */
gu_simple_message *msg = gsw_current_message(wb, print);
printf("Read '%s'\n", msg->string);
/* Write a new message */
msg = gsw_next_message(wb, print);
strcpy(msg->string, "Hello, ");
if (argc > 1)
strcat(msg->string, argv[1]);
else
strcat(msg->string, "world!");
gsw_increment(wb, print);
gsw_increment_event_counter(wb, print);
printf("Wrote '%s'\n", msg->string);
/* Read the current whiteboard message */
msg = gsw_current_message(wb, print);
printf("Read '%s'\n", msg->string);
return 0;
}