14#ifndef KCENON_NETWORK_INTERNAL_CORE_NETWORK_CONTEXT_H_
15#define KCENON_NETWORK_INTERNAL_CORE_NETWORK_CONTEXT_H_
31class network_context {
43 void set_thread_pool(std::shared_ptr<kcenon::network::integration::thread_pool_interface> pool);
49 std::shared_ptr<kcenon::network::integration::thread_pool_interface>
get_thread_pool();
55 void set_logger(std::shared_ptr<kcenon::network::integration::logger_interface> logger);
61 std::shared_ptr<kcenon::network::integration::logger_interface>
get_logger();
71 void set_monitoring(std::shared_ptr<kcenon::network::integration::monitoring_interface> monitoring);
81 std::shared_ptr<kcenon::network::integration::monitoring_interface>
get_monitoring();
Global context for shared network system resources.
network_context(network_context &&)=delete
void shutdown()
Shutdown all systems.
std::shared_ptr< kcenon::network::integration::monitoring_interface > get_monitoring()
Get current monitoring system.
void set_monitoring(std::shared_ptr< kcenon::network::integration::monitoring_interface > monitoring)
Set custom monitoring system.
std::shared_ptr< impl > pimpl_
PIMPL pointer with intentional leak pattern.
std::shared_ptr< kcenon::network::integration::logger_interface > get_logger()
Get current logger.
network_context & operator=(const network_context &)=delete
void set_logger(std::shared_ptr< kcenon::network::integration::logger_interface > logger)
Set custom logger.
void set_thread_pool(std::shared_ptr< kcenon::network::integration::thread_pool_interface > pool)
Set custom thread pool.
std::shared_ptr< kcenon::network::integration::thread_pool_interface > get_thread_pool()
Get current thread pool.
network_context & operator=(network_context &&)=delete
static network_context & instance()
Get the singleton instance.
bool is_initialized() const
Check if context is initialized.
network_context(const network_context &)=delete
Logger system integration interface for network_system.
Monitoring system integration interface for network_system.
VoidResult initialize()
Initialize the network system with default production configuration.
Thread system integration interface for network_system.