#ifndef CSDCM_H
#define CSDCM_H

#include "common.h"

#include "dcmtk/dcmdata/dctag.h"
#include "dcmtk/dcmdata/dctagkey.h"
#include "dcmtk/ofstd/ofstring.h"

#include <vector>
#include <map>
using namespace std;

class CSDCM
{
public:
    CSDCM();
    CSDCM(DcmTagKey nKey);
    virtual ~CSDCM();

    map<DcmTagKey, CSDCM*>* GetSequenceList();

    void InsertTagValue(DcmTagKey nKey, OFString& strData);

    CSDCM* InsertSequence(DcmTagKey nKey);

protected:
    map<DcmTagKey, OFString>* m_pListTag;
    map<DcmTagKey, CSDCM*>* m_pListChild;

    DcmTagKey m_DcmTagKey;
};

#endif // CSDCM_H
