123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- #pragma once
- class DelegateArgs;
- #include "BUSClient.MainEntry.hpp"
- namespace BUSC = ECOM::ServiceBus::Controller;
- #ifndef _ServiceBus_DLL
- #define _ServiceBus_API _declspec(dllimport)
- #else
- #define _ServiceBus_API _declspec(dllexport)
- #endif
- namespace ECOM
- {
- namespace ServiceBus
- {
- namespace Controller
- {
- class _ServiceBus_API MessageClient;
- };
- namespace MemMapExchDicomFile
- {
- class _ServiceBus_API PullManager
- {
- public:
- static void SetLogFileName (const char * FileName);
- static void Prepare ();
- static void Quit ();
- // 设置缺省的超时, 单位: 毫秒
- static void SetDefTimeOut (int msTimeOut);
- static bool GetDicomFile (DString Message, ECOM::DICOM::DICOMFile * DicomFile);
- };
- class _ServiceBus_API PullDicomFile_Base
- {
- protected:
- PullDicomFile_Base (PCTSTR SourceID, PCTSTR TargetID);
- PullDicomFile_Base (const PullDicomFile_Base &) = delete;
- PullDicomFile_Base (PullDicomFile_Base &&) = delete;
- PullDicomFile_Base & operator = (const PullDicomFile_Base &) = delete;
- public:
- virtual ~PullDicomFile_Base ();
- protected:
- virtual std::unique_ptr <Controller::MessageClient> GetClient () = 0;
- public:
- int PullFile (DString SOPInstanceUID, int msTimeOut = gDefMSTimeOut);
- int PullFileEx (DString Message, int msTimeOut = gDefMSTimeOut);
- int PullFileHeadEx (DString Message, int msTimeOut = gDefMSTimeOut);
- int PullImageByStudy (DString StudyInstanceUID , int msTimeOut = gDefMSTimeOut);
- int PullImageBySeries (DString SeriesInstanceUID, int msTimeOut = gDefMSTimeOut);
- protected:
- void OnBUSDummy (const void * sender, EventArgs_BUSMessage * e);
- void OnBUSPushDicomFile (const void * sender, EventArgs_BUSMessage * e);
- public:
- VectorOfPtr <ECOM::DICOM::DICOMFile> m_arFile;
- protected:
- DString m_SourceID;
- DString m_TargetID;
- Controller::MessageReceiver * m_Receiver;
- protected:
- friend PullManager;
- static int gDefMSTimeOut;
- };
- class _ServiceBus_API PullDicomFile : public PullDicomFile_Base
- {
- public:
- PullDicomFile (PCTSTR SourceID, PCTSTR TargetID);
- PullDicomFile (const PullDicomFile &) = delete;
- PullDicomFile (PullDicomFile &&) = delete;
- PullDicomFile & operator = (const PullDicomFile &) = delete;
- protected:
- virtual std::unique_ptr <Controller::MessageClient> GetClient () override;
- };
- class _ServiceBus_API FixedPullDicomFile : public PullDicomFile_Base
- {
- public:
- FixedPullDicomFile (PCTSTR SourceID, PCTSTR TargetID, int Port = BUSC::LegacyReceivePort);
- FixedPullDicomFile (const FixedPullDicomFile &) = delete;
- FixedPullDicomFile (FixedPullDicomFile &&) = delete;
- FixedPullDicomFile & operator = (const FixedPullDicomFile &) = delete;
- protected:
- virtual std::unique_ptr <Controller::MessageClient> GetClient () override;
- };
- }
- }
- };
|