IO.NetStream.hpp 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. #pragma once
  2. #include "IO.NetSocket.hpp"
  3. #include "IO.Stream.hpp"
  4. #ifndef _IO_NetStream_EXPORTS
  5. #define _IO_NetStream_API _declspec(dllimport)
  6. #else
  7. #define _IO_NetStream_API _declspec(dllexport)
  8. #endif
  9. #ifndef _IO_NetStream_EXPORTS
  10. #ifdef _WIN64
  11. #ifdef _DEBUG
  12. #pragma comment (lib, "ECOM.IO.NetStream64D.lib")
  13. #else
  14. #pragma comment (lib, "ECOM.IO.NetStream64.lib")
  15. #endif
  16. #else // X86
  17. #ifdef _DEBUG
  18. #pragma comment (lib, "ECOM.IO.NetStreamD.lib")
  19. #else
  20. #pragma comment (lib, "ECOM.IO.NetStream.lib")
  21. #endif
  22. #endif
  23. #endif // _IO_NetStream_EXPORTS
  24. //-----------------------------------------------------------------------------
  25. // INetStream, ONetStream
  26. //-----------------------------------------------------------------------------
  27. namespace ECOM::IO::Network
  28. {
  29. class _IO_NetStream_API INetStream : public ECOM::IO::Stream::IStream
  30. {
  31. using base = ECOM::IO::Stream::IStream;
  32. public:
  33. INetStream (std::shared_ptr <ECOM::IO::Network::Socket> holder);
  34. INetStream (INetStream && from) : base (from.m_NIB)
  35. {
  36. from.m_NIB = nullptr;
  37. }
  38. INetStream & operator = (INetStream && from)
  39. {
  40. m_NIB = from.m_NIB;
  41. from.m_NIB = nullptr;
  42. return (*this);
  43. }
  44. INetStream (const INetStream & from) = delete;
  45. INetStream & operator = (const INetStream & from) = delete;
  46. virtual ~INetStream ();
  47. eSTR::DString ToString () const override;
  48. int SetTimeOut (int secTimeOut);
  49. };
  50. class _IO_NetStream_API ONetStream : public ECOM::IO::Stream::OStream
  51. {
  52. using base = ECOM::IO::Stream::OStream;
  53. public:
  54. ONetStream (std::shared_ptr <ECOM::IO::Network::Socket> holder);
  55. ONetStream (ONetStream && from) : base (from.m_NOB)
  56. {
  57. from.m_NOB = nullptr;
  58. }
  59. ONetStream & operator = (ONetStream && from)
  60. {
  61. m_NOB = from.m_NOB;
  62. from.m_NOB = nullptr;
  63. return (*this);
  64. }
  65. ONetStream (const ONetStream & from) = delete;
  66. ONetStream & operator = (const ONetStream & from) = delete;
  67. virtual ~ONetStream ();
  68. eSTR::DString ToString () const override;
  69. int SetTimeOut (int secTimeOut);
  70. };
  71. }