167 lines
4.6 KiB
C++
167 lines
4.6 KiB
C++
/*
|
|
*
|
|
* Copyright (C) 1993-2012, OFFIS e.V.
|
|
* All rights reserved. See COPYRIGHT file for details.
|
|
*
|
|
* This software and supporting documentation were developed by
|
|
*
|
|
* OFFIS e.V.
|
|
* R&D Division Health
|
|
* Escherweg 2
|
|
* D-26121 Oldenburg, Germany
|
|
*
|
|
*
|
|
* Module: dcmqrdb
|
|
*
|
|
* Author: Andrew Hewett
|
|
*
|
|
* Purpose: class DcmQueryRetrieveOptions
|
|
*
|
|
*/
|
|
|
|
#ifndef DCMQROPT_H
|
|
#define DCMQROPT_H
|
|
|
|
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
|
|
|
|
#include "dcmtk/dcmdata/dcxfer.h"
|
|
#include "dcmtk/dcmnet/dicom.h"
|
|
#include "dcmtk/dcmnet/cond.h"
|
|
#include "dcmtk/dcmnet/assoc.h"
|
|
#include "dcmtk/dcmqrdb/dcmqrcnf.h"
|
|
#include "dcmtk/ofstd/ofconapp.h"
|
|
#include "dcmtk/dcmnet/dimse.h"
|
|
|
|
/// invalid peer for move operation
|
|
extern DCMTK_DCMQRDB_EXPORT const OFConditionConst QR_EC_InvalidPeer;
|
|
extern DCMTK_DCMQRDB_EXPORT const OFConditionConst QR_EC_IndexDatabaseError;
|
|
|
|
/** this class encapsulates all the various options that affect the
|
|
* operation of the SCP, in addition to those defined in the config file
|
|
*/
|
|
class DCMTK_DCMQRDB_EXPORT DcmQueryRetrieveOptions
|
|
{
|
|
private:
|
|
/// private undefined copy constructor
|
|
DcmQueryRetrieveOptions(const DcmQueryRetrieveOptions& other);
|
|
|
|
/// private undefined assignment operator
|
|
DcmQueryRetrieveOptions& operator=(const DcmQueryRetrieveOptions& other);
|
|
|
|
public:
|
|
/// default constructor
|
|
DcmQueryRetrieveOptions();
|
|
|
|
/// destructor
|
|
~DcmQueryRetrieveOptions();
|
|
|
|
// these member variables should be private but are public for now
|
|
|
|
/// enable negotiation of private shutdown SOP class
|
|
OFBool allowShutdown_;
|
|
|
|
/// bit preserving mode for incoming storage requests.
|
|
OFBool bitPreserving_;
|
|
|
|
/// silently correct space-padded UIDs
|
|
OFBool correctUIDPadding_;
|
|
|
|
/// enable/disable C-GET support
|
|
OFBool disableGetSupport_;
|
|
|
|
/// block size for file padding, pad DICOM files to multiple of this value
|
|
OFCmdUnsignedInt filepad_;
|
|
|
|
/// group length encoding when writing DICOM files
|
|
E_GrpLenEncoding groupLength_;
|
|
|
|
/// ignore incoming data, receive but do not store (for debugging)
|
|
OFBool ignoreStoreData_;
|
|
|
|
/// block size for item padding, pad DICOM files to multiple of this value
|
|
OFCmdUnsignedInt itempad_;
|
|
|
|
/// maximum number of parallel associations accepted
|
|
int maxAssociations_;
|
|
|
|
/// maximum PDU size
|
|
OFCmdUnsignedInt maxPDU_;
|
|
|
|
/// pointer to network structure used for requesting C-STORE sub-associations
|
|
T_ASC_Network * net_;
|
|
|
|
/// preferred transfer syntax for incoming associations
|
|
E_TransferSyntax networkTransferSyntax_;
|
|
|
|
#ifndef DISABLE_COMPRESSION_EXTENSION
|
|
/// preferred transfer syntax for outgoing associations
|
|
E_TransferSyntax networkTransferSyntaxOut_;
|
|
#endif
|
|
|
|
/// padding algorithm for writing DICOM files
|
|
E_PaddingEncoding paddingType_;
|
|
|
|
/* refuse storage presentation contexts in incoming associations
|
|
* if a storage presentation context for the application entity already exists
|
|
*/
|
|
OFBool refuseMultipleStorageAssociations_;
|
|
|
|
/// refuse all incoming associations
|
|
OFBool refuse_;
|
|
|
|
/// reject associations if implementatino class UID is missing
|
|
OFBool rejectWhenNoImplementationClassUID_;
|
|
|
|
/// refuse MOVE context if no corresponding FIND context is present
|
|
OFBool requireFindForMove_;
|
|
|
|
/// restrict MOVE operations to same Application Entity
|
|
OFBool restrictMoveToSameAE_;
|
|
|
|
/// restrict MOVE operations to same host
|
|
OFBool restrictMoveToSameHost_;
|
|
|
|
/// restrict MOVE operations to same vendor according to vendor table
|
|
OFBool restrictMoveToSameVendor_;
|
|
|
|
/// sequence encoding when writing DICOM files
|
|
E_EncodingType sequenceType_;
|
|
|
|
/// single process mode
|
|
OFBool singleProcess_;
|
|
|
|
/// support for patient root q/r model
|
|
OFBool supportPatientRoot_;
|
|
|
|
/// support for patient/study only q/r model
|
|
OFBool supportPatientStudyOnly_;
|
|
|
|
/// support for study root q/r model
|
|
OFBool supportStudyRoot_;
|
|
|
|
/// write DICOM files with DICOM metaheader
|
|
OFBool useMetaheader_;
|
|
|
|
/** keep DB handle open for the complete lifetime of an association.
|
|
* If false, the DB handle is created and released for each incoming
|
|
* DIMSE message that is processed.
|
|
*/
|
|
OFBool keepDBHandleDuringAssociation_;
|
|
|
|
/// transfer syntax for writing
|
|
E_TransferSyntax writeTransferSyntax_;
|
|
|
|
/// blocking mode for DIMSE operations
|
|
T_DIMSE_BlockingMode blockMode_;
|
|
|
|
/// timeout for DIMSE operations
|
|
int dimse_timeout_;
|
|
|
|
/// timeout for ACSE operations
|
|
int acse_timeout_;
|
|
|
|
};
|
|
|
|
|
|
#endif
|