|
| DcmStorageSCP () |
| default constructor
|
|
virtual | ~DcmStorageSCP () |
| destructor
|
|
virtual void | clear () |
| clear the internal member variables, i.e. set them to their default values
|
|
const OFString & | getOutputDirectory () const |
| get the output directory to be used for the storage of the received DICOM datasets. More...
|
|
E_DirectoryGenerationMode | getDirectoryGenerationMode () const |
| get the mode for generating subdirectories used to store the received datasets More...
|
|
E_FilenameGenerationMode | getFilenameGenerationMode () const |
| get the mode for generating filenames for the received datasets More...
|
|
const OFString & | getFilenameExtension () const |
| get the filename extension that is appended to the generated filenames More...
|
|
E_DatasetStorageMode | getDatasetStorageMode () const |
| get the mode specifying whether and how to store the received datasets More...
|
|
OFCondition | setOutputDirectory (const OFString &directory) |
| specify the output directory to be used for the storage of the received DICOM datasets. More...
|
|
void | setDirectoryGenerationMode (const E_DirectoryGenerationMode mode) |
| set the mode for generating subdirectories used to store the received datasets. More...
|
|
void | setFilenameGenerationMode (const E_FilenameGenerationMode mode) |
| set the mode for generating filenames for the received datasets. More...
|
|
void | setFilenameExtension (const OFString &extension) |
| specify the filename extension to be appended to the generated filenames. More...
|
|
void | setDatasetStorageMode (const E_DatasetStorageMode mode) |
| set the mode specifying how to store the received datasets. More...
|
|
OFCondition | loadAssociationConfiguration (const OFString &filename, const OFString &profile) |
| load an association negotiation profile from a configuration file. More...
|
|
| DcmSCP () |
| Constructor. More...
|
|
virtual | ~DcmSCP () |
| Virtual destructor, frees internal memory.
|
|
virtual OFCondition | listen () |
| Starts providing the implemented services to SCUs. More...
|
|
virtual OFCondition | addPresentationContext (const OFString &abstractSyntax, const OFList< OFString > &xferSyntaxes, const T_ASC_SC_ROLE role=ASC_SC_ROLE_DEFAULT, const OFString &profile="DEFAULT") |
| Add abstract syntax to presentation contexts the SCP is able to negotiate with SCUs. More...
|
|
void | setPort (const Uint16 port) |
| Set SCP's TCP/IP listening port. More...
|
|
void | setAETitle (const OFString &aetitle) |
| Set AE title of the server. More...
|
|
void | setRespondWithCalledAETitle (const OFBool useCalled) |
| Set SCP to use the called AE title from the SCU request for the response, i.e. the SCP will always respond with setting it's own name to the one the SCU used for calling. More...
|
|
virtual OFCondition | loadAssociationCfgFile (const OFString &assocFile) |
| Loads association configuration file. More...
|
|
virtual OFCondition | setAndCheckAssociationProfile (const OFString &profileName) |
| If an association profile should be selected, either by loading an association configuration file or using the addPresentationContext() function, one of those can be selected and checked for validity using this method. More...
|
|
void | forceAssociationRefuse (const OFBool doRefuse) |
| Force every association request to be refused by SCP, no matter what the SCU is offering. More...
|
|
void | setMaxReceivePDULength (const Uint32 maxRecPDU) |
| Set maximum PDU size the SCP is able to receive. More...
|
|
void | setConnectionBlockingMode (const DUL_BLOCKOPTIONS blockingMode) |
| Set whether waiting for a TCP/IP connection should be blocking or non-blocking. More...
|
|
void | setDIMSEBlockingMode (const T_DIMSE_BlockingMode blockingMode) |
| Set whether DIMSE messaging should be blocking or non-blocking. More...
|
|
void | setDIMSETimeout (const Uint32 dimseTimeout) |
| Set the timeout to be waited for incoming DIMSE message packets. More...
|
|
void | setACSETimeout (const Uint32 acseTimeout) |
| Set the timeout used during ACSE messaging protocol. More...
|
|
void | setConnectionTimeout (const Uint32 timeout) |
| Set the timeout that should be waited for connection requests. More...
|
|
void | setVerbosePCMode (const OFBool mode) |
| Set whether to show presentation contexts in verbose or debug mode. More...
|
|
void | setHostLookupEnabled (const OFBool mode) |
| Enables or disables looking up the host name from a connecting system. More...
|
|
void | setProgressNotificationMode (const OFBool mode) |
| Set the mode that specifies whether the progress of sending and receiving DIMSE messages is notified by calling notifySENDProgress() and notifyRECEIVEProgress(), respectively. More...
|
|
Uint16 | getPort () const |
| Returns TCP/IP port number SCP listens for new connection requests. More...
|
|
const OFString & | getAETitle () const |
| Returns SCP's own AE title. More...
|
|
OFBool | getRespondWithCalledAETitle () const |
| Returns whether SCP uses the called AE title from SCU requests to respond to connection requests instead of a configured AE title. More...
|
|
OFBool | getRefuseAssociation () const |
| Returns whether SCP should refuse any association request no matter what the SCU proposes. More...
|
|
Uint32 | getMaxReceivePDULength () const |
| Returns maximum PDU length configured to be received by SCP. More...
|
|
DUL_BLOCKOPTIONS | getConnectionBlockingMode () const |
| Returns whether receiving of TCP/IP connection requests is done in blocking or unblocking mode. More...
|
|
T_DIMSE_BlockingMode | getDIMSEBlockingMode () const |
| Returns whether receiving of DIMSE messages is done in blocking or unblocking mode. More...
|
|
Uint32 | getDIMSETimeout () const |
| Returns DIMSE timeout (only applicable in blocking mode) More...
|
|
Uint32 | getACSETimeout () const |
| Returns ACSE timeout. More...
|
|
Uint32 | getConnectionTimeout () const |
| Returns connection timeout. More...
|
|
OFBool | getVerbosePCMode () const |
| Returns the verbose presentation context mode configured specifying whether details on the presentation contexts (negotiated during association setup) should be shown in verbose or debug mode. More...
|
|
OFBool | getHostLookupEnabled () const |
| Returns whether a connecting system's host name is looked up. More...
|
|
OFBool | getProgressNotificationMode () const |
| Returns the mode that specifies whether the progress of sending and receiving DIMSE messages is notified by calling notifySENDProgress() and notifyRECEIVEProgress(), respectively. More...
|
|
virtual DcmSCPConfig & | getConfig () |
| Get access to the configuration of the SCP. More...
|
|
virtual OFCondition | setConfig (const DcmSCPConfig &config) |
| Set the DcmSCPConfig object to use for configuring this DcmSCP object. More...
|
|
OFBool | isConnected () const |
| Returns whether SCP is currently connected. More...
|
|
Uint16 | numAssociations () const |
| Returns number of associations currently running. More...
|
|
OFString | getCalledAETitle () const |
| Returns AE title the SCU used as called AE title in association request. More...
|
|
OFString | getPeerAETitle () const |
| Returns AE title (calling AE title) the SCU used for association request. More...
|
|
OFString | getPeerIP () const |
| Returns IP address of connected SCU. More...
|
|
Uint32 | getPeerMaxPDULength () const |
| Returns maximum PDU size the communication peer (i.e. the SCU) is able to receive. More...
|
|
|
virtual OFCondition | handleIncomingCommand (T_DIMSE_Message *incomingMsg, const DcmPresentationContextInfo &presInfo) |
| handler that is called for each incoming command message. More...
|
|
virtual Uint16 | checkAndProcessSTORERequest (const T_DIMSE_C_StoreRQ &reqMessage, DcmFileFormat &fileformat) |
| check the given C-STORE request and dataset for validity. More...
|
|
virtual OFCondition | generateSTORERequestFilename (const T_DIMSE_C_StoreRQ &reqMessage, OFString &filename) |
| generate a directory and file name for a DICOM dataset that will be received. More...
|
|
virtual void | notifyInstanceStored (const OFString &filename, const OFString &sopClassUID, const OFString &sopInstanceUID, DcmDataset *dataset=NULL) const |
| notification handler that is called for each DICOM object that has been received with a C-STORE request and stored as a DICOM file More...
|
|
virtual OFCondition | generateDirAndFilename (OFString &filename, OFString &directoryName, OFString &sopClassUID, OFString &sopInstanceUID, DcmDataset *dataset=NULL) |
| generate a directory and file name for a DICOM dataset that has been received. More...
|
|
void | findPresentationContext (const T_ASC_PresentationContextID presID, OFString &abstractSyntax, OFString &transferSyntax) |
| This call returns the presentation context belonging to the given presentation context ID. More...
|
|
virtual OFCondition | abortAssociation () |
| Aborts the current association by sending an A-ABORT request to the SCU. More...
|
|
virtual void | notifyAssociationRequest (const T_ASC_Parameters ¶ms, DcmSCPActionType &desiredAction) |
| Overwrite this function to be notified about an incoming association request. More...
|
|
virtual OFBool | checkCalledAETitleAccepted (const OFString &calledAE) |
| Overwrite this function if called AE title should undergo checking. More...
|
|
virtual OFBool | checkCallingAETitleAccepted (const OFString &callingAE) |
| Overwrite this function if calling AE title should undergo checking. More...
|
|
virtual OFBool | checkCallingHostAccepted (const OFString &hostOrIP) |
| Overwrite this function if calling IP should undergo checking. More...
|
|
virtual void | notifyAssociationAcknowledge () |
| Overwrite this function to be notified about an incoming association request. More...
|
|
virtual void | notifyReleaseRequest () |
| Overwrite this function to be notified about an incoming association release request. More...
|
|
virtual void | notifyAbortRequest () |
| Overwrite this function to be notified about an incoming association abort request. More...
|
|
virtual void | notifyAssociationTermination () |
| Overwrite this function to be notified when an association is terminated. More...
|
|
virtual void | notifyDIMSEError (const OFCondition &cond) |
| Overwrite this function to be notified when a DIMSE error occurs. More...
|
|
virtual void | notifySENDProgress (const unsigned long byteCount) |
| This function is called while sending DIMSE messages, i.e. on each PDV of a dataset. More...
|
|
virtual void | notifyRECEIVEProgress (const unsigned long byteCount) |
| This function is called while receiving DIMSE messages, i.e. on each PDV of a dataset. More...
|
|
virtual OFBool | stopAfterCurrentAssociation () |
| Overwrite this function to change the behavior of the listen() method. More...
|
|
virtual OFCondition | handleECHORequest (T_DIMSE_C_EchoRQ &reqMessage, const T_ASC_PresentationContextID presID) |
| Standard handler for Verification Service Class (DICOM Echo). More...
|
|
virtual OFCondition | handleSTORERequest (T_DIMSE_C_StoreRQ &reqMessage, const T_ASC_PresentationContextID presID, DcmDataset *&reqDataset) |
| Receive C-STORE request on the currently opened association, store the accompanying dataset in memory and send a corresponding response. More...
|
|
virtual OFCondition | receiveSTORERequest (T_DIMSE_C_StoreRQ &reqMessage, const T_ASC_PresentationContextID presID, DcmDataset *&reqDataset) |
| Receive C-STORE request (and store accompanying dataset in memory). More...
|
|
virtual OFCondition | receiveSTORERequest (T_DIMSE_C_StoreRQ &reqMessage, const T_ASC_PresentationContextID presID, const OFString &filename) |
| Receive C-STORE request (and store accompanying dataset directly to file). More...
|
|
virtual OFCondition | sendSTOREResponse (const T_ASC_PresentationContextID presID, const T_DIMSE_C_StoreRQ &reqMessage, const Uint16 rspStatusCode) |
| Respond to the C-STORE request (with details from the request message) More...
|
|
virtual OFCondition | sendSTOREResponse (const T_ASC_PresentationContextID presID, const Uint16 messageID, const OFString &sopClassUID, const OFString &sopInstanceUID, const Uint16 rspStatusCode, DcmDataset *statusDetail=NULL) |
| Respond to the C-STORE request (with given details) More...
|
|
virtual Uint16 | checkSTORERequest (T_DIMSE_C_StoreRQ &reqMessage, DcmDataset *reqDataset) |
| Check given C-STORE request and dataset for validity. More...
|
|
virtual OFCondition | handleFINDRequest (T_DIMSE_C_FindRQ &reqMessage, const T_ASC_PresentationContextID presID, DcmDataset *&reqDataset) |
| Receive C-FIND request. More...
|
|
virtual OFCondition | sendFINDResponse (const T_ASC_PresentationContextID presID, const Uint16 messageID, const OFString &sopClassUID, DcmDataset *rspDataset, const Uint16 rspStatusCode, DcmDataset *statusDetail=NULL) |
| Respond to the C-FIND request. More...
|
|
virtual OFCondition | checkForCANCEL (T_ASC_PresentationContextID presID, const Uint16 messageID) |
| Check for C-CANCEL. More...
|
|
virtual OFCondition | handleMOVERequest (T_DIMSE_C_MoveRQ &reqMessage, const T_ASC_PresentationContextID presID, DcmDataset *&reqDataset, OFString &moveDest) |
| Receive C-MOVE request on the currently active association. More...
|
|
virtual OFCondition | sendMOVEResponse (const T_ASC_PresentationContextID presID, const Uint16 messageID, const OFString &sopClassUID, DcmDataset *rspDataset, const Uint16 rspStatusCode, DcmDataset *statusDetail=NULL, const Uint16 numRemain=0, const Uint16 numComplete=0, const Uint16 numFail=0, const Uint16 numWarn=0) |
| Respond to the C-MOVE request. More...
|
|
virtual OFCondition | handleACTIONRequest (T_DIMSE_N_ActionRQ &reqMessage, const T_ASC_PresentationContextID presID, DcmDataset *&reqDataset, Uint16 &actionTypeID) |
| Receive N-ACTION request on the currently opened association. More...
|
|
virtual OFCondition | sendACTIONResponse (const T_ASC_PresentationContextID presID, const Uint16 messageID, const OFString &sopClassUID, const OFString &sopInstanceUID, const Uint16 rspStatusCode) |
| Respond to the N-ACTION request. More...
|
|
virtual OFCondition | handleEVENTREPORTRequest (T_DIMSE_N_EventReportRQ &reqMessage, const T_ASC_PresentationContextID presID, DcmDataset *&reqDataset, Uint16 &eventTypeID) |
| Receive N-EVENT-REPORT request on the currently opened association and send a corresponding response. More...
|
|
virtual OFCondition | sendEVENTREPORTRequest (const T_ASC_PresentationContextID presID, const OFString &sopInstanceUID, const Uint16 messageID, const Uint16 eventTypeID, DcmDataset *reqDataset, Uint16 &rspStatusCode) |
| Send N-EVENT-REPORT request on the current association and receive a corresponding response. More...
|
|
virtual Uint16 | checkEVENTREPORTRequest (T_DIMSE_N_EventReportRQ &reqMessage, DcmDataset *reqDataset) |
| Check given N-EVENT-REPORT request and dataset for validity. More...
|
|
virtual OFCondition | waitForAssociationRQ (T_ASC_Network *network) |
| This function takes care of receiving, negotiating and accepting/refusing an association request. More...
|
|
virtual OFCondition | processAssociationRQ () |
| Actually process association request. More...
|
|
virtual OFCondition | negotiateAssociation () |
| This function checks all presentation contexts proposed by the SCU whether they are supported or not. More...
|
|
virtual void | refuseAssociation (const DcmRefuseReasonType reason) |
| This function takes care of refusing an association request. More...
|
|
virtual void | handleAssociation () |
| This function takes care of handling the other DICOM application's request. More...
|
|
OFCondition | sendDIMSEMessage (const T_ASC_PresentationContextID presID, T_DIMSE_Message *message, DcmDataset *dataObject, DcmDataset *statusDetail=NULL, DcmDataset **commandSet=NULL) |
| Send a DIMSE command and possibly also a dataset from a data object via network to another DICOM application. More...
|
|
OFCondition | receiveDIMSECommand (T_ASC_PresentationContextID *presID, T_DIMSE_Message *message, DcmDataset **statusDetail, DcmDataset **commandSet=NULL, const Uint32 timeout=0) |
| Receive DIMSE command (excluding dataset!) over the currently open association. More...
|
|
OFCondition | receiveDIMSEDataset (T_ASC_PresentationContextID *presID, DcmDataset **dataObject) |
| Receive one dataset (of instance data) via network from another DICOM application. More...
|
|
OFCondition | receiveSTORERequestDataset (T_ASC_PresentationContextID *presID, T_DIMSE_C_StoreRQ &reqMessage, const OFString &filename) |
| Receive one C-STORE request dataset via network from another DICOM application and store it directly to file (i.e. exactly as received without any conversions) More...
|
|
Interface class for a Storage Service Class Provider (SCP).
This class supports C-STORE and C-ECHO messages as an SCP. The received datasets are always stored as DICOM files with the same Transfer Syntax as used for the network transmission. Both the generation of the directory structure and the filenames can be configured by the user.
- Note
- The current implementation always requires to load a so-called association negotiation profile from a configuration file, which specifies the list of Presentation Contexts (i.e. combination of SOP Class and Transfer Syntaxes) to be supported by this Storage SCP. If no association negotiation profile is loaded, the SCP will only support the Verification SOP Class (with Default Transfer Syntax, i.e. C-ECHO with Implicit VR Little Endian), which is required for all DICOM Service Class Providers.