|
PACS System 0.1.0
PACS DICOM system library
|
#include <scp_service.h>


Public Member Functions | |
| scp_service (std::shared_ptr< di::ILogger > logger=nullptr) | |
| Construct SCP service with optional logger. | |
| virtual | ~scp_service ()=default |
| scp_service (const scp_service &)=delete | |
| scp_service & | operator= (const scp_service &)=delete |
| scp_service (scp_service &&)=default | |
| scp_service & | operator= (scp_service &&)=default |
| void | set_logger (std::shared_ptr< di::ILogger > logger) |
| Set the logger instance. | |
| const std::shared_ptr< di::ILogger > & | logger () const noexcept |
| Get the current logger instance. | |
| virtual std::vector< std::string > | supported_sop_classes () const =0 |
| Get the list of SOP Class UIDs supported by this service. | |
| virtual network::Result< std::monostate > | handle_message (network::association &assoc, uint8_t context_id, const network::dimse::dimse_message &request)=0 |
| Handle an incoming DIMSE message. | |
| virtual std::string_view | service_name () const noexcept=0 |
| Get the service name for logging/debugging. | |
| bool | supports_sop_class (std::string_view sop_class_uid) const |
| Check if this service supports a specific SOP Class. | |
Protected Attributes | |
| std::shared_ptr< di::ILogger > | logger_ |
| Logger instance for service logging. | |
Definition at line 53 of file scp_service.h.
|
inlineexplicit |
Construct SCP service with optional logger.
| logger | Logger instance for service logging (nullptr uses null_logger) |
Definition at line 64 of file scp_service.h.
|
virtualdefault |
|
delete |
|
default |
|
nodiscardpure virtual |
Handle an incoming DIMSE message.
Processes the request and sends appropriate response(s) via the association.
| assoc | The association on which the message was received |
| context_id | The presentation context ID for the message |
| request | The incoming DIMSE request message |
Implemented in kcenon::pacs::services::mpps_scp, kcenon::pacs::services::n_get_scp, kcenon::pacs::services::print_scp, kcenon::pacs::services::query_scp, kcenon::pacs::services::retrieve_scp, kcenon::pacs::services::storage_commitment_scp, kcenon::pacs::services::storage_scp, kcenon::pacs::services::ups_push_scp, kcenon::pacs::services::ups_query_scp, kcenon::pacs::services::ups_watch_scp, kcenon::pacs::services::verification_scp, and kcenon::pacs::services::worklist_scp.
|
inlinenodiscardnoexcept |
Get the current logger instance.
Definition at line 93 of file scp_service.h.
References logger_.
Referenced by set_logger().

|
delete |
|
default |
|
nodiscardpure virtualnoexcept |
Get the service name for logging/debugging.
Implemented in kcenon::pacs::services::mpps_scp, kcenon::pacs::services::n_get_scp, kcenon::pacs::services::print_scp, kcenon::pacs::services::query_scp, kcenon::pacs::services::retrieve_scp, kcenon::pacs::services::storage_commitment_scp, kcenon::pacs::services::storage_scp, kcenon::pacs::services::ups_push_scp, kcenon::pacs::services::ups_query_scp, kcenon::pacs::services::ups_watch_scp, kcenon::pacs::services::verification_scp, and kcenon::pacs::services::worklist_scp.
|
inline |
Set the logger instance.
| logger | New logger instance (nullptr uses null_logger) |
Definition at line 84 of file scp_service.h.
References logger(), logger_, and kcenon::pacs::di::null_logger().

|
nodiscardpure virtual |
Get the list of SOP Class UIDs supported by this service.
Implemented in kcenon::pacs::services::mpps_scp, kcenon::pacs::services::n_get_scp, kcenon::pacs::services::print_scp, kcenon::pacs::services::query_scp, kcenon::pacs::services::retrieve_scp, kcenon::pacs::services::storage_commitment_scp, kcenon::pacs::services::storage_scp, kcenon::pacs::services::ups_push_scp, kcenon::pacs::services::ups_query_scp, kcenon::pacs::services::ups_watch_scp, kcenon::pacs::services::verification_scp, and kcenon::pacs::services::worklist_scp.
Referenced by supports_sop_class().

|
inlinenodiscard |
Check if this service supports a specific SOP Class.
| sop_class_uid | The SOP Class UID to check |
Definition at line 140 of file scp_service.h.
References supported_sop_classes(), and uid.
Referenced by kcenon::pacs::services::n_get_scp::handle_message().


|
protected |
Logger instance for service logging.
Definition at line 156 of file scp_service.h.
Referenced by kcenon::pacs::services::ups_watch_scp::dispatch_event(), kcenon::pacs::services::n_get_scp::handle_message(), kcenon::pacs::services::ups_query_scp::handle_message(), kcenon::pacs::services::ups_watch_scp::handle_subscribe(), kcenon::pacs::services::ups_watch_scp::handle_suspend_global(), kcenon::pacs::services::ups_watch_scp::handle_unsubscribe(), logger(), and set_logger().