|
PACS System 0.1.0
PACS DICOM system library
|
Adapter for integrating network_system for DICOM protocol. More...
#include <network_adapter.h>

Public Types | |
| using | session_ptr = std::shared_ptr<dicom_session> |
| Session pointer type. | |
| using | connection_callback = std::function<void(session_ptr)> |
| Connection callback type. | |
| using | disconnection_callback = std::function<void(const std::string&)> |
| Disconnection callback type. | |
| using | error_callback = std::function<void(session_ptr, std::error_code)> |
| Error callback type. | |
Static Public Member Functions | |
| static std::unique_ptr< network::dicom_server > | create_server (const network::server_config &config, const tls_config &tls_cfg={}) |
| Create a DICOM server using network_system. | |
| static Result< session_ptr > | connect (const connection_config &config) |
| static Result< session_ptr > | connect (const std::string &host, uint16_t port, std::chrono::milliseconds timeout=std::chrono::seconds{30}) |
| Connect to a remote DICOM peer (simplified overload) | |
| static Result< std::monostate > | configure_tls (const tls_config &config) |
| static session_ptr | wrap_session (std::shared_ptr< network_system::session::messaging_session > session) |
| Wrap a network_system session for DICOM communication. | |
| static session_ptr | wrap_session (std::shared_ptr< network_system::session::secure_session > session) |
| Wrap a secure network_system session for DICOM communication. | |
| static session_ptr | wrap_session (std::shared_ptr< kcenon::network::interfaces::i_session > session) |
| Wrap a public i_session interface for DICOM communication. | |
Private Member Functions | |
| network_adapter ()=delete | |
| ~network_adapter ()=delete | |
| network_adapter (const network_adapter &)=delete | |
| network_adapter & | operator= (const network_adapter &)=delete |
Adapter for integrating network_system for DICOM protocol.
This class provides a PACS-specific interface to network_system's TCP server and client functionality. Key features include:
Thread Safety: All public methods are thread-safe and can be called from any thread.
Definition at line 223 of file network_adapter.h.
| using kcenon::pacs::integration::network_adapter::connection_callback = std::function<void(session_ptr)> |
Connection callback type.
Definition at line 233 of file network_adapter.h.
| using kcenon::pacs::integration::network_adapter::disconnection_callback = std::function<void(const std::string&)> |
Disconnection callback type.
Definition at line 236 of file network_adapter.h.
| using kcenon::pacs::integration::network_adapter::error_callback = std::function<void(session_ptr, std::error_code)> |
Error callback type.
Definition at line 239 of file network_adapter.h.
| using kcenon::pacs::integration::network_adapter::session_ptr = std::shared_ptr<dicom_session> |
Session pointer type.
Definition at line 230 of file network_adapter.h.
|
privatedelete |
|
privatedelete |
|
privatedelete |
|
staticnodiscard |
Definition at line 163 of file network_adapter.cpp.
References kcenon::pacs::integration::tls_config::ca_path, kcenon::pacs::integration::tls_config::cert_path, kcenon::pacs::integration::tls_config::enabled, kcenon::pacs::integration::tls_config::key_path, kcenon::pacs::integration::tls_config::min_version, kcenon::pacs::integration::tls_config::v1_2, and kcenon::pacs::integration::tls_config::v1_3.
|
staticnodiscard |
Definition at line 53 of file network_adapter.cpp.
References kcenon::pacs::integration::tls_config::ca_path, kcenon::pacs::integration::tls_config::enabled, kcenon::pacs::integration::connection_config::host, kcenon::pacs::integration::tls_config::is_valid(), kcenon::pacs::integration::connection_config::port, kcenon::pacs::integration::connection_config::timeout, kcenon::pacs::integration::connection_config::tls, and kcenon::pacs::integration::tls_config::verify_peer.
Referenced by kcenon::pacs::di::DicomNetworkService::connect(), and connect().


|
staticnodiscard |
Connect to a remote DICOM peer (simplified overload)
| host | Remote host address |
| port | Remote port |
| timeout | Connection timeout |
Definition at line 150 of file network_adapter.cpp.
References connect(), and kcenon::pacs::integration::connection_config::timeout.

|
staticnodiscard |
Create a DICOM server using network_system.
Creates and configures a network_system messaging_server (or secure_messaging_server if TLS is enabled) for DICOM communication.
| config | Server configuration |
| tls_cfg | Optional TLS configuration |
Definition at line 27 of file network_adapter.cpp.
References kcenon::pacs::network::server_config::ae_title, kcenon::pacs::integration::tls_config::enabled, kcenon::pacs::integration::tls_config::is_valid(), and kcenon::pacs::network::server_config::port.

|
privatedelete |
|
staticnodiscard |
Wrap a public i_session interface for DICOM communication.
| session | The i_session interface to wrap |
Definition at line 222 of file network_adapter.cpp.
|
staticnodiscard |
Wrap a network_system session for DICOM communication.
Creates a dicom_session wrapper around a network_system messaging_session, enabling PDU-level DICOM communication.
| session | The network_system session to wrap |
Definition at line 204 of file network_adapter.cpp.
|
staticnodiscard |
Wrap a secure network_system session for DICOM communication.
| session | The secure network_system session to wrap |
Definition at line 213 of file network_adapter.cpp.