+ SysLog(NID_IO, "Try to open serialport");
+ r = __pSerialPortImpl->SerialOpen();
+ SysTryReturnResult(NID_IO, r == E_SUCCESS, E_SYSTEM, "It is failed to open serial port.");
+
+ SysLog(NID_IO, "Try to register event");
+ r = __pSerialPortImpl->SetSerialPortEventListener(listener);
+ if(r != E_SUCCESS)
+ {
+ SysLogException(NID_IO, E_SYSTEM, "It is failed to register event listener.");
+ r = __pSerialPortImpl->SerialClose();
+ SysTryReturnResult(NID_IO, r == E_SUCCESS, E_SYSTEM, "It is failed to close serial port.");
+
+ r = E_SYSTEM;
+ }
+
+ return r;