DcmAssociationConfiguration Class Reference

this class maintains a list of association negotiation profiles that can be addressed by symbolic keys. More...

List of all members.

Public Member Functions

 DcmAssociationConfiguration ()
 default constructor
 ~DcmAssociationConfiguration ()
 destructor
OFCondition setAssociationParameters (const char *profile, T_ASC_Parameters &params) const
 this method prepares a T_ASC_Parameters structure according to the settings of a profile maintained by this object.
OFCondition evaluateAssociationParameters (const char *profile, T_ASC_Association &assoc) const
 this method evaluates an incoming association request according to the settings of a profile maintained by this object.
OFCondition addTransferSyntax (const char *key, const char *transferSyntaxUID)
 adds the given transfer syntax UID to the list of transfer syntaxes maintained under the given key.
OFCondition addPresentationContext (const char *key, const char *abstractSyntaxUID, const char *transferSyntaxKey)
 adds the given abstract syntax UID and transfer syntax list key to the list of presentation contexts maintained under the given key.
OFCondition addRole (const char *key, const char *abstractSyntaxUID, T_ASC_SC_ROLE role)
 adds the given abstract syntax UID and role to the list of SCP/SCU role selection items maintained under the given key.
OFCondition addExtendedNegotiation (const char *key, const char *abstractSyntaxUID, const unsigned char *rawData, Uint32 length)
 adds the given abstract syntax UID and extended negotiation data to the list of extended negotiation items maintained under the given key.
OFCondition addProfile (const char *key, const char *presentationContextKey, const char *roleSelectionKey=NULL, const char *extendedNegotiationKey=NULL)
 creates a new association negotiation profile under the given key.
OFBool isKnownProfile (const char *key) const
 checks if the profile is known
OFBool isValidSCPProfile (const char *key) const
 checks if the profile is suitable for use by an SCP.

Private Member Functions

 DcmAssociationConfiguration (const DcmAssociationConfiguration &arg)
 private undefined copy constructor
DcmAssociationConfigurationoperator= (const DcmAssociationConfiguration &arg)
 private undefined copy assignment operator

Private Attributes

DcmTransferSyntaxMap xferSyntaxes_
 map of transfer syntax lists
DcmPresentationContextMap contexts_
 map of presentation context lists
DcmRoleSelectionMap roleselection_
 map of role selection lists
DcmExtendedNegotiationMap extneg_
 map of extended negotiation lists
DcmProfileMap profiles_
 map of profiles


Detailed Description

this class maintains a list of association negotiation profiles that can be addressed by symbolic keys.

Definition at line 45 of file dcasccfg.h.


Member Function Documentation

OFCondition DcmAssociationConfiguration::setAssociationParameters ( const char *  profile,
T_ASC_Parameters params 
) const

this method prepares a T_ASC_Parameters structure according to the settings of a profile maintained by this object.

It is used by an association initiator.

Parameters:
symbolic profile name, must not be NULL
params T_ASC_Parameters structure to be filled
Returns:
EC_Normal if successful, an error code otherwise

OFCondition DcmAssociationConfiguration::evaluateAssociationParameters ( const char *  profile,
T_ASC_Association assoc 
) const

this method evaluates an incoming association request according to the settings of a profile maintained by this object.

It is used by an association acceptor.

Parameters:
symbolic profile name, must not be NULL
assoc T_ASC_Association structure to be evaluated
Returns:
EC_Normal if successful, an error code otherwise

OFCondition DcmAssociationConfiguration::addTransferSyntax ( const char *  key,
const char *  transferSyntaxUID 
)

adds the given transfer syntax UID to the list of transfer syntaxes maintained under the given key.

If key is not yet known, a new list is created under this key.

Parameters:
key transfer syntax list key, must not be NULL
transferSyntaxUID transfer syntax UID in symbolic or numeric format
Returns:
EC_Normal if successful, an error code otherwise

OFCondition DcmAssociationConfiguration::addPresentationContext ( const char *  key,
const char *  abstractSyntaxUID,
const char *  transferSyntaxKey 
)

adds the given abstract syntax UID and transfer syntax list key to the list of presentation contexts maintained under the given key.

If key is not yet known, a new list is created under this key. One list of presentation contexts may not have more than 128 entries because of the limitations of the DICOM ACSE protocol.

Parameters:
key presentation context list key, must not be NULL
abstractSyntaxUID abstract syntax UID in symbolic or numeric format
transferSyntaxKey symbolic key that has been used in a call to addTransferSyntax() prior to this call.
Returns:
EC_Normal if successful, an error code otherwise

OFCondition DcmAssociationConfiguration::addRole ( const char *  key,
const char *  abstractSyntaxUID,
T_ASC_SC_ROLE  role 
)

adds the given abstract syntax UID and role to the list of SCP/SCU role selection items maintained under the given key.

If key is not yet known, a new list is created under this key. One abstract syntax UID must not appear twice within one list.

Parameters:
key role list key, must not be NULL
abstractSyntaxUID abstract syntax UID in symbolic or numeric format
role role enum
Returns:
EC_Normal if successful, an error code otherwise

OFCondition DcmAssociationConfiguration::addExtendedNegotiation ( const char *  key,
const char *  abstractSyntaxUID,
const unsigned char *  rawData,
Uint32  length 
)

adds the given abstract syntax UID and extended negotiation data to the list of extended negotiation items maintained under the given key.

If key is not yet known, a new list is created under this key. One abstract syntax UID must not appear twice within one list.

Parameters:
key role list key, must not be NULL
abstractSyntaxUID abstract syntax UID in symbolic or numeric format
rawData pointer to raw data, must not be NULL
length length of data block pointed to by data, in bytes
Returns:
EC_Normal if successful, an error code otherwise

OFCondition DcmAssociationConfiguration::addProfile ( const char *  key,
const char *  presentationContextKey,
const char *  roleSelectionKey = NULL,
const char *  extendedNegotiationKey = NULL 
)

creates a new association negotiation profile under the given key.

A profile consists of a list of presentation contexts and may optionally also include a list of SCP/SCU role selection items and a list of extended negotiation items. This method checks the consistency of the three lists, i.e. makes sure that all abstract syntaxes mentioned either in the list of role selection items or the list of extended negotiation items are also contained in at least one presentation context.

Parameters:
key profile key, must not be NULL
presentationContextKey presentation context list key, must not be NULL
roleSelectionKey role selection list key, may be NULL
extendedNegotiationKey extended negotiation list key, may be NULL
Returns:
EC_Normal if successful, an error code otherwise

OFBool DcmAssociationConfiguration::isKnownProfile ( const char *  key  )  const

checks if the profile is known

Parameters:
key profile name, must not be NULL
Returns:
true if profile is known, false otherwise

OFBool DcmAssociationConfiguration::isValidSCPProfile ( const char *  key  )  const

checks if the profile is suitable for use by an SCP.

A profile is suitable for use by an SCP if each SOP class in the list of presentation contexts appears at most once.

Parameters:
key profile name, must not be NULL
Returns:
true if profile is suitable for use by an SCP, false otherwise


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


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1