WonXSerialPort.c 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /*****************************************************************************/
  2. /* ここから */
  3. /*****************************************************************************/
  4. #include "WonXSerialPortP.h"
  5. #include "WonX.h"
  6. /*****************************************************************************/
  7. /* メンバ関数の定義 */
  8. /*****************************************************************************/
  9. WWSerialPort WonXSerialPort_GetWWSerialPort(WonXSerialPort wonx_sp)
  10. { return (wonx_sp->ww_serial_port); }
  11. WWSerialPort WonXSerialPort_SetWWSerialPort(WonXSerialPort wonx_sp,
  12. WWSerialPort ww_sp)
  13. { return (wonx_sp->ww_serial_port = ww_sp); }
  14. UNIXSerialPort WonXSerialPort_GetUNIXSerialPort(WonXSerialPort wonx_sp)
  15. { return (wonx_sp->unix_serial_port); }
  16. UNIXSerialPort WonXSerialPort_SetUNIXSerialPort(WonXSerialPort wonx_sp,
  17. UNIXSerialPort unix_sp)
  18. { return (wonx_sp->unix_serial_port = unix_sp); }
  19. WonXSerialPort WonXSerialPort_Create()
  20. {
  21. WonXSerialPort wonx_serial_port;
  22. WWSerialPort ww_serial_port;
  23. UNIXSerialPort unix_serial_port;
  24. wonx_serial_port = (WonXSerialPort)malloc(sizeof(_WonXSerialPort));
  25. if (wonx_serial_port == NULL)
  26. WonX_Error("WonXSerialPort_Create", "Cannot allocate memory.");
  27. ww_serial_port = WWSerialPort_Create();
  28. if (ww_serial_port == NULL)
  29. WonX_Error("WonXSerialPort_Create",
  30. "Cannot create WonderWitch serial port.");
  31. WonXSerialPort_SetWWSerialPort(wonx_serial_port, ww_serial_port);
  32. unix_serial_port = UNIXSerialPort_Create();
  33. if (unix_serial_port == NULL)
  34. WonX_Error("WonXSerialPort_Create",
  35. "Cannot create UNIX serial port.");
  36. WonXSerialPort_SetUNIXSerialPort(wonx_serial_port, unix_serial_port);
  37. return (wonx_serial_port);
  38. }
  39. WonXSerialPort WonXSerialPort_Destroy(WonXSerialPort wonx_serial_port)
  40. {
  41. WWSerialPort ww_serial_port;
  42. UNIXSerialPort unix_serial_port;
  43. if (wonx_serial_port == NULL)
  44. WonX_Error("WonXSerialPort_Destroy", "Object is not created.");
  45. ww_serial_port = WonXSerialPort_GetWWSerialPort(wonx_serial_port);
  46. if (ww_serial_port)
  47. WonXSerialPort_SetWWSerialPort(wonx_serial_port,
  48. WWSerialPort_Destroy(ww_serial_port));
  49. unix_serial_port = WonXSerialPort_GetUNIXSerialPort(wonx_serial_port);
  50. if (unix_serial_port)
  51. WonXSerialPort_SetUNIXSerialPort(wonx_serial_port,
  52. UNIXSerialPort_Destroy(unix_serial_port));
  53. free(wonx_serial_port);
  54. return (NULL);
  55. }
  56. /*****************************************************************************/
  57. /* ここまで */
  58. /*****************************************************************************/
  59. /*****************************************************************************/
  60. /* End of File. */
  61. /*****************************************************************************/