| DCMTK Version 3.6.9
    OFFIS DICOM Toolkit | 
This class maintains database handles based on the classical "index.dat" file. More...
 Inheritance diagram for DcmQueryRetrieveIndexDatabaseHandle:
 Inheritance diagram for DcmQueryRetrieveIndexDatabaseHandle:| Public Member Functions | |
| DcmQueryRetrieveIndexDatabaseHandle (const char *storageArea, long maxStudiesPerStorageArea, long maxBytesPerStudy, OFCondition &result) | |
| Constructor. | |
| ~DcmQueryRetrieveIndexDatabaseHandle () | |
| Destructor. | |
| void | setIdentifierChecking (OFBool checkFind, OFBool checkMove) | 
| Configure the DB module to perform (or not perform) checking of FIND and MOVE request identifiers. | |
| OFCondition | makeNewStoreFileName (const char *SOPClassUID, const char *SOPInstanceUID, char *newImageFileName, size_t newImageFileNameLen) | 
| create a filename under which a DICOM object that is currently being received through a C-STORE operation can be stored. | |
| OFCondition | storeRequest (const char *SOPClassUID, const char *SOPInstanceUID, const char *imageFileName, DcmQueryRetrieveDatabaseStatus *status, OFBool isNew=OFTrue) | 
| register the given DICOM object, which has been received through a C-STORE operation and stored in a file, in the database. | |
| OFCondition | startFindRequest (const char *SOPClassUID, DcmDataset *findRequestIdentifiers, DcmQueryRetrieveDatabaseStatus *status) | 
| initiate FIND operation using the given SOP class UID (which identifies the query model) and DICOM dataset containing find request identifiers. | |
| OFCondition | nextFindResponse (DcmDataset **findResponseIdentifiers, DcmQueryRetrieveDatabaseStatus *status, const DcmQueryRetrieveCharacterSetOptions &characterSetOptions) | 
| return the next available FIND response as a new DICOM dataset. | |
| OFCondition | cancelFindRequest (DcmQueryRetrieveDatabaseStatus *status) | 
| cancel the ongoing FIND request, stop and reset every running operation associated with this request, delete existing temporary files. | |
| OFCondition | startMoveRequest (const char *SOPClassUID, DcmDataset *moveRequestIdentifiers, DcmQueryRetrieveDatabaseStatus *status) | 
| initiate MOVE operation using the given SOP class UID (which identifies the retrieve model) and DICOM dataset containing move request identifiers. | |
| OFCondition | nextMoveResponse (char *SOPClassUID, size_t SOPClassUIDSize, char *SOPInstanceUID, size_t SOPInstanceUIDSize, char *imageFileName, size_t imageFileNameSize, unsigned short *numberOfRemainingSubOperations, DcmQueryRetrieveDatabaseStatus *status) | 
| Constructs the information required for the next available C-MOVE sub-operation (the image SOP class UID, SOP Instance UID and an imageFileName containing the requested data). | |
| OFCondition | cancelMoveRequest (DcmQueryRetrieveDatabaseStatus *status) | 
| cancel the ongoing MOVE request, stop and reset every running operation associated with this request, delete existing temporary files. | |
| OFCondition | pruneInvalidRecords () | 
| Prune invalid records from the database. | |
| void | enableQuotaSystem (OFBool enable) | 
| enable/disable the DB quota system (default: enabled) which causes images to be deleted if certain boundaries (number of studies, bytes per study) are exceeded. | |
| OFBool | findSOPInstance (const char *storeArea, const OFString &sopClassUID, const OFString &sopInstanceUID) | 
| search for a SOP class and SOP instance UIDs in index file. | |
| OFCondition | deleteImageFile (char *imgFile) | 
| deletes the given file only if the quota mechanism is enabled. | |
| OFCondition | DB_lock (OFBool exclusive) | 
| create lock on database | |
| OFCondition | DB_unlock () | 
| release lock on database | |
| OFCondition | DB_IdxGetNext (int *idx, IdxRecord *idxRec) | 
| Get next Index record that is in use (i.e. | |
| OFCondition | DB_IdxInitLoop (int *idx) | 
| seek to beginning of image records in index file | |
| OFCondition | DB_IdxRead (int idx, IdxRecord *idxRec) | 
| read index record at given index | |
| OFCondition | DB_GetStudyDesc (StudyDescRecord *pStudyDesc) | 
| get study descriptor record from start of index file | |
| OFCondition | DB_StudyDescChange (StudyDescRecord *pStudyDesc) | 
| write study descriptor record to start of index file | |
| OFCondition | DB_IdxRemove (int idx) | 
| deactivate index record at given index by setting an empty filename | |
| OFCondition | instanceReviewed (int idx) | 
| clear the "is new" flag for the instance with the given index | |
| const char * | getStorageArea () const | 
| return name of storage area | |
| const char * | getIndexFilename () const | 
| return path to index file | |
|  Public Member Functions inherited from DcmQueryRetrieveDatabaseHandle | |
| DcmQueryRetrieveDatabaseHandle () | |
| default constructor | |
| virtual | ~DcmQueryRetrieveDatabaseHandle () | 
| Destructor. | |
| Static Public Member Functions | |
| static void | printIndexFile (char *storeArea) | 
| dump database index file to stdout. | |
| Private Member Functions | |
| DcmQueryRetrieveIndexDatabaseHandle (const DcmQueryRetrieveIndexDatabaseHandle &other) | |
| private undefined copy constructor | |
| DcmQueryRetrieveIndexDatabaseHandle & | operator= (const DcmQueryRetrieveIndexDatabaseHandle &other) | 
| private undefined assignment operator | |
| Static Private Member Functions | |
| static OFBool | isConversionToUTF8Necessary (const OFString &characterSet) | 
| Determine if a character set is not compatible to UTF-8, i.e. if it is not UTF-8 or ASCII. | |
| static OFBool | isConversionNecessary (const OFString &sourceCharacterSet, const OFString &destinationCharacterSet) | 
| Determine if data in the source character set must be converted to be compatible to the given destination character set. | |
| Private Attributes | |
| DB_Private_Handle * | handle_ | 
| database handle | |
| OFBool | quotaSystemEnabled | 
| flag indicating whether or not the quota system is enabled | |
| OFBool | doCheckFindIdentifier | 
| flag indicating whether or not the check function for FIND requests is enabled | |
| OFBool | doCheckMoveIdentifier | 
| flag indicating whether or not the check function for MOVE requests is enabled | |
| OFFilenameCreator | fnamecreator | 
| helper object for file name creation | |
This class maintains database handles based on the classical "index.dat" file.
A database handle maintains a connection to a database and encapsulates database support for store, find and move/get operations.
| DcmQueryRetrieveIndexDatabaseHandle::DcmQueryRetrieveIndexDatabaseHandle | ( | const char * | storageArea, | 
| long | maxStudiesPerStorageArea, | ||
| long | maxBytesPerStudy, | ||
| OFCondition & | result ) | 
Constructor.
Creates and initializes a index file handle for the given database storage area (storageArea).
| storageArea | name of storage area, must not be NULL | 
| maxStudiesPerStorageArea | maximum number of studies for this storage area, needed to correctly parse the index file. | 
| maxBytesPerStudy | maximum number of bytes per study, for quota mechanism | 
| result | upon successful initialization of the database handle, EC_Normal is returned in this parameter, otherwise an error code is returned. | 
| DcmQueryRetrieveIndexDatabaseHandle::~DcmQueryRetrieveIndexDatabaseHandle | ( | ) | 
Destructor.
Destroys handle, cancels any ongoing request if necessary, deletes temporary files used for C-STORE and sub-operations of C-MOVE.
| 
 | virtual | 
cancel the ongoing FIND request, stop and reset every running operation associated with this request, delete existing temporary files.
| status | pointer to DB status object in which a DIMSE status code suitable for use with the C-FIND-RSP message is set. | 
Implements DcmQueryRetrieveDatabaseHandle.
| 
 | virtual | 
cancel the ongoing MOVE request, stop and reset every running operation associated with this request, delete existing temporary files.
| status | pointer to DB status object in which a DIMSE status code suitable for use with the C-MOVE-RSP message is set. | 
Implements DcmQueryRetrieveDatabaseHandle.
| OFCondition DcmQueryRetrieveIndexDatabaseHandle::DB_GetStudyDesc | ( | StudyDescRecord * | pStudyDesc | ) | 
get study descriptor record from start of index file
| pStudyDesc | pointer to study record descriptor structure | 
| OFCondition DcmQueryRetrieveIndexDatabaseHandle::DB_IdxGetNext | ( | int * | idx, | 
| IdxRecord * | idxRec ) | 
Get next Index record that is in use (i.e.
references a non-empty a filename)
| idx | pointer to index number, updated upon successful return | 
| idxRec | pointer to index record structure | 
| OFCondition DcmQueryRetrieveIndexDatabaseHandle::DB_IdxInitLoop | ( | int * | idx | ) | 
seek to beginning of image records in index file
| idx | initialized to -1 | 
| OFCondition DcmQueryRetrieveIndexDatabaseHandle::DB_IdxRead | ( | int | idx, | 
| IdxRecord * | idxRec ) | 
read index record at given index
| idx | index | 
| idxRec | pointer to index record | 
| OFCondition DcmQueryRetrieveIndexDatabaseHandle::DB_IdxRemove | ( | int | idx | ) | 
deactivate index record at given index by setting an empty filename
| idx | index | 
| OFCondition DcmQueryRetrieveIndexDatabaseHandle::DB_lock | ( | OFBool | exclusive | ) | 
create lock on database
| exclusive | exclusive/shared lock flag | 
| OFCondition DcmQueryRetrieveIndexDatabaseHandle::DB_StudyDescChange | ( | StudyDescRecord * | pStudyDesc | ) | 
write study descriptor record to start of index file
| pStudyDesc | pointer to study record descriptor structure | 
| OFCondition DcmQueryRetrieveIndexDatabaseHandle::deleteImageFile | ( | char * | imgFile | ) | 
deletes the given file only if the quota mechanism is enabled.
The image is not de-registered from the database by this routine.
| imgFile | file name (path) to the file to be deleted. | 
| void DcmQueryRetrieveIndexDatabaseHandle::enableQuotaSystem | ( | OFBool | enable | ) | 
enable/disable the DB quota system (default: enabled) which causes images to be deleted if certain boundaries (number of studies, bytes per study) are exceeded.
| enable | weather to disable/enable | 
| OFBool DcmQueryRetrieveIndexDatabaseHandle::findSOPInstance | ( | const char * | storeArea, | 
| const OFString & | sopClassUID, | ||
| const OFString & | sopInstanceUID ) | 
search for a SOP class and SOP instance UIDs in index file.
| storeArea | name of storage area, must not be NULL | 
| sopClassUID | SOP Class UID to search for | 
| sopInstanceUID | SOP Instance UID to search for | 
| OFCondition DcmQueryRetrieveIndexDatabaseHandle::instanceReviewed | ( | int | idx | ) | 
clear the "is new" flag for the instance with the given index
| idx | index | 
| 
 | staticprivate | 
Determine if data in the source character set must be converted to be compatible to the given destination character set.
| sourceCharacterSet | the character set the data is encoded in. | 
| destinationCharacterSet | the character set that is requested, e.g. the character set that the SCU understands. | 
| 
 | staticprivate | 
Determine if a character set is not compatible to UTF-8, i.e. if it is not UTF-8 or ASCII.
| characterSet | the character set to inspect. | 
| 
 | virtual | 
create a filename under which a DICOM object that is currently being received through a C-STORE operation can be stored.
| SOPClassUID | SOP class UID of DICOM instance | 
| SOPInstanceUID | SOP instance UID of DICOM instance | 
| newImageFileName | file name is returned in this parameter. Memory must be provided by the caller and should be at least MAXPATHLEN+1 characters. The file name generated should be an absolute file name. | 
| newImageFileNameLen | length of buffer pointed to by newImageFileName | 
Implements DcmQueryRetrieveDatabaseHandle.
| 
 | virtual | 
return the next available FIND response as a new DICOM dataset.
| findResponseIdentifiers | DICOM dataset returned in this parameter. The caller is responsible for destroying the findResponseIdentifiers when no longer needed. | 
| status | pointer to DB status object in which a DIMSE status code suitable for use with the C-FIND-RSP message is set. Status will be PENDING if more FIND responses will be generated or SUCCESS if no more FIND responses will be generated (SUCCESS indicates the completion of a operation), or another status code upon failure. | 
| characterSetOptions | the character set options for response conversion etc. | 
Implements DcmQueryRetrieveDatabaseHandle.
| 
 | virtual | 
Constructs the information required for the next available C-MOVE sub-operation (the image SOP class UID, SOP Instance UID and an imageFileName containing the requested data).
| SOPClassUID | pointer to string of at least 65 characters into which the SOP class UID for the next DICOM object to be transferred is copied. | 
| SOPClassUIDSize | size of SOPClassUID element | 
| SOPInstanceUID | pointer to string of at least 65 characters into which the SOP instance UID for the next DICOM object to be transferred is copied. | 
| SOPInstanceUIDSize | size of SOPInstanceUID element | 
| imageFileName | pointer to string of at least MAXPATHLEN+1 characters into which the file path for the next DICOM object to be transferred is copied. | 
| imageFileNameSize | size of imageFileName element | 
| numberOfRemainingSubOperations | On return, this parameter will contain the number of suboperations still remaining for the request (this number is needed by move responses with PENDING status). | 
| status | pointer to DB status object in which a DIMSE status code suitable for use with the C-MOVE-RSP message is set. Status will be PENDING if more MOVE responses will be generated or SUCCESS if no more MOVE responses will be generated (SUCCESS indicates the completion of a operation), or another status code upon failure. | 
Implements DcmQueryRetrieveDatabaseHandle.
| 
 | static | 
dump database index file to stdout.
| storeArea | name of storage area, must not be NULL | 
| 
 | virtual | 
Prune invalid records from the database.
Records referring to non-existent image files are invalid.
Implements DcmQueryRetrieveDatabaseHandle.
| 
 | virtual | 
Configure the DB module to perform (or not perform) checking of FIND and MOVE request identifiers.
Default is no checking.
| checkFind | checking for C-FIND parameters | 
| checkMove | checking for C-MOVE parameters | 
Implements DcmQueryRetrieveDatabaseHandle.
| 
 | virtual | 
initiate FIND operation using the given SOP class UID (which identifies the query model) and DICOM dataset containing find request identifiers.
| SOPClassUID | SOP class UID of query service, identifies Q/R model | 
| findRequestIdentifiers | dataset containing request identifiers (i.e., the query) The caller retains responsibility for destroying the findRequestIdentifiers when no longer needed. | 
| status | pointer to DB status object in which a DIMSE status code suitable for use with the C-FIND-RSP message is set. Status will be PENDING if any FIND responses will be generated or SUCCESS if no FIND responses will be generated (SUCCESS indicates the completion of a operation), or another status code upon failure. | 
Implements DcmQueryRetrieveDatabaseHandle.
| 
 | virtual | 
initiate MOVE operation using the given SOP class UID (which identifies the retrieve model) and DICOM dataset containing move request identifiers.
| SOPClassUID | SOP class UID of retrieve service, identifies Q/R model | 
| moveRequestIdentifiers | dataset containing request identifiers (i.e., the query) The caller retains responsibility for destroying the moveRequestIdentifiers when no longer needed. | 
| status | pointer to DB status object in which a DIMSE status code suitable for use with the C-MOVE-RSP message is set. Status will be PENDING if any MOVE responses will be generated or SUCCESS if no MOVE responses will be generated (SUCCESS indicates the completion of a operation), or another status code upon failure. | 
Implements DcmQueryRetrieveDatabaseHandle.
| 
 | virtual | 
register the given DICOM object, which has been received through a C-STORE operation and stored in a file, in the database.
| SOPClassUID | SOP class UID of DICOM instance | 
| SOPInstanceUID | SOP instance UID of DICOM instance | 
| imageFileName | file name (full path) of DICOM instance | 
| status | pointer to DB status object in which a DIMSE status code suitable for use with the C-STORE-RSP message is set. | 
| isNew | if true, the instance is marked as "new" in the database, if such a flag is maintained in the database. | 
Implements DcmQueryRetrieveDatabaseHandle.