Fawkes API
Fawkes Development Version
|
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... | |
OpenPRS kernel manager.
The OpenPRS kernel manager creates and maintains OpenPRS kernels and provides them to the OpenPRS aspects.
Definition at line 41 of file openprs_kernel_manager.h.
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.
server_host | OpenPRS server hostname |
server_tcp_port | TCP port where OpenPRS server listens on |
mp_host | OpenPRS message passer hostname |
mp_tcp_port | TCP port where OpenPRS message passer listens on |
logger | logger to log messages from created kernels |
clock | clock to get time from for (now) |
config | configuration |
Definition at line 57 of file openprs_kernel_manager.cpp.
|
virtual |
Destructor.
Definition at line 69 of file openprs_kernel_manager.cpp.
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.
kernel_name | name by which to register kernel |
use_xoprs | run X-OPRS (with graphical user interface) instead of oprs. |
extra_data_path | extra directories to add to the OPRS_DATA_PATH environment variable which should be searched for files. |
utils_gdb_delay | if 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().
void fawkes::OpenPRSKernelManager::destroy_kernel | ( | const std::string & | kernel_name | ) |
Destroy the named kernel.
Only ever destroy kernels which you have created yourself.
kernel_name | name of the kernel to destroy |
Definition at line 190 of file openprs_kernel_manager.cpp.
std::list< std::string > fawkes::OpenPRSKernelManager::kernels | ( | ) | const |
Get map of kernels.
Definition at line 203 of file openprs_kernel_manager.cpp.
|
inline |
Get mp-oprs hostname.
Definition at line 67 of file openprs_kernel_manager.h.
|
inline |
Get mp-oprs TCP port.
Definition at line 72 of file openprs_kernel_manager.h.
Referenced by create_kernel().
|
inline |
Get oprs-server hostname.
Definition at line 57 of file openprs_kernel_manager.h.
|
inline |
Get oprs-server TCP port.
Definition at line 62 of file openprs_kernel_manager.h.
Referenced by create_kernel().