Fawkes API  Fawkes Development Version
fawkes::OpenPRSKernelManager Class Reference

OpenPRS kernel manager. More...

#include <>>

Public Member Functions

 OpenPRSKernelManager (const std::string &server_host, unsigned short server_tcp_port, const std::string &mp_host, unsigned short mp_tcp_port, Logger *logger, Clock *clock, Configuration *config)
 Constructor. More...
 
virtual ~OpenPRSKernelManager ()
 Destructor. More...
 
void create_kernel (const std::string &kernel_name, bool use_xoprs, std::list< std::string > &extra_data_path, bool utils_gdb_delay)
 Create a new kernel. More...
 
void destroy_kernel (const std::string &kernel_name)
 Destroy the named kernel. More...
 
std::list< std::string > kernels () const
 Get map of kernels. More...
 
const std::string & server_host () const
 Get oprs-server hostname. More...
 
unsigned short server_port () const
 Get oprs-server TCP port. More...
 
const std::string & mp_host () const
 Get mp-oprs hostname. More...
 
unsigned short mp_port () const
 Get mp-oprs TCP port. More...
 

Detailed Description

OpenPRS kernel manager.

The OpenPRS kernel manager creates and maintains OpenPRS kernels and provides them to the OpenPRS aspects.

Author
Tim Niemueller

Definition at line 41 of file openprs_kernel_manager.h.

Constructor & Destructor Documentation

◆ OpenPRSKernelManager()

fawkes::OpenPRSKernelManager::OpenPRSKernelManager ( const std::string &  server_host,
unsigned short  server_tcp_port,
const std::string &  mp_host,
unsigned short  mp_tcp_port,
Logger logger,
Clock clock,
Configuration config 
)

Constructor.

Parameters
server_hostOpenPRS server hostname
server_tcp_portTCP port where OpenPRS server listens on
mp_hostOpenPRS message passer hostname
mp_tcp_portTCP port where OpenPRS message passer listens on
loggerlogger to log messages from created kernels
clockclock to get time from for (now)
configconfiguration

Definition at line 57 of file openprs_kernel_manager.cpp.

◆ ~OpenPRSKernelManager()

fawkes::OpenPRSKernelManager::~OpenPRSKernelManager ( )
virtual

Destructor.

Definition at line 69 of file openprs_kernel_manager.cpp.

Member Function Documentation

◆ create_kernel()

void fawkes::OpenPRSKernelManager::create_kernel ( const std::string &  kernel_name,
bool  use_xoprs,
std::list< std::string > &  extra_data_path,
bool  utils_gdb_delay 
)

Create a new kernel.

The kernel is registered internally under the specified name. It must be destroyed when done with it. Only a single kernel can be created for a particular kernel name.

Parameters
kernel_namename by which to register kernel
use_xoprsrun X-OPRS (with graphical user interface) instead of oprs.
extra_data_pathextra directories to add to the OPRS_DATA_PATH environment variable which should be searched for files.
utils_gdb_delayif true, will set the FAWKES_OPRS_GDB_DELAY environment variable to "true". If mod_utils is loaded it will wait for 10 seconds and print a gdb command to start debugging the kernel process.

Definition at line 88 of file openprs_kernel_manager.cpp.

References fawkes::command_args_tostring(), fawkes::envp_copy_expand(), fawkes::Configuration::get_string(), fawkes::Configuration::get_strings(), fawkes::Configuration::is_list(), fawkes::Logger::log_info(), mp_port(), server_port(), fawkes::str_join(), fawkes::str_split_list(), and fawkes::Exception::what_no_backtrace().

◆ destroy_kernel()

void fawkes::OpenPRSKernelManager::destroy_kernel ( const std::string &  kernel_name)

Destroy the named kernel.

Only ever destroy kernels which you have created yourself.

Parameters
kernel_namename of the kernel to destroy

Definition at line 190 of file openprs_kernel_manager.cpp.

◆ kernels()

std::list< std::string > fawkes::OpenPRSKernelManager::kernels ( ) const

Get map of kernels.

Returns
map from kernel name to kernel lock ptr

Definition at line 203 of file openprs_kernel_manager.cpp.

◆ mp_host()

const std::string& fawkes::OpenPRSKernelManager::mp_host ( ) const
inline

Get mp-oprs hostname.

Returns
hostname where mp-oprs is running

Definition at line 67 of file openprs_kernel_manager.h.

◆ mp_port()

unsigned short fawkes::OpenPRSKernelManager::mp_port ( ) const
inline

Get mp-oprs TCP port.

Returns
TCP port where mp-oprs is listening

Definition at line 72 of file openprs_kernel_manager.h.

Referenced by create_kernel().

◆ server_host()

const std::string& fawkes::OpenPRSKernelManager::server_host ( ) const
inline

Get oprs-server hostname.

Returns
hostname where oprs-server is running

Definition at line 57 of file openprs_kernel_manager.h.

◆ server_port()

unsigned short fawkes::OpenPRSKernelManager::server_port ( ) const
inline

Get oprs-server TCP port.

Returns
TCP port where oprs-server is listening

Definition at line 62 of file openprs_kernel_manager.h.

Referenced by create_kernel().


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