PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
kcenon::pacs::di::IDicomNetwork Class Referenceabstract

Network service interface for DICOM communication. More...

#include <service_interfaces.h>

Inheritance diagram for kcenon::pacs::di::IDicomNetwork:
Inheritance graph
Collaboration diagram for kcenon::pacs::di::IDicomNetwork:
Collaboration graph

Public Member Functions

virtual ~IDicomNetwork ()=default
 
virtual std::unique_ptr< network::dicom_servercreate_server (const network::server_config &config, const integration::tls_config &tls_cfg={})=0
 Create a DICOM server.
 
virtual integration::Result< integration::network_adapter::session_ptrconnect (const integration::connection_config &config)=0
 Connect to a remote DICOM peer.
 
virtual integration::Result< integration::network_adapter::session_ptrconnect (const std::string &host, uint16_t port, std::chrono::milliseconds timeout=std::chrono::seconds{30})=0
 Connect to a remote DICOM peer (simplified)
 

Protected Member Functions

 IDicomNetwork ()=default
 
 IDicomNetwork (const IDicomNetwork &)=default
 
IDicomNetworkoperator= (const IDicomNetwork &)=default
 
 IDicomNetwork (IDicomNetwork &&)=default
 
IDicomNetworkoperator= (IDicomNetwork &&)=default
 

Detailed Description

Network service interface for DICOM communication.

Abstract interface for DICOM network operations including server creation and client connections. This interface provides dependency injection support for network functionality.

Thread Safety:

  • All methods must be thread-safe in concrete implementations
  • Server/client instances should be managed independently

Definition at line 75 of file service_interfaces.h.

Constructor & Destructor Documentation

◆ ~IDicomNetwork()

virtual kcenon::pacs::di::IDicomNetwork::~IDicomNetwork ( )
virtualdefault

◆ IDicomNetwork() [1/3]

kcenon::pacs::di::IDicomNetwork::IDicomNetwork ( )
protecteddefault

◆ IDicomNetwork() [2/3]

kcenon::pacs::di::IDicomNetwork::IDicomNetwork ( const IDicomNetwork & )
protecteddefault

◆ IDicomNetwork() [3/3]

kcenon::pacs::di::IDicomNetwork::IDicomNetwork ( IDicomNetwork && )
protecteddefault

Member Function Documentation

◆ connect() [1/2]

virtual integration::Result< integration::network_adapter::session_ptr > kcenon::pacs::di::IDicomNetwork::connect ( const integration::connection_config & config)
nodiscardpure virtual

Connect to a remote DICOM peer.

Parameters
configConnection configuration
Returns
Result containing session on success, or error message

Implemented in kcenon::pacs::di::DicomNetworkService, and kcenon::pacs::di::test::MockNetwork.

◆ connect() [2/2]

virtual integration::Result< integration::network_adapter::session_ptr > kcenon::pacs::di::IDicomNetwork::connect ( const std::string & host,
uint16_t port,
std::chrono::milliseconds timeout = std::chrono::seconds{30} )
nodiscardpure virtual

Connect to a remote DICOM peer (simplified)

Parameters
hostRemote host address
portRemote port
timeoutConnection timeout
Returns
Result containing session on success, or error message

Implemented in kcenon::pacs::di::DicomNetworkService, and kcenon::pacs::di::test::MockNetwork.

◆ create_server()

virtual std::unique_ptr< network::dicom_server > kcenon::pacs::di::IDicomNetwork::create_server ( const network::server_config & config,
const integration::tls_config & tls_cfg = {} )
nodiscardpure virtual

Create a DICOM server.

Parameters
configServer configuration
tls_cfgOptional TLS configuration
Returns
Unique pointer to dicom_server, or nullptr on failure

Implemented in kcenon::pacs::di::DicomNetworkService, and kcenon::pacs::di::test::MockNetwork.

◆ operator=() [1/2]

IDicomNetwork & kcenon::pacs::di::IDicomNetwork::operator= ( const IDicomNetwork & )
protecteddefault

◆ operator=() [2/2]

IDicomNetwork & kcenon::pacs::di::IDicomNetwork::operator= ( IDicomNetwork && )
protecteddefault

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