#pragma once #ifndef CSCALLBACK_H #define CSCALLBACK_H #include #define CALLBACK_INFO(pInfo, nState)\ {\ if (pInfo != NULL)\ {\ pInfo->ProgressInfo(nState);\ }\ } #define CALLBACK_STATE(pInfo, nProgressBytes, nTotalBytes)\ {\ if (pInfo != NULL)\ {\ pInfo->ProgressState(nProgressBytes, nTotalBytes);\ }\ } #define CALLBACK_ERROR(pInfo, nState)\ {\ if (pInfo != NULL)\ {\ pInfo->ProgressError(nState);\ }\ } #define CALLBACK_COMPLETE(pInfo)\ {\ if (pInfo != NULL)\ {\ pInfo->ProgressComplete();\ }\ } //#include "SDCMState.h" #include "dcmtk/dcmdata/dctag.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "SDCMCommonStructure.h" #include #include using namespace std; class CSCallback { public: CSCallback(); virtual ~CSCallback(); virtual void ProgressInfo(int nState); virtual void ProgressError(int nState); virtual void ProgressComplete(); virtual void ProgressState(int nProgressBytes, int nTotalBytes); QString GetStateString(int nState); virtual void Clear(); protected: map m_MapString; BOOL m_bErrorExist; int m_nErrorCode; }; #endif