Uniot Core
0.8.1
Loading...
Searching...
No Matches
Lisp Events
Collaboration diagram for Lisp Events:

Namespaces

namespace  uniot
 Contains all classes and functions related to the Uniot Core.
 
namespace  uniot::events
 
namespace  uniot::events::lisp
 

Detailed Description

This file defines the event channels, topics, and messages used for bi-directional communication between the embedded Lisp interpreter and the host application. These events enable seamless integration of Lisp scripting capabilities with the broader Uniot system.

The event system uses FOURCC (Four Character Code) identifiers for efficient event routing and minimal memory footprint. Lisp events are organized into:

Communication flow:

Example usage:

// Send Lisp output to application
eventEmitter.sendDataToChannel(events::lisp::Channel::OUT_LISP,
Bytes(outputString));
// Emit Lisp error event
eventEmitter.emitEvent(events::lisp::Topic::OUT_LISP_MSG,
events::lisp::Msg::OUT_MSG_ERROR);
// Forward application event to Lisp
eventEmitter.sendDataToChannel(events::lisp::Channel::IN_EVENT,
Bytes(eventData));
Definition Bytes.h:38