This class encapsulates data structures and operations for basic worklist management service class providers.
More...
|
| WlmActivityManager (WlmDataSource *dataSourcev, OFCmdUnsignedInt opt_portv, OFBool opt_refuseAssociationv, OFBool opt_rejectWithoutImplementationUIDv, OFCmdUnsignedInt opt_sleepBeforeFindReqv, 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_forkedChildv=OFFalse, int argcv=0, char *argvv[]=NULL) |
| constructor. More...
|
|
| ~WlmActivityManager () |
| destructor
|
|
OFCondition | StartProvidingService () |
| Starts providing the implemented service for calling SCUs. More...
|
|
OFBool | setRequestFilePath (const OFString &path="", const OFString &format="#t.dump") |
| Set directory to store request files to. More...
|
|
|
WlmDataSource * | dataSource |
| 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_sleepBeforeFindReq |
| indicates how many seconds the application is supposed to sleep before handling a find request
|
|
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
|
|
OFString | opt_requestFilePath |
| the directory where to store request files to
|
|
OFString | opt_requestFileFormat |
| the format used for the request file names. More...
|
|
This class encapsulates data structures and operations for basic worklist management service class providers.
◆ WlmActivityManager() [1/2]
Protected undefined copy-constructor.
Shall never be called.
- Parameters
-
◆ WlmActivityManager() [2/2]
WlmActivityManager::WlmActivityManager |
( |
WlmDataSource * |
dataSourcev, |
|
|
OFCmdUnsignedInt |
opt_portv, |
|
|
OFBool |
opt_refuseAssociationv, |
|
|
OFBool |
opt_rejectWithoutImplementationUIDv, |
|
|
OFCmdUnsignedInt |
opt_sleepBeforeFindReqv, |
|
|
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_forkedChildv = 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_sleepBeforeFindReqv | Specifies how many seconds the application is supposed to sleep before handling a C-FIND-Req. |
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_forkedChild | Indicates, whether this process was "forked" from a parent process, default: false |
argcv | Number of commandline arguments given |
argvv | Complete command line |
◆ AddProcessToTable()
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). |
◆ CleanChildren()
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.
◆ HandleAssociation()
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). |
◆ HandleEchoSCP()
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.
◆ HandleFindSCP()
This function processes a DIMSE C-FIND-RQ command 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.
◆ NegotiateAssociation()
This function negotiates a presentation context which will be used by this application and the other DICOM application that requests an association.
- Parameters
-
assoc | The association (network connection to another DICOM application). |
◆ operator=()
Protected undefined operator=.
Shall never be called.
- Parameters
-
- Returns
- Reference to this.
◆ ReceiveAndHandleCommands()
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).
◆ RefuseAssociation()
This function takes care of refusing an association request.
- Parameters
-
assoc | The association (network connection to another DICOM application). |
reason | The reason why the association request will be refused. |
◆ RemoveProcessFromTable()
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
-
◆ setRequestFilePath()
OFBool WlmActivityManager::setRequestFilePath |
( |
const OFString & |
path = "" , |
|
|
const OFString & |
format = "#t.dump" |
|
) |
| |
Set directory to store request files to.
If set to empty path (default), request files are not stored.
- Parameters
-
path | Path to directory where request files should be stored to. Must exist and be writable for worklist application. |
format | The format used for the request file names. Several placeholders can be used by (denoted by #):
#a: calling application entity title of the peer SCU
#c: called application entity title (AE title of worklist SCP application)
#i: process id of the worklist SCP application process handling the request
#p: patient ID if present, otherwise empty string
#t: timestamp in the format YYYYMMDDhhmmssffffff
Default is #t.dump. |
- Returns
- OFTrue if path is accepted, OFFalse otherwise
◆ StartProvidingService()
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().
◆ WaitForAssociation()
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 is established.
- Parameters
-
net | Contains network parameters. |
◆ opt_requestFileFormat
OFString WlmActivityManager::opt_requestFileFormat |
|
protected |
the format used for the request file names.
Several placeholders can be used by(denoted by #) : #a: calling application entity title of the peer SCU #c: called application entity title (AE title of worklist SCP application) #i process id of the worklist SCP application process handling the request #p: patient ID if present, otherwise empty string \ #t: timestamp in the format YYYYMMDDhhmmssffffff
The documentation for this class was generated from the following file:
- dcmwlm/include/dcmtk/dcmwlm/wlmactmg.h