00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef DCMQRDBA_H
00035 #define DCMQRDBA_H
00036
00037 #include "dcmtk/config/osconfig.h"
00038
00039 #define INCLUDE_CSTDLIB
00040 #define INCLUDE_CSTDIO
00041 #define INCLUDE_UNISTD
00042 #include "dcmtk/ofstd/ofstdinc.h"
00043 #include "dcmtk/ofstd/ofcond.h"
00044
00045 class DcmDataset;
00046 class DcmQueryRetrieveDatabaseStatus;
00047
00048 #ifndef MAXPATHLEN
00049 #define MAXPATHLEN 1024
00050 #endif
00051
00056 class DcmQueryRetrieveDatabaseHandle
00057 {
00058 public:
00059
00061 DcmQueryRetrieveDatabaseHandle() { }
00062
00067 virtual ~DcmQueryRetrieveDatabaseHandle();
00068
00078 virtual OFCondition makeNewStoreFileName(
00079 const char *SOPClassUID,
00080 const char *SOPInstanceUID,
00081 char *newImageFileName) = 0;
00082
00094 virtual OFCondition storeRequest(
00095 const char *SOPClassUID,
00096 const char *SOPInstanceUID,
00097 const char *imageFileName,
00098 DcmQueryRetrieveDatabaseStatus *status,
00099 OFBool isNew = OFTrue ) = 0;
00100
00114 virtual OFCondition startFindRequest(
00115 const char *SOPClassUID,
00116 DcmDataset *findRequestIdentifiers,
00117 DcmQueryRetrieveDatabaseStatus *status) = 0;
00118
00130 virtual OFCondition nextFindResponse(
00131 DcmDataset **findResponseIdentifiers,
00132 DcmQueryRetrieveDatabaseStatus *status) = 0;
00133
00140 virtual OFCondition cancelFindRequest(DcmQueryRetrieveDatabaseStatus *status) = 0;
00141
00155 virtual OFCondition startMoveRequest(
00156 const char *SOPClassUID,
00157 DcmDataset *moveRequestIdentifiers,
00158 DcmQueryRetrieveDatabaseStatus *status) = 0;
00159
00179 virtual OFCondition nextMoveResponse(
00180 char *SOPClassUID,
00181 char *SOPInstanceUID,
00182 char *imageFileName,
00183 unsigned short *numberOfRemainingSubOperations,
00184 DcmQueryRetrieveDatabaseStatus *status) = 0;
00185
00192 virtual OFCondition cancelMoveRequest(DcmQueryRetrieveDatabaseStatus *status) = 0;
00193
00197 virtual OFCondition pruneInvalidRecords() = 0;
00198
00202 virtual void setDebugLevel(int debugLevel) = 0;
00203
00209 virtual void setIdentifierChecking(OFBool checkFind, OFBool checkMove) = 0;
00210
00211 };
00212
00213
00217 class DcmQueryRetrieveDatabaseHandleFactory
00218 {
00219 public:
00228 virtual DcmQueryRetrieveDatabaseHandle *createDBHandle(
00229 const char *callingAETitle,
00230 const char *calledAETitle,
00231 OFCondition& result) const = 0;
00232
00235 virtual ~DcmQueryRetrieveDatabaseHandleFactory() {}
00236
00237 };
00238
00239 #endif
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261