DCMTK
Version 3.6.1 20120515
OFFIS DICOM Toolkit
|
This class encapsulates data structures and operations for connecting to a file-based data source in the framework of the DICOM basic worklist management service. More...
Public Member Functions | |
WlmDataSourceFileSystem () | |
default constructor. | |
~WlmDataSourceFileSystem () | |
destructor | |
OFCondition | ConnectToDataSource () |
Connects to the data source. | |
OFCondition | DisconnectFromDataSource () |
Disconnects from the data source. | |
void | SetDfPath (const OFString &value) |
Set value in member variable. | |
void | SetEnableRejectionOfIncompleteWlFiles (OFBool value) |
Set value in member variable. | |
OFBool | IsCalledApplicationEntityTitleSupported () |
Checks if the called application entity title is supported. | |
void | HandleExistentButEmptyDescriptionAndCodeSequenceAttributes (DcmItem *dataset, const DcmTagKey &descriptionTagKey, const DcmTagKey &codeSequenceTagKey) |
This function performs a check on two attributes in the given dataset. | |
void | HandleExistentButEmptyReferencedStudyOrPatientSequenceAttributes (DcmDataset *dataset, const DcmTagKey &sequenceTagKey) |
This function performs a check on a sequence attribute in the given dataset. | |
WlmDataSourceStatusType | StartFindRequest (const DcmDataset &findRequestIdentifiers) |
Based on the search mask which was passed, this function determines all the records in the worklist database files which match the values of matching key attributes in the search mask. | |
DcmDataset * | NextFindResponse (WlmDataSourceStatusType &rStatus) |
This function will return the next dataset that matches the given search mask, if there is one more resulting dataset to return. | |
Protected Member Functions | |
OFBool | SetReadlock () |
This function sets a read lock on the LOCKFILE in the directory that is specified through dfPath and calledApplicationEntityTitle. | |
OFBool | ReleaseReadlock () |
This function releases a read lock on the LOCKFILE in the given directory. | |
void | HandleNonSequenceElementInResultDataset (DcmElement *element, unsigned long idx) |
This function takes care of handling a certain non-sequence element whithin the structure of a certain result dataset. | |
void | HandleSequenceElementInResultDataset (DcmElement *element, unsigned long idx) |
This function takes care of handling a certain sequence element within the structure of a certain result dataset. | |
WlmDataSourceFileSystem (const WlmDataSourceFileSystem &Src) | |
Protected undefined copy-constructor. | |
WlmDataSourceFileSystem & | operator= (const WlmDataSourceFileSystem &Src) |
Protected undefined operator=. | |
Protected Attributes | |
WlmFileSystemInteractionManager | fileSystemInteractionManager |
manager for file system interaction | |
OFString | dfPath |
path to database files | |
OFBool | enableRejectionOfIncompleteWlFiles |
indicates if wl-files which are lacking return type 1 attributes or information in such attributes shall be rejected or not | |
int | handleToReadLockFile |
handle to the read lock file |
This class encapsulates data structures and operations for connecting to a file-based data source in the framework of the DICOM basic worklist management service.
WlmDataSourceFileSystem::WlmDataSourceFileSystem | ( | const WlmDataSourceFileSystem & | Src | ) | [protected] |
Protected undefined copy-constructor.
Shall never be called.
Src | Source object. |
OFCondition WlmDataSourceFileSystem::ConnectToDataSource | ( | ) | [virtual] |
Connects to the data source.
Implements WlmDataSource.
OFCondition WlmDataSourceFileSystem::DisconnectFromDataSource | ( | ) | [virtual] |
Disconnects from the data source.
Implements WlmDataSource.
void WlmDataSourceFileSystem::HandleExistentButEmptyDescriptionAndCodeSequenceAttributes | ( | DcmItem * | dataset, |
const DcmTagKey & | descriptionTagKey, | ||
const DcmTagKey & | codeSequenceTagKey | ||
) |
This function performs a check on two attributes in the given dataset.
At two different places in the definition of the DICOM worklist management service, a description attribute and a code sequence attribute with a return type of 1C are mentioned, and the condition specifies that either the description attribute or the code sequence attribute or both shall be supported by an SCP. (I am talking about RequestedProcedureDescription vs. RequestedProcedureCodeSequence and ScheduledProcedureStepDescription vs. ScheduledProtocolCodeSequence.) In both cases, this implementation actually supports both, the description _and_ the code sequence attributes. In cases where the description attribute is actually empty or the code sequence attribute is actually empty or contains exactly one item with an empty CodeValue and an empty CodingSchemeDesignator, we want to remove the empty attribute from the dataset. This is what this function does. (Please note, that this function will always only delete one of the two, and this function will start checking the sequence attribute.
void WlmDataSourceFileSystem::HandleExistentButEmptyReferencedStudyOrPatientSequenceAttributes | ( | DcmDataset * | dataset, |
const DcmTagKey & | sequenceTagKey | ||
) |
This function performs a check on a sequence attribute in the given dataset.
At two different places in the definition of the DICOM worklist management service, a sequence attribute with a return type of 2 is mentioned containing two 1C attributes in its item; the condition of the two 1C attributes specifies that in case a sequence item is present, then these two attributes must be existent and must contain a value. (I am talking about ReferencedStudySequence and ReferencedPatientSequence.) In cases where the sequence attribute contains exactly one item with an empty ReferencedSOPClass and an empty ReferencedSOPInstance, we want to remove the item from the sequence. This is what this function does.
dataset | Dataset in which the consistency of the sequence attribute shall be checked. |
sequenceTagKey | DcmTagKey of the sequence attribute which shall be checked. |
void WlmDataSourceFileSystem::HandleNonSequenceElementInResultDataset | ( | DcmElement * | element, |
unsigned long | idx | ||
) | [protected] |
This function takes care of handling a certain non-sequence element whithin the structure of a certain result dataset.
This function assumes that all elements in the result dataset are supported. In detail, a value for the current element with regard to the currently processed matching record will be requested from the fileSystemInteractionManager, and this value will be set in the element.
element | Pointer to the currently processed element. |
idx | Index of the matching record (identifies this record). |
void WlmDataSourceFileSystem::HandleSequenceElementInResultDataset | ( | DcmElement * | element, |
unsigned long | idx | ||
) | [protected] |
This function takes care of handling a certain sequence element within the structure of a certain result dataset.
On the basis of the matching record from the data source, this function will add items and values for all elements in these items to the current sequence element in the result dataset. This function assumes that all elements in the result dataset are supported. In case the current sequence element contains no items or more than one item, this element will be left unchanged.
element | Pointer to the currently processed element. |
idx | Index of the matching record (identifies this record). |
OFBool WlmDataSourceFileSystem::IsCalledApplicationEntityTitleSupported | ( | ) | [virtual] |
Checks if the called application entity title is supported.
This function expects that the called application entity title was made available for this instance through WlmDataSource::SetCalledApplicationEntityTitle(). If this is not the case, OFFalse will be returned.
Implements WlmDataSource.
DcmDataset* WlmDataSourceFileSystem::NextFindResponse | ( | WlmDataSourceStatusType & | rStatus | ) | [virtual] |
This function will return the next dataset that matches the given search mask, if there is one more resulting dataset to return.
In such a case, rstatus will be set to WLM_PENDING or WLM_PENDING_WARNING, depending on if an unsupported key attribute was encountered in the search mask or not. If there are no more datasets that match the search mask, this function will return an empty dataset and WLM_SUCCESS in rstatus.
rStatus | A value of type WlmDataSourceStatusType that can be used to decide if there are still elements that have to be returned. |
Implements WlmDataSource.
WlmDataSourceFileSystem& WlmDataSourceFileSystem::operator= | ( | const WlmDataSourceFileSystem & | Src | ) | [protected] |
Protected undefined operator=.
Shall never be called.
Src | Source object. |
OFBool WlmDataSourceFileSystem::ReleaseReadlock | ( | ) | [protected] |
This function releases a read lock on the LOCKFILE in the given directory.
void WlmDataSourceFileSystem::SetDfPath | ( | const OFString & | value | ) | [virtual] |
void WlmDataSourceFileSystem::SetEnableRejectionOfIncompleteWlFiles | ( | OFBool | value | ) | [virtual] |
OFBool WlmDataSourceFileSystem::SetReadlock | ( | ) | [protected] |
This function sets a read lock on the LOCKFILE in the directory that is specified through dfPath and calledApplicationEntityTitle.
WlmDataSourceStatusType WlmDataSourceFileSystem::StartFindRequest | ( | const DcmDataset & | findRequestIdentifiers | ) | [virtual] |
Based on the search mask which was passed, this function determines all the records in the worklist database files which match the values of matching key attributes in the search mask.
For each matching record, a DcmDataset structure is generated which will later be returned to the SCU as a result of query. The DcmDataset structures for all matching records will be stored in the protected member variable matchingDatasets.
findRequestIdentifiers | Contains the search mask. |
Implements WlmDataSource.