DCMTK  Version 3.6.1 20120515
OFFIS DICOM Toolkit
Public Member Functions | Private Member Functions | Private Attributes
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.


Member Function Documentation

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:
keyrole list key, must not be NULL
abstractSyntaxUIDabstract syntax UID in symbolic or numeric format
rawDatapointer to raw data, must not be NULL
lengthlength of data block pointed to by data, in bytes
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:
keypresentation context list key, must not be NULL
abstractSyntaxUIDabstract syntax UID in symbolic or numeric format
transferSyntaxKeysymbolic 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::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:
keyprofile key, must not be NULL
presentationContextKeypresentation context list key, must not be NULL
roleSelectionKeyrole selection list key, may be NULL
extendedNegotiationKeyextended negotiation list key, may be NULL
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:
keyrole list key, must not be NULL
abstractSyntaxUIDabstract syntax UID in symbolic or numeric format
rolerole enum
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:
keytransfer syntax list key, must not be NULL
transferSyntaxUIDtransfer syntax UID in symbolic or numeric format
Returns:
EC_Normal if successful, an error code otherwise

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:
symbolicprofile name, must not be NULL
assocT_ASC_Association structure to be evaluated
Returns:
EC_Normal if successful, an error code otherwise
OFBool DcmAssociationConfiguration::isKnownProfile ( const char *  key) const

checks if the profile is known

Parameters:
keyprofile 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:
keyprofile name, must not be NULL
Returns:
true if profile is suitable for use by an SCP, false otherwise

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:
symbolicprofile name, must not be NULL
paramsT_ASC_Parameters structure to be filled
Returns:
EC_Normal if successful, an error code otherwise

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


Generated on Tue May 15 2012 for DCMTK Version 3.6.1 20120515 by Doxygen 1.7.5.1-20111027