this approach was proposed by Qutey, instead of parsing chars in
the file descriptor,
these functions will be added :
+ int dgtnixHasPendingEvent()
+ dgtnix_event_t dgtnixGetNextEvent()
+ int dgtnixGetFileDescriptor()
dgtnix_event_t is an union with a 'type' field, types of events are, for
the moment :
+ piece add
+ piece remove
in the case of a "piece add" or a "piece remove" event, the square and
piece are available as fields in the returned union. In case of a "time
event", the time left to the players and the current player flag are
available. The file descriptor is used only to do polling if needed (
i.e. select(...) ).
This mechanism is strongly inspired by the Xlib event management scheme.
We think that the main advantages are :
+ no more threading in the lib
+++> ease of use for the library user (who does not have to parse the FD
+ reentrant functions, allowing multiple board to be connected to the PC
A priori, compatibility will be kept with good old time message parsing
on the FD.