129 lines
3.4 KiB
C
129 lines
3.4 KiB
C
/*
|
|
*
|
|
* Copyright (C) 1996-2014, 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: dcmwlm
|
|
*
|
|
* Author: Thomas Wilkens
|
|
*
|
|
* Purpose: Type definitions and macros for dcmwlm project.
|
|
*
|
|
*/
|
|
|
|
#ifndef WlmTypeDefinitions_h
|
|
#define WlmTypeDefinitions_h
|
|
|
|
#include "dcmtk/config/osconfig.h"
|
|
#include "dcmtk/dcmdata/dctagkey.h"
|
|
#include "dcmtk/dcmnet/dicom.h" /* for DIC_AE and DIC_NODENAME */
|
|
#include "dcmtk/dcmwlm/wldefine.h"
|
|
|
|
// include this file in doxygen documentation
|
|
|
|
/** @file wltypdef.h
|
|
* @brief type definitions and macros for the dcmwlm module
|
|
*/
|
|
|
|
|
|
/// Data source status types
|
|
enum WlmDataSourceStatusType
|
|
{
|
|
WLM_REFUSED_OUT_OF_RESOURCES = 0xa700,
|
|
WLM_FAILED_IDENTIFIER_DOES_NOT_MATCH_SOP_CLASS = 0xa900,
|
|
WLM_FAILED_UNABLE_TO_PROCESS = 0xc000,
|
|
WLM_CANCEL = 0xfe00,
|
|
WLM_SUCCESS = 0x0000,
|
|
WLM_PENDING = 0xff00,
|
|
WLM_PENDING_WARNING = 0xff01
|
|
};
|
|
|
|
/// Data source types
|
|
enum WlmDataSourceType
|
|
{
|
|
DATA_SOURCE_IS_DATABASE,
|
|
DATA_SOURCE_IS_DATA_FILES,
|
|
DATA_SOURCE_IS_PKI_FILE
|
|
};
|
|
|
|
/// Database types
|
|
enum WlmDatabaseType
|
|
{
|
|
WLM_DATABASE_TYPE_UNKNOWN,
|
|
WLM_DATABASE_ORACLE
|
|
};
|
|
|
|
/// Returned Character Set types
|
|
enum WlmReturnedCharacterSetType
|
|
{
|
|
RETURN_NO_CHARACTER_SET,
|
|
RETURN_CHARACTER_SET_ISO_IR_100,
|
|
RETURN_CHARACTER_SET_FROM_FILE
|
|
};
|
|
|
|
/// name of lockfile for worklist management based on file system
|
|
#define LOCKFILENAME "lockfile"
|
|
|
|
/// structure for non-single process mode
|
|
struct DCMTK_DCMWLM_EXPORT WlmProcessSlotType
|
|
{
|
|
/// name of peer
|
|
DIC_NODENAME peerName;
|
|
/// calling AE title
|
|
DIC_AE callingAETitle;
|
|
/// called AE title
|
|
DIC_AE calledAETitle;
|
|
/// process id
|
|
int processId;
|
|
/// start time
|
|
time_t startTime;
|
|
/// indicator if process has storage ability
|
|
OFBool hasStorageAbility;
|
|
};
|
|
|
|
/// Reason for refusing association types
|
|
enum WlmRefuseReasonType
|
|
{
|
|
WLM_TOO_MANY_ASSOCIATIONS,
|
|
WLM_CANNOT_FORK,
|
|
WLM_BAD_APP_CONTEXT,
|
|
WLM_BAD_AE_SERVICE,
|
|
WLM_FORCED,
|
|
WLM_NO_IC_UID
|
|
};
|
|
|
|
/// const objects for error objects
|
|
makeOFConditionConst(WLM_EC_InsufficientPortPrivileges, OFM_dcmwlm, 1, OF_error, "Insufficient privileges to listen to port.");
|
|
makeOFConditionConst(WLM_EC_InitializationOfNetworkConnectionFailed, OFM_dcmwlm, 2, OF_error, "Initialization of network connection failed.");
|
|
makeOFConditionConst(WLM_EC_TerminationOfNetworkConnectionFailed, OFM_dcmwlm, 3, OF_error, "Termination of network connection failed.");
|
|
makeOFConditionConst(WLM_EC_DatabaseStatementConfigFilesNotExistent, OFM_dcmwlm, 4, OF_error, "Database statement configuration files not existent.");
|
|
makeOFConditionConst(WLM_EC_CannotConnectToDataSource, OFM_dcmwlm, 5, OF_error, "Cannot connect to data source.");
|
|
|
|
/// number of currently supported matching key attributes
|
|
#define NUMBER_OF_SUPPORTED_MATCHING_KEY_ATTRIBUTES 17
|
|
|
|
/// structure for handling arbitrary types of superior sequences in query result datasets
|
|
struct DCMTK_DCMWLM_EXPORT WlmSuperiorSequenceInfoType
|
|
{
|
|
WlmSuperiorSequenceInfoType() : sequenceTag(), numOfItems(0), currentItem(0)
|
|
{ }
|
|
|
|
/// pointer to sequence element
|
|
DcmTagKey sequenceTag;
|
|
/// number of items within this sequence element
|
|
unsigned long numOfItems;
|
|
/// currently processed item
|
|
unsigned long currentItem;
|
|
};
|
|
|
|
|
|
#endif
|