Interface IDicomClient
- Namespace
- FellowOakDicom.Network.Client
- Assembly
- fo-dicom.core.dll
public interface IDicomClient
- Extension Methods
Properties
AdditionalExtendedNegotiations
Gets or sets extended negotiation items to negotiate with association.
List<DicomExtendedNegotiation> AdditionalExtendedNegotiations { get; set; }
Property Value
AdditionalPresentationContexts
Gets or sets additional presentation contexts to negotiate with association.
List<DicomPresentationContext> AdditionalPresentationContexts { get; set; }
Property Value
CalledAe
Called Application Entity Title.
string CalledAe { get; }
Property Value
CallingAe
Calling Application Entity Title.
string CallingAe { get; }
Property Value
ClientOptions
Gets or sets options to control behavior of this DICOM client.
DicomClientOptions ClientOptions { get; }
Property Value
FallbackEncoding
Gets or sets the fallback encoding.
Encoding FallbackEncoding { get; set; }
Property Value
Host
DICOM host.
string Host { get; }
Property Value
IsSendRequired
Gets whether a new send invocation is required. Send needs to be called if there are requests in queue and client is not connected.
bool IsSendRequired { get; }
Property Value
Logger
Gets or sets the logger that will be used by this DicomClient
ILogger Logger { get; set; }
Property Value
OnCStoreRequest
Gets or sets the handler of a client C-STORE request.
DicomClientCStoreRequestHandler OnCStoreRequest { get; set; }
Property Value
OnNEventReportRequest
Gets or sets the handler of client N-EVENT-REPORT-RQ
DicomClientNEventReportRequestHandler OnNEventReportRequest { get; set; }
Property Value
Port
Port.
int Port { get; }
Property Value
RequireSuccessfulUserIdentityNegotiation
Gets or sets whether to require a successful user identity negotiation during association.
bool RequireSuccessfulUserIdentityNegotiation { get; set; }
Property Value
ServiceOptions
Gets or sets options to control behavior of DicomService base class.
DicomServiceOptions ServiceOptions { get; }
Property Value
TlsInitiator
A handler to initiate TLS security, if null then TLS is not enabled.
ITlsInitiator TlsInitiator { get; }
Property Value
UserIdentityNegotiation
Gets or sets the user identity to negotiate with association.
DicomUserIdentityNegotiation UserIdentityNegotiation { get; set; }
Property Value
Methods
AddRequestAsync(DicomRequest)
Enqueues a new DICOM request for execution.
Task AddRequestAsync(DicomRequest dicomRequest)
Parameters
dicomRequest
DicomRequestThe DICOM request to send
Returns
AddRequestsAsync(IEnumerable<DicomRequest>)
Enqueues new DICOM requests for execution. When you have many requests, this method is recommended over calling AddRequestAsync(DicomRequest) multiple times.
Task AddRequestsAsync(IEnumerable<DicomRequest> dicomRequests)
Parameters
dicomRequests
IEnumerable<DicomRequest>The DICOM requests to send
Returns
NegotiateAsyncOps(int, int)
Set negotiation asynchronous operations.
void NegotiateAsyncOps(int invoked = 0, int performed = 0)
Parameters
NegotiateUserIdentity(DicomUserIdentityNegotiation)
Set negotiation of user identity.
void NegotiateUserIdentity(DicomUserIdentityNegotiation userIdentityNegotiation)
Parameters
userIdentityNegotiation
DicomUserIdentityNegotiationUser identity negotiation information.
SendAsync(CancellationToken, DicomClientCancellationMode)
Sends existing requests to DICOM service. Note that subsequent calls, when the DICOM client is already sending its requests, will be completely ignored. If you want to cancel the process, be sure to cancel the cancellation token that was passed into the first call.
Task SendAsync(CancellationToken cancellationToken = default, DicomClientCancellationMode cancellationMode = DicomClientCancellationMode.ImmediatelyReleaseAssociation)
Parameters
cancellationToken
CancellationTokenThe cancellation token that can abort the send process if necessary
cancellationMode
DicomClientCancellationModeThe cancellation mode that determines the cancellation behavior
Returns
Events
AssociationAccepted
Triggers when an association is accepted
event EventHandler<AssociationAcceptedEventArgs> AssociationAccepted
Event Type
AssociationRejected
Triggers when an association is rejected.
event EventHandler<AssociationRejectedEventArgs> AssociationRejected
Event Type
AssociationReleased
Representation of the DICOM association released event.
event EventHandler AssociationReleased
Event Type
AssociationRequestTimedOut
Representation of the DICOM association request timed out event.
event EventHandler<AssociationRequestTimedOutEventArgs> AssociationRequestTimedOut
Event Type
RequestTimedOut
Triggered when a DICOM request times out.
event EventHandler<RequestTimedOutEventArgs> RequestTimedOut
Event Type
StateChanged
Whenever the DICOM client changes state, an event will be emitted containing the old state and the new state. The current DICOM client implementation is no longer state based, and has been rewritten as a wrapper around the new IAdvancedDicomClientConnection This event handler is still supported for backwards compatibility reasons, but may be removed in the future.
[Obsolete("StateChanged is an artifact of an older state-based implementation of the DicomClient and will be deleted in the future. It only exists today for backwards compatibility purposes")]
event EventHandler<StateChangedEventArgs> StateChanged