odil
C++11libraryfortheDICOMstandard
Public Types | Public Member Functions | List of all members
odil::Association Class Reference

Association. More...

#include <Association.h>

Public Types

enum  Result { Accepted =0, RejectedPermanent =1, RejectedTransient =2 }
 Association result (ITU-T X.227, PS 3.8, 7.1.1.7 and PS 3.8, 9.3.4).
 
enum  ResultSource { ULServiceUser =1, ULServiceProviderACSERelatedFunction =2, ULServiceProvderPresentationRelatedFunction =3 }
 Source of association result (PS 3.8, 7.1.1.8 and PS 3.8, 9.3.4).
 
enum  Diagnostic {
  NoReasonGiven =1, ApplicationContextNameNotSupported =2, CallingAETitleNotRecognized =3, CallingAPInvocationIdentifierNotRecognized =4,
  CallingAEQualifierNotRecognized =5, CallingAEInvocationIdentifierNotRecognized =6, CalledAETitleNotRecognized =7, CalledAPInvocationIdentifierNotRecognized =8,
  CalledAEQualifierNotRecognized =9, CalledAEInvocationIdentifierNotRecognized =10, NoCommonULVersion =2, TemporaryCongestion =1,
  LocalLimitExceeded =2, CalledPresentationAddressUnknown =3, PresentationProtocolVersionNotSupported =4, NoPresentationServiceAccessPointAvailable =7
}
 Diagnostic of association result.
 
typedef dul::StateMachine::duration_type duration_type
 Duration of the timeout.
 

Public Member Functions

 Association ()
 Create a default, un-associated, association.
 
 Association (Association const &other)
 Create an un-associated association.
 
 ~Association ()
 Destroy the association, release it if necessary.
 
dul::Transport & get_transport ()
 Return the TCP transport.
 
Associationoperator= (Association const &other)
 Assing an un-associated association; it remains un-associated.
 
AssociationParameters const & get_parameters () const
 Return the association parameters.
 
AssociationParametersupdate_parameters ()
 Return the association parameters.
 
void set_parameters (AssociationParameters const &value)
 Set the association parameters, throw an exception when associated.
 
AssociationParameters const & get_negotiated_parameters () const
 Return the negotiated association parameters.
 
Peer
std::string const & get_peer_host () const
 Return the host name of the peer. Defaults to "".
 
void set_peer_host (std::string const &host)
 Set the host name of the peer.
 
uint16_t get_peer_port () const
 Return the port of the peer. Defaults to 104.
 
void set_peer_port (uint16_t port)
 Set the port of the peer.
 
Timeouts
duration_type get_tcp_timeout () const
 Return the TCP timeout, default to infinity.
 
void set_tcp_timeout (duration_type const &duration)
 Set the timeout.
 
duration_type get_message_timeout () const
 Return the DIMSE timeout, default to 30s.
 
void set_message_timeout (duration_type const &duration)
 Set the DIMSE timeout.
 
Association
bool is_associated () const
 Test whether the object is currently associated to its peer.
 
void associate ()
 Request an association with the peer.
 
void receive_association (boost::asio::ip::tcp const &protocol, unsigned short port, AssociationAcceptor acceptor=default_association_acceptor)
 Receive an association from a peer.
 
void reject (Result result, ResultSource result_source, Diagnostic diagnostic)
 Reject the received association request.
 
void release ()
 Gracefully release the association. Throws an exception if not associated.
 
void abort (int source, int reason)
 Forcefully release the association. Throws an exception if not associated.
 
DIMSE messages sending and reception.
message::Message receive_message ()
 Receive a generic DIMSE message. More...
 
void send_message (message::Message const &message, std::string const &abstract_syntax)
 Send a DIMSE message.
 
uint16_t next_message_id ()
 Return the next available message id.
 

Detailed Description

Association.

Member Function Documentation

message::Message odil::Association::receive_message ( )

Receive a generic DIMSE message.

Throw an AssociationReleased or AssociationAborted if the peer released or aborted the association.


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