DCMTK
Version 3.6.1 20170228
OFFIS DICOM Toolkit
|
the representation of a Print Management SCP. More...
Public Member Functions | |
DVPSPrintSCP (DVInterface &iface, const char *cfname) | |
constructor More... | |
virtual | ~DVPSPrintSCP () |
destructor | |
void | setDimseLogPath (const char *fname) |
activates or deactivates dumping of the DIMSE communication in DICOM file format. More... | |
DVPSAssociationNegotiationResult | negotiateAssociation (T_ASC_Network &net) |
performs association negotiation for the Print SCP. More... | |
void | handleClient () |
confirms an association negotiated with negotiateAssociation() and handles all DIMSE communication for the Print SCP. More... | |
Private Member Functions | |
DVPSPrintSCP & | operator= (const DVPSPrintSCP &) |
private undefined assignment operator | |
DVPSPrintSCP (const DVPSPrintSCP ©) | |
private undefined copy constructor | |
int | errorCond (OFCondition cond, const char *message) |
if the given condition indicates an error, prints the given string to the error log and returns true (nonzero), otherwise returns false. More... | |
OFCondition | refuseAssociation (OFBool isBadContext) |
sends A-ASSOCIATION-RQ as the result of an unsuccesful association negotiation. More... | |
void | dropAssociation () |
destroys the association managed by this object. | |
OFCondition | handleNGet (T_DIMSE_Message &rq, T_ASC_PresentationContextID presID) |
handles any incoming N-GET-RQ message and sends back N-GET-RSP. More... | |
OFCondition | handleNSet (T_DIMSE_Message &rq, T_ASC_PresentationContextID presID) |
handles any incoming N-SET-RQ message and sends back N-SET-RSP. More... | |
OFCondition | handleNAction (T_DIMSE_Message &rq, T_ASC_PresentationContextID presID) |
handles any incoming N-ACTION-RQ message and sends back N-ACTION-RSP. More... | |
OFCondition | handleNCreate (T_DIMSE_Message &rq, T_ASC_PresentationContextID presID) |
handles any incoming N-CREATE-RQ message and sends back N-CREATE-RSP. More... | |
OFCondition | handleNDelete (T_DIMSE_Message &rq, T_ASC_PresentationContextID presID) |
handles any incoming N-DELETE-RQ message and sends back N-DELETE-RSP. More... | |
OFCondition | handleCEcho (T_DIMSE_Message &rq, T_ASC_PresentationContextID presID) |
handles any incoming C-ECHO-RQ message and sends back C-ECHO-RSP. More... | |
void | printerNGet (T_DIMSE_Message &rq, T_DIMSE_Message &rsp, DcmDataset *&rspDataset) |
implements the N-GET operation for the Printer SOP Class. More... | |
void | filmSessionNSet (T_DIMSE_Message &rq, DcmDataset *rqDataset, T_DIMSE_Message &rsp, DcmDataset *&rspDataset) |
implements the N-SET operation for the Basic Film Session SOP Class. More... | |
void | filmBoxNSet (T_DIMSE_Message &rq, DcmDataset *rqDataset, T_DIMSE_Message &rsp, DcmDataset *&rspDataset) |
implements the N-SET operation for the Basic Film Box SOP Class. More... | |
void | imageBoxNSet (T_DIMSE_Message &rq, DcmDataset *rqDataset, T_DIMSE_Message &rsp, DcmDataset *&rspDataset) |
implements the N-SET operation for the Basic Grayscale Image Box SOP Class. More... | |
void | filmSessionNAction (T_DIMSE_Message &rq, T_DIMSE_Message &rsp) |
implements the N-ACTION operation for the Basic Film Session SOP Class. More... | |
void | filmBoxNAction (T_DIMSE_Message &rq, T_DIMSE_Message &rsp) |
implements the N-ACTION operation for the Basic Film Box SOP Class. More... | |
void | filmSessionNCreate (DcmDataset *rqDataset, T_DIMSE_Message &rsp, DcmDataset *&rspDataset) |
implements the N-CREATE operation for the Basic Film Session SOP Class. More... | |
void | filmBoxNCreate (DcmDataset *rqDataset, T_DIMSE_Message &rsp, DcmDataset *&rspDataset) |
implements the N-CREATE operation for the Basic Film Box SOP Class. More... | |
void | presentationLUTNCreate (DcmDataset *rqDataset, T_DIMSE_Message &rsp, DcmDataset *&rspDataset) |
implements the N-CREATE operation for the Presentation LUT SOP Class. More... | |
void | filmSessionNDelete (T_DIMSE_Message &rq, T_DIMSE_Message &rsp) |
implements the N-DELETE operation for the Basic Film Session SOP Class. More... | |
void | filmBoxNDelete (T_DIMSE_Message &rq, T_DIMSE_Message &rsp) |
implements the N-DELETE operation for the Basic Film Box SOP Class. More... | |
void | presentationLUTNDelete (T_DIMSE_Message &rq, T_DIMSE_Message &rsp) |
implements the N-DELETE operation for the Presentation LUT SOP Class. More... | |
void | saveDimseLog () |
stores the binary log of the DIMSE communication in a DICOM file in the log directory. More... | |
void | dumpNMessage (T_DIMSE_Message &msg, DcmItem *dataset, OFBool outgoing) |
prints a dump of the given DIMSE message to the log stream. More... | |
Static Private Member Functions | |
static void | addLogEntry (DcmSequenceOfItems *seq, const char *text) |
adds an item to the given sequence containing the current date, time and the given text. More... | |
Private Attributes | |
T_DIMSE_BlockingMode | blockMode |
blocking mode for receive | |
int | timeout |
timeout for receive | |
DVPSFilmSession * | filmSession |
basic film session instance | |
DcmUniqueIdentifier | studyInstanceUID |
study UID for stored print and hardcopy images of one print session | |
DcmUniqueIdentifier | psSeriesInstanceUID |
series UID for presentation state objects | |
DcmUniqueIdentifier | imageSeriesInstanceUID |
series UID for hardcopy image objects | |
DcmSequenceOfItems * | logSequence |
DIMSE communication logged in this object if present. | |
DcmSequenceOfItems * | acseSequence |
ACSE communication logged in this object if present. | |
OFString | logPath |
full path of the file into which the DIMSE log is written | |
the representation of a Print Management SCP.
This class implements most of the DIMSE behaviour of a DICOM Print SCP and uses Stored Print and Hardcopy Grayscale objects to store received print jobs in the local database.
DVPSPrintSCP::DVPSPrintSCP | ( | DVInterface & | iface, |
const char * | cfname | ||
) |
constructor
iface | Interface to database and config file |
cfname | symbolic name of print SCP in config file |
|
staticprivate |
adds an item to the given sequence containing the current date, time and the given text.
seq | sequence to which the item is added |
text | text to be added, must not be NULL |
|
private |
prints a dump of the given DIMSE message to the log stream.
msg | DIMSE message to be dumped |
dataset | dataset to be dumped, may be NULL |
outgoing | flag defining whether we are dumping an outgoing or an incoming message. |
|
private |
if the given condition indicates an error, prints the given string to the error log and returns true (nonzero), otherwise returns false.
cond | condition to be checked |
message | to be printed, must not be NULL |
|
private |
implements the N-ACTION operation for the Basic Film Box SOP Class.
rq | request message |
rsp | response message, already initialized |
|
private |
implements the N-CREATE operation for the Basic Film Box SOP Class.
rqDataset | request dataset, may be NULL |
rsp | response message, already initialized |
rspDataset | response dataset passed back in this parameter (if any) |
|
private |
implements the N-DELETE operation for the Basic Film Box SOP Class.
rq | request message |
rsp | response message, already initialized |
|
private |
implements the N-SET operation for the Basic Film Box SOP Class.
rq | request message |
rqDataset | request dataset, may be NULL |
rsp | response message, already initialized |
rspDataset | response dataset passed back in this parameter (if any) |
|
private |
implements the N-ACTION operation for the Basic Film Session SOP Class.
rq | request message |
rsp | response message, already initialized |
|
private |
implements the N-CREATE operation for the Basic Film Session SOP Class.
rqDataset | request dataset, may be NULL |
rsp | response message, already initialized |
rspDataset | response dataset passed back in this parameter (if any) |
|
private |
implements the N-DELETE operation for the Basic Film Session SOP Class.
rq | request message |
rsp | response message, already initialized |
|
private |
implements the N-SET operation for the Basic Film Session SOP Class.
rq | request message |
rqDataset | request dataset, may be NULL |
rsp | response message, already initialized |
rspDataset | response dataset passed back in this parameter (if any) |
|
private |
handles any incoming C-ECHO-RQ message and sends back C-ECHO-RSP.
rq | request message |
presID | presentation context over which the message was received |
void DVPSPrintSCP::handleClient | ( | ) |
confirms an association negotiated with negotiateAssociation() and handles all DIMSE communication for the Print SCP.
Returns after the association has been released or aborted.
|
private |
handles any incoming N-ACTION-RQ message and sends back N-ACTION-RSP.
rq | request message |
presID | presentation context over which the message was received |
|
private |
handles any incoming N-CREATE-RQ message and sends back N-CREATE-RSP.
rq | request message |
presID | presentation context over which the message was received |
|
private |
handles any incoming N-DELETE-RQ message and sends back N-DELETE-RSP.
rq | request message |
presID | presentation context over which the message was received |
|
private |
handles any incoming N-GET-RQ message and sends back N-GET-RSP.
rq | request message |
presID | presentation context over which the message was received |
|
private |
handles any incoming N-SET-RQ message and sends back N-SET-RSP.
rq | request message |
presID | presentation context over which the message was received |
|
private |
implements the N-SET operation for the Basic Grayscale Image Box SOP Class.
rq | request message |
rqDataset | request dataset, may be NULL |
rsp | response message, already initialized |
rspDataset | response dataset passed back in this parameter (if any) |
DVPSAssociationNegotiationResult DVPSPrintSCP::negotiateAssociation | ( | T_ASC_Network & | net | ) |
performs association negotiation for the Print SCP.
Depending on the configuration file settings, Basic Grayscale Print and Presentation LUT are accepted with all uncompressed transfer syntaxes. If association negotiation is unsuccessful, an A-ASSOCIATE-RQ is sent and the association is dropped. If successful, an A-ASSOCIATE-AC is prepared but not (yet) sent.
net | DIMSE network over which to receive the association request |
|
private |
implements the N-CREATE operation for the Presentation LUT SOP Class.
rqDataset | request dataset, may be NULL |
rsp | response message, already initialized |
rspDataset | response dataset passed back in this parameter (if any) |
|
private |
implements the N-DELETE operation for the Presentation LUT SOP Class.
rq | request message |
rsp | response message, already initialized |
|
private |
implements the N-GET operation for the Printer SOP Class.
rq | request message |
rsp | response message, already initialized |
rspDataset | response dataset passed back in this parameter (if any) |
|
private |
sends A-ASSOCIATION-RQ as the result of an unsuccesful association negotiation.
isBadContext | defines the reason for the A-ASSOCIATE-RQ. true indicates an incorrect application context, false sends back an unspecified reject with no reason and is used when termination of the server application has been initiated. |
|
private |
stores the binary log of the DIMSE communication in a DICOM file in the log directory.
Called upon association release or abort.
void DVPSPrintSCP::setDimseLogPath | ( | const char * | fname | ) |
activates or deactivates dumping of the DIMSE communication in DICOM file format.
This method should be called prior to association negotiation with negotiateAssociation().
fname | full path name of the file into which a log of the DIMSE communication is written after association release. NULL disables the DICOM DIMSE dump completely. |