📄 dvpspr.h
字号:
* @param negotiatePresentationLUT if true, Presentation LUT SOP Class is negotiated * @param negotiateAnnotationBox if true, Basic Annotation Box SOP Class is negotiated * @param implicitOnly if true, only the default implicit VR transfer syntax is proposed, * otherwise all uncompressed transfer syntaxes are proposed. * @return status code that can be checked with the SUCCESS macro. If successful, an association * is established. If unsuccessful, no association is established. */ OFCondition negotiateAssociation( DcmTransportLayer *tlayer, const char *myAEtitle, const char *peerAEtitle, const char *peerHost, int peerPort, long peerMaxPDU, OFBool negotiatePresentationLUT, OFBool negotiateAnnotationBox, OFBool implicitOnly); /** releases the current association. * @return ASC_NORMAL or ASC_RELEASECONFIRMED upon success, an error code otherwise. */ OFCondition releaseAssociation(); /** aborts the current association. * @return a status code that can be checked with the SUCCESS() macro. */ OFCondition abortAssociation(); /** registers an event handler object for incoming N-EVENT-REPORTs. * @param handler pointer to the new handler object. May be NULL. */ void setEventHandler(DVPSPrintEventHandler *handler) { eventHandler = handler; } /** sets the blocking and timeout mode for receive operations. * @param blockMode blocking mode * @param timeout */ void setTimeout(T_DIMSE_BlockingMode blocking, int timeOut) { blockMode=blocking; timeout=timeOut; } /** checks if the remote printer supports the Presentation LUT SOP class. * May only be called if association in place. * @return true if presentation context for presentation LUT exists, false otherwise. */ OFBool printerSupportsPresentationLUT(); /** checks if the remote printer supports the Basic Annotation Box SOP class. * May only be called if association in place. * @return true if presentation context for Basic Annotation Box exists, false otherwise. */ OFBool printerSupportsAnnotationBox(); /** sets an ostream to which all network communication is dumped. * @param stream output stream, default: no output */ void setDumpStream(ostream *stream=NULL) { dumpStream = stream; } /** sets a new log stream * @param stream new log stream, NULL for default logstream * @param verbMode verbose mode flag * @param dbgMode debug mode flag */ void setLog(OFConsole *stream, OFBool verbMode, OFBool dbgMode); private: /// private undefined copy constructor DVPSPrintMessageHandler(const DVPSPrintMessageHandler& copy); /// private undefined assignment operator DVPSPrintMessageHandler& operator=(const DVPSPrintMessageHandler& copy); /** sends a DIMSE-N request (any type except N-EVENT-REPORT) and waits for a response. * Any event report requests incoming before the expected DIMSE-N-RSP are handled. * If an event handler is registered, it is called for each received event report request. * @param presId presentation context ID * @param request DIMSE-N request message to be sent. All fields except DataSetType must be filled in. * @param rqDataSet DICOM dataset to be sent with the request message, e.g. N-Set modification list, * N-Action action information, or N-Create attribute list. Not applicable to N-Get or N-Delete. * @param response the received response is passed back in this parameter if the method returns * with success status. Content is undefined otherwise. * @param statusDetail the status detail dataset of the received response is passed back in this * parameter if the method returns with success status. Content is undefined otherwise. * @param rspDataset the received response dataset is passed back in this * parameter if the method returns with success status. Content is undefined otherwise. * @return DIMSE_NORMAL if successful, an error code otherwise. */ OFCondition sendNRequest( T_ASC_PresentationContextID presId, T_DIMSE_Message &request, DcmDataset *rqDataSet, T_DIMSE_Message &response, DcmDataset* &statusDetail, DcmDataset* &rspDataset); /** looks for an accepted presentation context for the given SOP class. * If the SOP class is one of the Basic Grayscale Print Management Meta classes, * looks for a presentation context for the meta SOP class. * @param sopclassuid SOP Class UID for which a presentation context is searched * @return presentation context if found, 0 otherwise. */ T_ASC_PresentationContextID findAcceptedPC(const char *sopclassuid); /** dumps the given message to the dump stream if it exists. * @param msg message to be dumped, should be DIMSE-N * @param dataset option dataset to be dumped, may be NULL * @param outgoing OFTrue if message is outgoing, OFFalse if incoming. */ void dumpNMessage(T_DIMSE_Message &msg, DcmItem *dataset, OFBool outgoing); /// the association to be used for message communication. Can be NULL. T_ASC_Association *assoc; /// the network used for establishing associations. Can be NULL. T_ASC_Network *net; /// the current event handler. Can be NULL. DVPSPrintEventHandler *eventHandler; /// blocking mode for receive T_DIMSE_BlockingMode blockMode; /// timeout for receive int timeout; /// if not NULL, dump all network communication ostream *dumpStream; /** output stream for error messages, never NULL */ OFConsole *logstream; /** flag indicating whether we're operating in verbose mode */ OFBool verboseMode; /** flag indicating whether we're operating in debug mode */ OFBool debugMode;};#endif/* * $Log: dvpspr.h,v $ * Revision 1.12 2005/12/09 14:48:35 meichel * Added missing virtual destructors * * Revision 1.11 2005/12/08 16:03:57 meichel * Changed include path schema for all DCMTK header files * * Revision 1.10 2003/09/05 14:31:33 meichel * Print SCU now supports TLS connections. * * Revision 1.9 2001/10/12 13:46:52 meichel * Adapted dcmpstat to OFCondition based dcmnet module (supports strict mode). * * Revision 1.8 2001/06/01 15:50:19 meichel * Updated copyright header * * Revision 1.7 2000/06/02 16:00:50 meichel * Adapted all dcmpstat classes to use OFConsole for log and error output * * Revision 1.6 2000/03/08 16:28:55 meichel * Updated copyright header. * * Revision 1.5 1999/10/28 08:18:56 meichel * Print client does not attempt any more to negotiate Presentation LUT or * Annotation Box if config file says that the printer does not support them. * * Revision 1.4 1999/10/13 14:10:47 meichel * Now negotiation Basic Annotation Box SOP Class * * Revision 1.3 1999/09/24 15:23:47 meichel * Print spooler (dcmprtsv) now logs diagnostic messages in log files * when operating in spool mode. * * Revision 1.2 1999/09/17 14:33:58 meichel * Completed print spool functionality including Supplement 22 support * * Revision 1.1 1999/07/30 13:34:49 meichel * Added new classes managing Stored Print objects * * */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -