DcmQueryRetrieveSCP Class Reference

main class for Query/Retrieve Service Class Provider More...

List of all members.

Public Member Functions

 DcmQueryRetrieveSCP (const DcmQueryRetrieveConfig &config, const DcmQueryRetrieveOptions &options, const DcmQueryRetrieveDatabaseHandleFactory &factory)
 constructor
virtual ~DcmQueryRetrieveSCP ()
 destructor
OFCondition waitForAssociation (T_ASC_Network *theNet)
 wait for incoming A-ASSOCIATE requests, perform association negotiation and serve the requests.
void setDatabaseFlags (OFBool dbCheckFindIdentifier, OFBool dbCheckMoveIdentifier, OFBool dbDebug)
 set database flags
void cleanChildren (OFBool verbose=OFFalse)
 clean up terminated child processes.

Private Member Functions

OFCondition negotiateAssociation (T_ASC_Association *assoc)
 perform association negotiation for an incoming A-ASSOCIATE request based on the SCP configuration and option flags.
OFCondition refuseAssociation (T_ASC_Association **assoc, CTN_RefuseReason reason)
OFCondition handleAssociation (T_ASC_Association *assoc, OFBool correctUIDPadding)
OFCondition echoSCP (T_ASC_Association *assoc, T_DIMSE_C_EchoRQ *req, T_ASC_PresentationContextID presId)
OFCondition findSCP (T_ASC_Association *assoc, T_DIMSE_C_FindRQ *request, T_ASC_PresentationContextID presID, DcmQueryRetrieveDatabaseHandle &dbHandle)
OFCondition getSCP (T_ASC_Association *assoc, T_DIMSE_C_GetRQ *request, T_ASC_PresentationContextID presID, DcmQueryRetrieveDatabaseHandle &dbHandle)
OFCondition moveSCP (T_ASC_Association *assoc, T_DIMSE_C_MoveRQ *request, T_ASC_PresentationContextID presID, DcmQueryRetrieveDatabaseHandle &dbHandle)
OFCondition storeSCP (T_ASC_Association *assoc, T_DIMSE_C_StoreRQ *req, T_ASC_PresentationContextID presId, DcmQueryRetrieveDatabaseHandle &dbHandle, OFBool correctUIDPadding)
OFCondition dispatch (T_ASC_Association *assoc, OFBool correctUIDPadding)

Static Private Member Functions

static void refuseAnyStorageContexts (T_ASC_Association *assoc)

Private Attributes

const DcmQueryRetrieveConfigconfig_
 configuration facility
DcmQueryRetrieveProcessTable processtable_
 child process table, only used in multi-processing mode
OFBool dbCheckFindIdentifier_
 flag for database interface: check C-FIND identifier
OFBool dbCheckMoveIdentifier_
 flag for database interface: check C-MOVE identifier
OFBool dbDebug_
 flag for database interface: debug mode
const DcmQueryRetrieveDatabaseHandleFactoryfactory_
 factory object used to create database handles
const DcmQueryRetrieveOptionsoptions_
 SCP configuration options.


Detailed Description

main class for Query/Retrieve Service Class Provider

Definition at line 67 of file dcmqrsrv.h.


Constructor & Destructor Documentation

DcmQueryRetrieveSCP::DcmQueryRetrieveSCP const DcmQueryRetrieveConfig config,
const DcmQueryRetrieveOptions options,
const DcmQueryRetrieveDatabaseHandleFactory factory
 

constructor

Parameters:
config SCP configuration facility
options SCP configuration options
factory factory object used to create database handles


Member Function Documentation

void DcmQueryRetrieveSCP::cleanChildren OFBool  verbose = OFFalse  ) 
 

clean up terminated child processes.

Parameters:
verbose verbose mode flag

OFCondition DcmQueryRetrieveSCP::negotiateAssociation T_ASC_Association assoc  )  [private]
 

perform association negotiation for an incoming A-ASSOCIATE request based on the SCP configuration and option flags.

No A-ASSOCIATE response is generated, this is left to the caller.

Parameters:
assoc incoming association
Returns:
EC_Normal if successful, an error code otherwise

void DcmQueryRetrieveSCP::setDatabaseFlags OFBool  dbCheckFindIdentifier,
OFBool  dbCheckMoveIdentifier,
OFBool  dbDebug
 

set database flags

Parameters:
dbCheckFindIdentifier flag indicating that a check should be performed for C-FIND requests
dbCheckMoveIdentifier flag indicating that a check should be performed for C-MOVE requests
dbDebug database debug mode

OFCondition DcmQueryRetrieveSCP::waitForAssociation T_ASC_Network theNet  ) 
 

wait for incoming A-ASSOCIATE requests, perform association negotiation and serve the requests.

May fork child processes depending on availability of the fork() system function and configuration options.

Parameters:
theNet network structure for listen socket
Returns:
EC_Normal if successful, an error code otherwise


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


Generated on 20 Dec 2005 for OFFIS DCMTK Version 3.5.4 by Doxygen 1.4.5