Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
kcenon::network::integration::container_manager Class Reference

Manager for container system integration. More...

#include <container_integration.h>

Collaboration diagram for kcenon::network::integration::container_manager:
Collaboration graph

Classes

class  impl
 

Public Member Functions

void register_container (const std::string &name, std::shared_ptr< container_interface > container)
 Register a container implementation.
 
std::shared_ptr< container_interfaceget_container (const std::string &name) const
 Get a registered container.
 
void set_default_container (std::shared_ptr< container_interface > container)
 Set default container.
 
std::shared_ptr< container_interfaceget_default_container ()
 Get default container.
 
std::vector< uint8_t > serialize (const std::any &data)
 Serialize using default container.
 
std::any deserialize (const std::vector< uint8_t > &bytes)
 Deserialize using default container.
 
std::vector< std::string > list_containers () const
 Get list of registered container names.
 

Static Public Member Functions

static container_managerinstance ()
 Get the singleton instance.
 

Private Member Functions

 container_manager ()
 
 ~container_manager ()
 

Private Attributes

std::unique_ptr< implpimpl_
 

Detailed Description

Manager for container system integration.

This class manages the integration between network_system and container implementations.

Definition at line 155 of file container_integration.h.

Constructor & Destructor Documentation

◆ container_manager()

kcenon::network::integration::container_manager::container_manager ( )
private

Definition at line 244 of file container_integration.cpp.

245 : pimpl_(std::make_unique<impl>()) {
246}

◆ ~container_manager()

kcenon::network::integration::container_manager::~container_manager ( )
privatedefault

Member Function Documentation

◆ deserialize()

std::any kcenon::network::integration::container_manager::deserialize ( const std::vector< uint8_t > & bytes)

Deserialize using default container.

Parameters
bytesBytes to deserialize
Returns
Deserialized data

Definition at line 277 of file container_integration.cpp.

277 {
278 return pimpl_->deserialize(bytes);
279}
std::any deserialize(const std::vector< uint8_t > &bytes)

References kcenon::network::integration::container_manager::impl::deserialize(), and pimpl_.

Here is the call graph for this function:

◆ get_container()

std::shared_ptr< container_interface > kcenon::network::integration::container_manager::get_container ( const std::string & name) const

Get a registered container.

Parameters
nameContainer name
Returns
Container implementation or nullptr if not found

Definition at line 257 of file container_integration.cpp.

259 {
260 return pimpl_->get_container(name);
261}
std::shared_ptr< container_interface > get_container(const std::string &name) const

References kcenon::network::integration::container_manager::impl::get_container(), and pimpl_.

Here is the call graph for this function:

◆ get_default_container()

std::shared_ptr< container_interface > kcenon::network::integration::container_manager::get_default_container ( )

Get default container.

Returns
Default container (creates basic container if none set)

Definition at line 269 of file container_integration.cpp.

269 {
271}
std::shared_ptr< container_interface > get_default_container()

References kcenon::network::integration::container_manager::impl::get_default_container(), and pimpl_.

Here is the call graph for this function:

◆ instance()

container_manager & kcenon::network::integration::container_manager::instance ( )
static

Get the singleton instance.

Returns
Reference to the singleton instance

Definition at line 239 of file container_integration.cpp.

239 {
241 return instance;
242}
static container_manager & instance()
Get the singleton instance.

References instance().

Referenced by instance().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ list_containers()

std::vector< std::string > kcenon::network::integration::container_manager::list_containers ( ) const

Get list of registered container names.

Returns
Vector of container names

Definition at line 281 of file container_integration.cpp.

281 {
282 return pimpl_->list_containers();
283}

References kcenon::network::integration::container_manager::impl::list_containers(), and pimpl_.

Here is the call graph for this function:

◆ register_container()

void kcenon::network::integration::container_manager::register_container ( const std::string & name,
std::shared_ptr< container_interface > container )

Register a container implementation.

Parameters
nameContainer name
containerContainer implementation

Definition at line 250 of file container_integration.cpp.

253 {
254 pimpl_->register_container(name, container);
255}
void register_container(const std::string &name, std::shared_ptr< container_interface > container)

References pimpl_, and kcenon::network::integration::container_manager::impl::register_container().

Here is the call graph for this function:

◆ serialize()

std::vector< uint8_t > kcenon::network::integration::container_manager::serialize ( const std::any & data)

Serialize using default container.

Parameters
dataData to serialize
Returns
Serialized bytes

Definition at line 273 of file container_integration.cpp.

273 {
274 return pimpl_->serialize(data);
275}
std::vector< uint8_t > serialize(const std::any &data)

References pimpl_, and kcenon::network::integration::container_manager::impl::serialize().

Here is the call graph for this function:

◆ set_default_container()

void kcenon::network::integration::container_manager::set_default_container ( std::shared_ptr< container_interface > container)

Set default container.

Parameters
containerDefault container to use

Definition at line 263 of file container_integration.cpp.

265 {
266 pimpl_->set_default_container(container);
267}
void set_default_container(std::shared_ptr< container_interface > container)

References pimpl_, and kcenon::network::integration::container_manager::impl::set_default_container().

Here is the call graph for this function:

Member Data Documentation

◆ pimpl_

std::unique_ptr<impl> kcenon::network::integration::container_manager::pimpl_
private

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