BUSClient.Stream.hpp 928 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #pragma once
  2. #include <functional>
  3. class NetBuffer;
  4. class BUSNetSend;
  5. class BUSNetSendStream;
  6. #ifndef _ServiceBus_DLL
  7. #define _ServiceBus_API _declspec(dllimport)
  8. #else
  9. #define _ServiceBus_API _declspec(dllexport)
  10. #endif
  11. namespace ECOM
  12. {
  13. namespace ServiceBus
  14. {
  15. namespace Controller
  16. {
  17. //-----------------------------------------------------------------------------
  18. // BUSStream
  19. //-----------------------------------------------------------------------------
  20. class _ServiceBus_API BUSStream
  21. {
  22. private:
  23. NetBuffer * m_NetBuffer;
  24. public:
  25. BUSStream (BUSStream && stream);
  26. BUSStream (const BUSStream & stream);
  27. private:
  28. BUSStream (NetBuffer * buf);
  29. public:
  30. void Write (const void * pData, int length);
  31. private:
  32. bool Send (NetBuffer * PDU, const void * pData, int length);
  33. friend BUSNetSendStream;
  34. };
  35. }
  36. }
  37. };
  38. typedef std::function <void (ECOM::ServiceBus::Controller::BUSStream)> funstream;