Serial.cpp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #include "stdafx.h"
  2. #include "kernel.h"
  3. #include "resource.h"
  4. #include "Serial.h"
  5. #include "Client2SrvType.h"
  6. #pragma warning (disable : 4244)
  7. //---------------------------------------------- CComX ------------
  8. IMPLEMENT_SERIAL(CSerial, CChannel, 0)
  9. CSerial::CSerial():CChannel()
  10. {
  11. m_nAddr = 0;
  12. m_nBaudRate = 2;
  13. m_nByteSize = 2;
  14. m_nParity = 2;
  15. m_nStopBits = 2;
  16. m_bDTRDSR = FALSE;
  17. m_bRTSCTS = FALSE;
  18. m_bXONXOFF = FALSE;
  19. }
  20. CSerial &CSerial::operator=(CSerial& serial)
  21. {
  22. *(CChannel*)this = *(CChannel*)&serial;
  23. m_strPort = serial.m_strPort;
  24. m_nAddr = serial.m_nAddr;
  25. m_nBaudRate = serial.m_nBaudRate;
  26. m_nByteSize = serial.m_nByteSize;
  27. m_nParity = serial.m_nParity;
  28. m_nStopBits = serial.m_nStopBits;
  29. m_bDTRDSR = serial.m_bDTRDSR;
  30. m_bRTSCTS = serial.m_bRTSCTS;
  31. m_bXONXOFF = serial.m_bXONXOFF;
  32. return *this;
  33. }
  34. CChannel* CSerial::Clone(void)
  35. {
  36. CSerial* pSerial = new CSerial;
  37. *pSerial = *this;
  38. return pSerial;
  39. }
  40. void CSerial::Serialize(CArchive& ar)
  41. {
  42. CChannel::Serialize(ar);
  43. if(ar.IsStoring())
  44. {
  45. ar << m_strPort;
  46. ar << m_nAddr;
  47. ar << m_nBaudRate;
  48. ar << m_nByteSize;
  49. ar << m_nParity;
  50. ar << m_nStopBits;
  51. ar << m_bDTRDSR;
  52. ar << m_bRTSCTS;
  53. ar << m_bXONXOFF;
  54. }
  55. else
  56. {
  57. ar >> m_strPort;
  58. ar >> m_nAddr;
  59. ar >> m_nBaudRate;
  60. ar >> m_nByteSize;
  61. ar >> m_nParity;
  62. ar >> m_nStopBits;
  63. ar >> m_bDTRDSR;
  64. ar >> m_bRTSCTS;
  65. ar >> m_bXONXOFF;
  66. }
  67. }