DCMTK
Version 3.6.1 20120515
OFFIS DICOM Toolkit
|
the representation of a Print Management SCP. More...
Public Member Functions | |
DVPSPrintSCP (DVInterface &iface, const char *cfname) | |
constructor | |
virtual | ~DVPSPrintSCP () |
destructor | |
void | setDimseLogPath (const char *fname) |
activates or deactivates dumping of the DIMSE communication in DICOM file format. | |
DVPSAssociationNegotiationResult | negotiateAssociation (T_ASC_Network &net) |
performs association negotiation for the Print SCP. | |
void | handleClient () |
confirms an association negotiated with negotiateAssociation() and handles all DIMSE communication for the Print SCP. | |
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. | |
OFCondition | refuseAssociation (OFBool isBadContext) |
sends A-ASSOCIATION-RQ as the result of an unsuccesful association negotiation. | |
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. | |
OFCondition | handleNSet (T_DIMSE_Message &rq, T_ASC_PresentationContextID presID) |
handles any incoming N-SET-RQ message and sends back N-SET-RSP. | |
OFCondition | handleNAction (T_DIMSE_Message &rq, T_ASC_PresentationContextID presID) |
handles any incoming N-ACTION-RQ message and sends back N-ACTION-RSP. | |
OFCondition | handleNCreate (T_DIMSE_Message &rq, T_ASC_PresentationContextID presID) |
handles any incoming N-CREATE-RQ message and sends back N-CREATE-RSP. | |
OFCondition | handleNDelete (T_DIMSE_Message &rq, T_ASC_PresentationContextID presID) |
handles any incoming N-DELETE-RQ message and sends back N-DELETE-RSP. | |
OFCondition | handleCEcho (T_DIMSE_Message &rq, T_ASC_PresentationContextID presID) |
handles any incoming C-ECHO-RQ message and sends back C-ECHO-RSP. | |
void | printerNGet (T_DIMSE_Message &rq, T_DIMSE_Message &rsp, DcmDataset *&rspDataset) |
implements the N-GET operation for the Printer SOP Class. | |
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. | |
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. | |
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. | |
void | filmSessionNAction (T_DIMSE_Message &rq, T_DIMSE_Message &rsp) |
implements the N-ACTION operation for the Basic Film Session SOP Class. | |
void | filmBoxNAction (T_DIMSE_Message &rq, T_DIMSE_Message &rsp) |
implements the N-ACTION operation for the Basic Film Box SOP Class. | |
void | filmSessionNCreate (DcmDataset *rqDataset, T_DIMSE_Message &rsp, DcmDataset *&rspDataset) |
implements the N-CREATE operation for the Basic Film Session SOP Class. | |
void | filmBoxNCreate (DcmDataset *rqDataset, T_DIMSE_Message &rsp, DcmDataset *&rspDataset) |
implements the N-CREATE operation for the Basic Film Box SOP Class. | |
void | presentationLUTNCreate (DcmDataset *rqDataset, T_DIMSE_Message &rsp, DcmDataset *&rspDataset) |
implements the N-CREATE operation for the Presentation LUT SOP Class. | |
void | filmSessionNDelete (T_DIMSE_Message &rq, T_DIMSE_Message &rsp) |
implements the N-DELETE operation for the Basic Film Session SOP Class. | |
void | filmBoxNDelete (T_DIMSE_Message &rq, T_DIMSE_Message &rsp) |
implements the N-DELETE operation for the Basic Film Box SOP Class. | |
void | presentationLUTNDelete (T_DIMSE_Message &rq, T_DIMSE_Message &rsp) |
implements the N-DELETE operation for the Presentation LUT SOP Class. | |
void | saveDimseLog () |
stores the binary log of the DIMSE communication in a DICOM file in the log directory. | |
void | dumpNMessage (T_DIMSE_Message &msg, DcmItem *dataset, OFBool outgoing) |
prints a dump of the given DIMSE message to the log stream. | |
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. | |
Private Attributes | |
DVInterface & | dviface |
const char * | cfgname |
T_DIMSE_BlockingMode | blockMode |
blocking mode for receive | |
int | timeout |
timeout for receive | |
DVPSFilmSession * | filmSession |
basic film session instance | |
DVPSPresentationLUT_PList | presentationLUTList |
DVPSStoredPrint_PList | storedPrintList |
T_ASC_Association * | assoc |
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 |
static void DVPSPrintSCP::addLogEntry | ( | DcmSequenceOfItems * | seq, |
const char * | text | ||
) | [static, private] |
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 |
void DVPSPrintSCP::dumpNMessage | ( | T_DIMSE_Message & | msg, |
DcmItem * | dataset, | ||
OFBool | outgoing | ||
) | [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. |
int DVPSPrintSCP::errorCond | ( | OFCondition | cond, |
const char * | 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 |
void DVPSPrintSCP::filmBoxNAction | ( | T_DIMSE_Message & | rq, |
T_DIMSE_Message & | rsp | ||
) | [private] |
implements the N-ACTION operation for the Basic Film Box SOP Class.
rq | request message |
rsp | response message, already initialized |
void DVPSPrintSCP::filmBoxNCreate | ( | DcmDataset * | rqDataset, |
T_DIMSE_Message & | rsp, | ||
DcmDataset *& | rspDataset | ||
) | [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) |
void DVPSPrintSCP::filmBoxNDelete | ( | T_DIMSE_Message & | rq, |
T_DIMSE_Message & | rsp | ||
) | [private] |
implements the N-DELETE operation for the Basic Film Box SOP Class.
rq | request message |
rsp | response message, already initialized |
void DVPSPrintSCP::filmBoxNSet | ( | T_DIMSE_Message & | rq, |
DcmDataset * | rqDataset, | ||
T_DIMSE_Message & | rsp, | ||
DcmDataset *& | rspDataset | ||
) | [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) |
void DVPSPrintSCP::filmSessionNAction | ( | T_DIMSE_Message & | rq, |
T_DIMSE_Message & | rsp | ||
) | [private] |
implements the N-ACTION operation for the Basic Film Session SOP Class.
rq | request message |
rsp | response message, already initialized |
void DVPSPrintSCP::filmSessionNCreate | ( | DcmDataset * | rqDataset, |
T_DIMSE_Message & | rsp, | ||
DcmDataset *& | rspDataset | ||
) | [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) |
void DVPSPrintSCP::filmSessionNDelete | ( | T_DIMSE_Message & | rq, |
T_DIMSE_Message & | rsp | ||
) | [private] |
implements the N-DELETE operation for the Basic Film Session SOP Class.
rq | request message |
rsp | response message, already initialized |
void DVPSPrintSCP::filmSessionNSet | ( | T_DIMSE_Message & | rq, |
DcmDataset * | rqDataset, | ||
T_DIMSE_Message & | rsp, | ||
DcmDataset *& | rspDataset | ||
) | [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) |
OFCondition DVPSPrintSCP::handleCEcho | ( | T_DIMSE_Message & | rq, |
T_ASC_PresentationContextID | presID | ||
) | [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.
OFCondition DVPSPrintSCP::handleNAction | ( | T_DIMSE_Message & | rq, |
T_ASC_PresentationContextID | presID | ||
) | [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 |
OFCondition DVPSPrintSCP::handleNCreate | ( | T_DIMSE_Message & | rq, |
T_ASC_PresentationContextID | presID | ||
) | [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 |
OFCondition DVPSPrintSCP::handleNDelete | ( | T_DIMSE_Message & | rq, |
T_ASC_PresentationContextID | presID | ||
) | [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 |
OFCondition DVPSPrintSCP::handleNGet | ( | T_DIMSE_Message & | rq, |
T_ASC_PresentationContextID | presID | ||
) | [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 |
OFCondition DVPSPrintSCP::handleNSet | ( | T_DIMSE_Message & | rq, |
T_ASC_PresentationContextID | presID | ||
) | [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 |
void DVPSPrintSCP::imageBoxNSet | ( | T_DIMSE_Message & | rq, |
DcmDataset * | rqDataset, | ||
T_DIMSE_Message & | rsp, | ||
DcmDataset *& | rspDataset | ||
) | [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 |
void DVPSPrintSCP::presentationLUTNCreate | ( | DcmDataset * | rqDataset, |
T_DIMSE_Message & | rsp, | ||
DcmDataset *& | rspDataset | ||
) | [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) |
void DVPSPrintSCP::presentationLUTNDelete | ( | T_DIMSE_Message & | rq, |
T_DIMSE_Message & | rsp | ||
) | [private] |
implements the N-DELETE operation for the Presentation LUT SOP Class.
rq | request message |
rsp | response message, already initialized |
void DVPSPrintSCP::printerNGet | ( | T_DIMSE_Message & | rq, |
T_DIMSE_Message & | rsp, | ||
DcmDataset *& | rspDataset | ||
) | [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) |
OFCondition DVPSPrintSCP::refuseAssociation | ( | OFBool | isBadContext | ) | [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. |
void DVPSPrintSCP::saveDimseLog | ( | ) | [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. |