123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- #pragma once
- #include "BUSClient.MainEntry.hpp"
- namespace BUSC = ECOM::ServiceBus::Controller;
- #ifndef _ServiceBus_DLL
- #define _ServiceBus_API _declspec(dllimport)
- #else
- #define _ServiceBus_API _declspec(dllexport)
- #endif
- class PushFileServer;
- namespace ECOM
- {
- namespace ServiceBus
- {
- namespace Controller
- {
- class _ServiceBus_API MessageClient;
- };
- namespace MemMapExchDicomFile
- {
- class _ServiceBus_API PushManager
- {
- public:
- static void SetLogFileName (PCTSTR FileName);
- static void Prepare ();
- static void Quit ();
- // 设置缺省的超时, 单位: 毫秒
- static void SetDefTimeOut (int msTimeOut);
- };
- class _ServiceBus_API PushDicomFile_Base
- {
- protected:
- PushDicomFile_Base (PCTSTR TargetID);
- public:
- virtual ~PushDicomFile_Base ();
- public:
- void SetTransactionID (DWORD ID);
- // 立即发送
- bool PushFile (ECOM::DICOM::DICOMFile * DicomFile, int msTimeOut = gDefMSTimeOut);
- // 立即发送, 带附加参数
- bool PushFile (ECOM::DICOM::DICOMFile * DicomFile, DString UserInfo, int msTimeOut = gDefMSTimeOut);
- // 通知接收方, 交易开始
- void BeginTransaction ();
- // 通知接收方, 交易结束, 立即发送
- void EndTransactionNow ();
- protected:
- DWORD m_TransactionID;
- bool m_bTargetOnline;
- DString m_TargetID;
- Controller::MessageClient * m_Client;
- protected:
- friend PushManager;
- static int gDefMSTimeOut;
- };
- class _ServiceBus_API PushDicomFile : public PushDicomFile_Base
- {
- public:
- PushDicomFile (PCTSTR SourceID, PCTSTR TargetID);
- PushDicomFile (const PushDicomFile &) = delete;
- PushDicomFile (PushDicomFile &&) = delete;
- PushDicomFile & operator = (const PushDicomFile &) = delete;
- public:
- // 后台发送
- bool PostFile (ECOM::DICOM::DICOMFile * DicomFile);
- // 通知接收方, 交易结束
- void EndTransaction ();
- friend class PushFileServer;
- };
- class _ServiceBus_API FixedPushDicomFile : public PushDicomFile_Base
- {
- public:
- FixedPushDicomFile (PCTSTR SourceID, PCTSTR TargetID, int Port = BUSC::LegacySendPort);
- FixedPushDicomFile (const FixedPushDicomFile &) = delete;
- FixedPushDicomFile (FixedPushDicomFile &&) = delete;
- FixedPushDicomFile & operator = (const FixedPushDicomFile &) = delete;
- public:
- // 后台发送
- bool PostFile (ECOM::DICOM::DICOMFile * DicomFile);
- // 通知接收方, 交易结束
- void EndTransaction ();
- private:
- int m_Port;
- };
- }
- }
- };
|