Radix Relay
Hybrid mesh communications with Signal Protocol encryption
Loading...
Searching...
No Matches
radix_relay::tui::processor< Bridge > Struct Template Reference

Text-based user interface processor with REPL. More...

#include <processor.hpp>

Public Member Functions

 processor (std::string node_id, std::string mode, const std::shared_ptr< Bridge > &bridge, const std::shared_ptr< async::async_queue< core::events::raw_command > > &command_queue, const std::shared_ptr< async::async_queue< core::events::ui_event_t > > &ui_event_queue)
 Constructs a TUI processor.
 
 ~processor ()
 
 processor (const processor &)=delete
 
auto operator= (const processor &) -> processor &=delete
 
 processor (processor &&)=delete
 
auto operator= (processor &&) -> processor &=delete
 
auto run () -> void
 Runs the interactive REPL loop.
 
auto stop () -> void
 Stops the TUI processor and message polling thread.
 
auto get_mode () const -> const std::string &
 Returns the current network mode.
 
auto update_chat_context (std::string contact_name) -> void
 Updates the active chat context with a contact name.
 
auto clear_chat_context () -> void
 Clears the active chat context, returning to default mode.
 
auto get_chat_context () const -> std::optional< std::string >
 Returns the current chat context.
 
auto get_prompt () const -> const std::string &
 Returns the current prompt string.
 

Detailed Description

template<concepts::signal_bridge Bridge>
struct radix_relay::tui::processor< Bridge >

Text-based user interface processor with REPL.

Template Parameters
BridgeType satisfying the signal_bridge concept

Provides an interactive command-line interface using Replxx for command input, history management, and display message output.

Definition at line 25 of file processor.hpp.

Constructor & Destructor Documentation

◆ processor() [1/3]

template<concepts::signal_bridge Bridge>
radix_relay::tui::processor< Bridge >::processor ( std::string  node_id,
std::string  mode,
const std::shared_ptr< Bridge > &  bridge,
const std::shared_ptr< async::async_queue< core::events::raw_command > > &  command_queue,
const std::shared_ptr< async::async_queue< core::events::ui_event_t > > &  ui_event_queue 
)
inline

Constructs a TUI processor.

Parameters
node_idNode identifier for display
modeNetwork mode (internet/mesh/hybrid)
bridgeSignal Protocol bridge
command_queueQueue for outgoing user commands
display_queueQueue for incoming display messages

Definition at line 36 of file processor.hpp.

◆ ~processor()

template<concepts::signal_bridge Bridge>
radix_relay::tui::processor< Bridge >::~processor ( )
inline

Definition at line 45 of file processor.hpp.

References radix_relay::tui::processor< Bridge >::stop().

◆ processor() [2/3]

template<concepts::signal_bridge Bridge>
radix_relay::tui::processor< Bridge >::processor ( const processor< Bridge > &  )
delete

◆ processor() [3/3]

template<concepts::signal_bridge Bridge>
radix_relay::tui::processor< Bridge >::processor ( processor< Bridge > &&  )
delete

Member Function Documentation

◆ clear_chat_context()

template<concepts::signal_bridge Bridge>
auto radix_relay::tui::processor< Bridge >::clear_chat_context ( ) -> void
inline

Clears the active chat context, returning to default mode.

Definition at line 146 of file processor.hpp.

◆ get_chat_context()

template<concepts::signal_bridge Bridge>
auto radix_relay::tui::processor< Bridge >::get_chat_context ( ) const -> std::optional<std::string>
inline

Returns the current chat context.

Returns
Contact name if in chat mode, nullopt otherwise

Definition at line 157 of file processor.hpp.

◆ get_mode()

template<concepts::signal_bridge Bridge>
auto radix_relay::tui::processor< Bridge >::get_mode ( ) const -> const std::string &
inline

Returns the current network mode.

Returns
Network mode string (internet/mesh/hybrid)

Definition at line 130 of file processor.hpp.

◆ get_prompt()

template<concepts::signal_bridge Bridge>
auto radix_relay::tui::processor< Bridge >::get_prompt ( ) const -> const std::string &
inline

Returns the current prompt string.

Returns
Prompt string with chat indicator if in chat mode

Definition at line 164 of file processor.hpp.

◆ operator=() [1/2]

template<concepts::signal_bridge Bridge>
auto radix_relay::tui::processor< Bridge >::operator= ( const processor< Bridge > &  ) -> processor &=delete
delete

◆ operator=() [2/2]

template<concepts::signal_bridge Bridge>
auto radix_relay::tui::processor< Bridge >::operator= ( processor< Bridge > &&  ) -> processor &=delete
delete

◆ run()

template<concepts::signal_bridge Bridge>
auto radix_relay::tui::processor< Bridge >::run ( ) -> void
inline

Runs the interactive REPL loop.

Starts message polling thread and processes user input until quit command.

Definition at line 57 of file processor.hpp.

References radix_relay::tui::processor< Bridge >::stop().

◆ stop()

template<concepts::signal_bridge Bridge>
auto radix_relay::tui::processor< Bridge >::stop ( ) -> void
inline

Stops the TUI processor and message polling thread.

Definition at line 118 of file processor.hpp.

Referenced by radix_relay::tui::processor< Bridge >::run(), and radix_relay::tui::processor< Bridge >::~processor().

◆ update_chat_context()

template<concepts::signal_bridge Bridge>
auto radix_relay::tui::processor< Bridge >::update_chat_context ( std::string  contact_name) -> void
inline

Updates the active chat context with a contact name.

Parameters
contact_nameDisplay name or alias of the contact

Definition at line 137 of file processor.hpp.


The documentation for this struct was generated from the following file: