WlmActivityManager Class Reference

This class encapsulates data structures and operations for basic worklist management service class providers. More...

List of all members.

Public Member Functions

 WlmActivityManager (WlmDataSource *dataSourcev, OFCmdUnsignedInt opt_portv, OFBool opt_refuseAssociationv, OFBool opt_rejectWithoutImplementationUIDv, OFCmdUnsignedInt opt_sleepAfterFindv, OFCmdUnsignedInt opt_sleepDuringFindv, OFCmdUnsignedInt opt_maxPDUv, E_TransferSyntax opt_networkTransferSyntaxv, OFBool opt_failInvalidQueryv, OFBool opt_singleProcessv, int opt_maxAssociationsv, T_DIMSE_BlockingMode opt_blockModev, int opt_dimse_timeoutv, int opt_acse_timeoutv, OFBool opt_forkedChild=OFFalse, int argcv=0, char *argvv[]=NULL)
 constructor.
 ~WlmActivityManager ()
 destructor
OFCondition StartProvidingService ()
 Starts providing the implemented service for calling SCUs.

Protected Member Functions

OFCondition WaitForAssociation (T_ASC_Network *net)
 This function takes care of receiving, negotiating and accepting/refusing an association request.
void CleanChildren ()
 This function takes care of removing items referring to (terminated) subprocess from the table which stores all subprocess information.
OFCondition NegotiateAssociation (T_ASC_Association *assoc)
 This function negotiates a presentation context which will be used by this application and the other DICOM appliation that requests an association.
void AddProcessToTable (int pid, T_ASC_Association *assoc)
 This function adds a process to the table that stores process information.
void RemoveProcessFromTable (int pid)
 This function removes one particular item from the table which stores all subprocess information.
void RefuseAssociation (T_ASC_Association **assoc, WlmRefuseReasonType reason)
 This function takes care of refusing an assocation request.
void HandleAssociation (T_ASC_Association *assoc)
 This function takes care of handling the other DICOM application's request.
OFCondition ReceiveAndHandleCommands (T_ASC_Association *assoc)
 This function takes care of handling the other DICOM application's request.
OFCondition HandleEchoSCP (T_ASC_Association *assoc, T_DIMSE_C_EchoRQ *req, T_ASC_PresentationContextID presId)
 Having received a DIMSE C-ECHO-RQ message, this function takes care of sending a DIMSE C-ECHO-RSP message over the network connection.
OFCondition HandleFindSCP (T_ASC_Association *assoc, T_DIMSE_C_FindRQ *request, T_ASC_PresentationContextID presID)
 This function processes a DIMSE C-FIND-RQ commmand that was received over the network connection.
 WlmActivityManager (const WlmActivityManager &Src)
 Protected undefined copy-constructor.
WlmActivityManageroperator= (const WlmActivityManager &Src)
 Protected undefined operator=.

Protected Attributes

WlmDataSourcedataSource
 data source connection object
OFCmdUnsignedInt opt_port
 port on which the application is listening
OFBool opt_refuseAssociation
 indicates if the application shall refuse any association
OFBool opt_rejectWithoutImplementationUID
 indicates if the application shall reject associations without implementation class uids
OFCmdUnsignedInt opt_sleepAfterFind
 indicates how long the application shall sleep after a find
OFCmdUnsignedInt opt_sleepDuringFind
 indicates how long the application shall sleep during a find
OFCmdUnsignedInt opt_maxPDU
 max pdu size
E_TransferSyntax opt_networkTransferSyntax
 preferred network transfer syntax
OFBool opt_failInvalidQuery
 indicates if the application shall fail on an invalid C-Find RQ message
OFBool opt_singleProcess
 indicates if the application is run in single process mode or not
OFBool opt_forkedChild
 indicates, that this process was spawn as child from a parent process needed for multiprocess mode on WIN32
int cmd_argc
 number of arguments in commandline, needed for multiprocess mode on WIN32
char ** cmd_argv
 complete command line, needed for multiprocess mode on WIN32
int opt_maxAssociations
 maximum number of association for non-single process mode
T_DIMSE_BlockingMode opt_blockMode
 blocking mode for DIMSE operations
int opt_dimse_timeout
 timeout for DIMSE operations
int opt_acse_timeout
 timeout for ACSE operations
char ** supportedAbstractSyntaxes
 array of supported abstract syntaxes
int numberOfSupportedAbstractSyntaxes
 number of array fields
OFList< WlmProcessSlotType * > processTable
 table of processes for non-single process mode


Detailed Description

This class encapsulates data structures and operations for basic worklist management service class providers.

Definition at line 46 of file wlmactmg.h.


Constructor & Destructor Documentation

WlmActivityManager::WlmActivityManager ( const WlmActivityManager Src  )  [protected]

Protected undefined copy-constructor.

Shall never be called.

Parameters:
Src Source object.

WlmActivityManager::WlmActivityManager ( WlmDataSource dataSourcev,
OFCmdUnsignedInt  opt_portv,
OFBool  opt_refuseAssociationv,
OFBool  opt_rejectWithoutImplementationUIDv,
OFCmdUnsignedInt  opt_sleepAfterFindv,
OFCmdUnsignedInt  opt_sleepDuringFindv,
OFCmdUnsignedInt  opt_maxPDUv,
E_TransferSyntax  opt_networkTransferSyntaxv,
OFBool  opt_failInvalidQueryv,
OFBool  opt_singleProcessv,
int  opt_maxAssociationsv,
T_DIMSE_BlockingMode  opt_blockModev,
int  opt_dimse_timeoutv,
int  opt_acse_timeoutv,
OFBool  opt_forkedChild = OFFalse,
int  argcv = 0,
char *  argvv[] = NULL 
)

