|
DCMTK
Version 3.6.2
OFFIS DICOM Toolkit
|
This class encapsulates data structures and operations for basic worklist management service class providers. More...
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. More... | |
| ~WlmActivityManager () | |
| destructor | |
| OFCondition | StartProvidingService () |
| Starts providing the implemented service for calling SCUs. More... | |
Protected Member Functions | |
| OFCondition | WaitForAssociation (T_ASC_Network *net) |
| This function takes care of receiving, negotiating and accepting/refusing an association request. More... | |
| void | CleanChildren () |
| This function takes care of removing items referring to (terminated) subprocess from the table which stores all subprocess information. More... | |
| 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. More... | |
| void | AddProcessToTable (int pid, T_ASC_Association *assoc) |
| This function adds a process to the table that stores process information. More... | |
| void | RemoveProcessFromTable (int pid) |
| This function removes one particular item from the table which stores all subprocess information. More... | |
| void | RefuseAssociation (T_ASC_Association **assoc, WlmRefuseReasonType reason) |
| This function takes care of refusing an assocation request. More... | |
| void | HandleAssociation (T_ASC_Association *assoc) |
| This function takes care of handling the other DICOM application's request. More... | |
| OFCondition | ReceiveAndHandleCommands (T_ASC_Association *assoc) |
| This function takes care of handling the other DICOM application's request. More... | |
| 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. More... | |
| 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. More... | |
| WlmActivityManager (const WlmActivityManager &Src) | |
| Protected undefined copy-constructor. More... | |
| WlmActivityManager & | operator= (const WlmActivityManager &Src) |
| Protected undefined operator=. More... | |
Protected Attributes | |
| 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_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 | |
This class encapsulates data structures and operations for basic worklist management service class providers.
|
protected |
Protected undefined copy-constructor.
Shall never be called.
| 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.
| 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 |
|
protected |
This function adds a process to the table that stores process information.
| pid | the process id of the sub-process which was just started. |
| assoc | The association (network connection to another DICOM application). |
|
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.
|
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.
| assoc | The association (network connection to another DICOM application). |
|
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.
| 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. |
|
protected |
This function processes a DIMSE C-FIND-RQ commmand that was received over the network connection.
| 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. |
|
protected |
This function negotiates a presentation context which will be used by this application and the other DICOM appliation that requests an association.
| assoc | The association (network connection to another DICOM application). |
|
protected |
Protected undefined operator=.
Shall never be called.
| Src | Source object. |
|
protected |
This function takes care of handling the other DICOM application's request.
| assoc | The association (network connection to another DICOM application). |
|
protected |
This function takes care of refusing an assocation request.
| assoc | The association (network connection to another DICOM application). |
| reason | The reason why the association request will be refused. |
|
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.
| pid | process id. |
| 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.
|
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.
| net | Contains network parameters. |