95 lines
2.5 KiB
C++
95 lines
2.5 KiB
C++
/*
|
|
*
|
|
* Copyright (C) 1993-2011, 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: Marco Eichelberg
|
|
*
|
|
* Purpose: class DcmQueryRetrieveFindContext
|
|
*
|
|
*/
|
|
|
|
#ifndef DCMQRCBF_H
|
|
#define DCMQRCBF_H
|
|
|
|
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
|
|
#include "dcmtk/dcmnet/dimse.h"
|
|
#include "dcmtk/dcmqrdb/qrdefine.h"
|
|
|
|
class DcmQueryRetrieveDatabaseHandle;
|
|
class DcmQueryRetrieveOptions;
|
|
|
|
/** this class maintains the context information that is passed to the
|
|
* callback function called by DIMSE_findProvider.
|
|
*/
|
|
class DCMTK_DCMQRDB_EXPORT DcmQueryRetrieveFindContext
|
|
{
|
|
public:
|
|
/** constructor
|
|
* @param handle reference to database handle
|
|
* @param options options for the Q/R service
|
|
* @param priorStat prior DIMSE status
|
|
*/
|
|
DcmQueryRetrieveFindContext(
|
|
DcmQueryRetrieveDatabaseHandle& handle,
|
|
const DcmQueryRetrieveOptions& options,
|
|
DIC_US priorStat)
|
|
: dbHandle(handle)
|
|
, options_(options)
|
|
, priorStatus(priorStat)
|
|
, ourAETitle()
|
|
{
|
|
}
|
|
|
|
/** set the AEtitle under which this application operates
|
|
* @param ae AEtitle, is copied into this object.
|
|
*/
|
|
void setOurAETitle(const char *ae)
|
|
{
|
|
if (ae) ourAETitle = ae; else ourAETitle.clear();
|
|
}
|
|
|
|
/** callback handler called by the DIMSE_storeProvider callback function.
|
|
* @param cancelled (in) flag indicating whether a C-CANCEL was received
|
|
* @param request original find request (in)
|
|
* @param requestIdentifiers original find request identifiers (in)
|
|
* @param responseCount find response count (in)
|
|
* @param response find response (out)
|
|
* @param responseIdentifiers find response identifiers (out)
|
|
* @param stDetail status detail for find response (out)
|
|
*/
|
|
void callbackHandler(
|
|
OFBool cancelled, T_DIMSE_C_FindRQ *request,
|
|
DcmDataset *requestIdentifiers, int responseCount,
|
|
T_DIMSE_C_FindRSP *response,
|
|
DcmDataset **responseIdentifiers,
|
|
DcmDataset **stDetail);
|
|
|
|
private:
|
|
|
|
/// reference to database handle
|
|
DcmQueryRetrieveDatabaseHandle& dbHandle;
|
|
|
|
/// reference to Q/R service options
|
|
const DcmQueryRetrieveOptions& options_;
|
|
|
|
/// prior DIMSE status
|
|
DIC_US priorStatus;
|
|
|
|
/// our current title
|
|
OFString ourAETitle;
|
|
|
|
};
|
|
|
|
#endif
|