constructor.

Parameters:
dataSourcev Pointer to the data source which shall be used.
opt_portv The port on which the application is supposed to listen.
opt_refuseAssociationv Specifies if an association shall always be refused by the SCP.
opt_rejectWithoutImplementationUIDv Specifies if the application shall reject an association if no implementation class UID is provided by the calling SCU.
opt_sleepAfterFindv Specifies how many seconds the application is supposed to sleep after having handled a C-FIND-Rsp.
opt_sleepDuringFindv Specifies how many seconds the application is supposed to sleep during the handling of a C-FIND-Rsp.
opt_maxPDUv Maximum length of a PDU that can be received in bytes.
opt_networkTransferSyntaxv Specifies the preferred network transfer syntaxes.
opt_failInvalidQueryv Specifies if the application shall fail on an invalid query.
opt_singleProcessv Specifies if the application shall run in a single process.
opt_maxAssociationsv Specifies many concurrent associations the application shall be able to handle.
opt_blockModev Specifies the blocking mode for DIMSE operations
opt_dimse_timeoutv Specifies the timeout for DIMSE operations
opt_acse_timeoutv Specifies the timeout for ACSE operations
opt_forkedChildv Indicates, whether this process was "forked" from a parent process, default: false
argcv Number of commandline arguments given
argvv Complete command line


Member Function Documentation

OFCondition WlmActivityManager::WaitForAssociation ( T_ASC_Network net  )  [protected]

This function takes care of receiving, negotiating and accepting/refusing an association request.

Additionally, it handles the request the association requesting application transmits after a connection isd established.

Parameters:
net Contains network parameters.

void WlmActivityManager::CleanChildren (  )  [protected]

This function takes care of removing items referring to (terminated) subprocess from the table which stores all subprocess information.

Three different versions for three different platforms are implemented.

OFCondition WlmActivityManager::NegotiateAssociation ( T_ASC_Association assoc  )  [protected]

This function negotiates a presentation context which will be used by this application and the other DICOM appliation that requests an association.

Parameters:
assoc The association (network connection to another DICOM application).

void WlmActivityManager::AddProcessToTable ( int  pid,
T_ASC_Association assoc 
) [protected]

This function adds a process to the table that stores process information.

Parameters:
pid the process id of the sub-process which was just started.
assoc The association (network connection to another DICOM application).

void WlmActivityManager::RemoveProcessFromTable ( int  pid  )  [protected]

This function removes one particular item from the table which stores all subprocess information.

The item which shall be deleted will be identified by its process id.

Parameters:
pid process id.

void WlmActivityManager::RefuseAssociation ( T_ASC_Association **  assoc,
WlmRefuseReasonType  reason 
) [protected]

This function takes care of refusing an assocation request.

Parameters:
assoc The association (network connection to another DICOM application).
reason The reason why the association request will be refused.

void WlmActivityManager::HandleAssociation ( T_ASC_Association assoc  )  [protected]

This function takes care of handling the other DICOM application's request.

After having accomplished all necessary steps, the association will be dropped and destroyed.

Parameters:
assoc The association (network connection to another DICOM application).

OFCondition WlmActivityManager::ReceiveAndHandleCommands ( T_ASC_Association assoc  )  [protected]

This function takes care of handling the other DICOM application's request.

Parameters:
assoc The association (network connection to another DICOM application).
Returns:
An OFCondition value 'cond' for which 'cond.bad()' will always be set indicating that either some kind of error occurred, or that the peer aborted the association (DUL_PEERABORTEDASSOCIATION), or that the peer requested the release of the association (DUL_PEERREQUESTEDRELEASE).

OFCondition WlmActivityManager::HandleEchoSCP ( T_ASC_Association assoc,
T_DIMSE_C_EchoRQ req,
T_ASC_PresentationContextID  presId 
) [protected]

Having received a DIMSE C-ECHO-RQ message, this function takes care of sending a DIMSE C-ECHO-RSP message over the network connection.

Parameters:
assoc The association (network connection to another DICOM application).
req The DIMSE C-ECHO-RQ message that was received.
presId The ID of the presentation context which was specified in the PDV which contained the DIMSE command.
Returns:
OFCondition value denoting success or error.

OFCondition WlmActivityManager::HandleFindSCP ( T_ASC_Association assoc,
T_DIMSE_C_FindRQ request,
T_ASC_PresentationContextID  presID 
) [protected]

This function processes a DIMSE C-FIND-RQ commmand that was received over the network connection.

Parameters:
assoc The association (network connection to another DICOM application).
request The DIMSE C-FIND-RQ message that was received.
presID The ID of the presentation context which was specified in the PDV which contained the DIMSE command.
Returns:
OFCondition value denoting success or error.

WlmActivityManager& WlmActivityManager::operator= ( const WlmActivityManager Src  )  [protected]

Protected undefined operator=.

Shall never be called.

Parameters:
Src Source object.
Returns:
Reference to this.

OFCondition WlmActivityManager::StartProvidingService (  ) 

Starts providing the implemented service for calling SCUs.

After having created an instance of this class, this function shall be called from main.

Returns:
Value that is supposed to be returned from main().


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