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

73 lines
1.5 KiB
C++

/*
*
* Copyright (C) 2015, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
*
* OFFIS e.V.
* R&D Division Health
* Escherweg 2
* D-26121 Oldenburg, Germany
*
*
* Module: dcmfg
*
* Author: Michael Onken
*
* Purpose: Class for reading, accessing and writing stacks
*
*/
#ifndef STACKINTERFACE_H
#define STACKINTERFACE_H
#include "dcmtk/config/osconfig.h"
#include "dcmtk/ofstd/ofmap.h"
#include "dcmtk/ofstd/ofstring.h"
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmfg/fginterface.h"
#include "dcmtk/dcmfg/stack.h"
// Forward declaration
class FGFrameContent;
/** Class for convenient access of stacks within an Enhanced DICOM object
*/
class DCMTK_DCMFG_EXPORT FGStackInterface
{
public:
FGStackInterface();
OFBool checkConsistency(FGInterface* fgContext = NULL);
virtual void clear();
virtual ~FGStackInterface();
virtual OFBool addStack(FGStack* stack);
virtual OFCondition read(FGInterface& fgSource);
virtual OFCondition write(FGInterface& fgDestination);
size_t numStacks() const;
protected:
FGFrameContent* ensureFrameContentFG(const Uint32 frameNo,
FGInterface& fg);
// Returns number of errors
virtual size_t checkContext(FGStack* stack,
FGInterface* context);
private:
/// The stacks found
OFMap<OFString, FGStack*> m_Stacks;
};
#endif // STACKINTERFACE_H