DYT/Tool/3rdParty_x64/include/dcmtk/dcmsign/sitstamp.h
2024-11-22 23:19:31 +08:00

67 lines
1.5 KiB
C++

/*
*
* Copyright (C) 1998-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: dcmsign
*
* Author: Marco Eichelberg
*
* Purpose:
* classes: SiTimeStamp
*
*/
#ifndef SITSTAMP_H
#define SITSTAMP_H
#include "dcmtk/config/osconfig.h"
#include "dcmtk/dcmsign/sitypes.h"
#ifdef WITH_OPENSSL
class DcmItem;
/** pure virtual base class for a timestamp client.
* Instances of derived classes are able to request timestamps from a timestamp service.
* Timestamps are not supported (yet).
*/
class DCMTK_DCMSIGN_EXPORT SiTimeStamp
{
public:
/// default constructor
SiTimeStamp() { }
/// destructor
virtual ~SiTimeStamp() { }
/** takes a block of raw data and requests a time stamp for this raw data.
* @param inputData pointer to raw data
* @param inputDataSize length of raw data block in bytes
* @return status code
*/
virtual OFCondition stamp(
const unsigned char *inputData,
unsigned long inputDataSize) = 0;
/** writes the current timestamp into an item of the Digital Signatures Sequence
* and creates the timestamp type information in the item.
* @param item item of the DigitalSignatureSQ to which the timestamp is written
* @return dcmdata OFCondition status code
*/
virtual OFCondition write(DcmItem& item) = 0;
};
#endif
#endif